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)); }
ドキュメント読んでないので理由は不明。