Skip to content

v0.8.0

Compare
Choose a tag to compare
@niuez niuez released this 09 Nov 06:12
· 71 commits to master since this release
5cf47d4
  • Features
    • trait Clone
      • clone関数で定義
      • Cloneを定義するとコピーコンストラクタと代入演算子が定義される
      • CloneをC++側ではstd::is_copy_assignableで判定する #87
    • move #74
      • Rustのようにデフォルトでstd::moveが入るようになった
      • moveした変数やメンバ変数は使えないように
      • 再代入したときに生き返る
      • Copyトレイトを実装した型はmoveせずそのままコピー
    • foreach statement #74
      • for v in vec
        • vecの中身を順番にmove
        • std::beginstd::make_move_iteratorを利用
      • for v in &vec
        • vecの中身をconst T&で取得
        • std::cbeginを利用
      • for v in &mut vec
        • vecの中身をT&で取得
          -std::beginを利用
    • elseなしif #79
      • ifのブロックがvoidを返す場合, elseなしでも書けるように
    • tuple #82 #86
      • (i64, u64, bool)のように書く
      • unpack let (a, b, (c, d)) = (1, 2, (3, 4));
      • indexing let t = (0, 1, 2); t0 = t.0
      • std/tuple.niuによってtupleの中の型それぞれがClone, Copy, Eq, Ordを持っていれば, そのトレイトが実装される #88