謎's キッチン

謎のひとりごと。Amazon欲しい物リストはこちら: https://www.amazon.co.jp/hz/wishlist/ls/CCPOV7C6JTD2

enumとinvariantの違いを見つけた

コードがいびつなのは別のコードの流用だから。

private import std.stdio;
template test(char[] str){
  enum ubyte[] test=cast(ubyte[])str;
}
//invariant t=[cast(char)0,1,2,3];//ok
void main(){
  enum t=[cast(char)0,1,2,3];//ok
  //invariant t=[cast(char)0,1,2,3];//error
  writefln(test!(t));
}

ドキュメント読んでないので理由は不明。