D 言語の isOutputRange の解せぬ挙動
なんで以下の 7 行目で AssertError が発生するのでしょうか。
import std.range; void main() { assert(isInputRange!(bool[])); assert(isOutputRange!(bool[], bool)); assert(isInputRange!(char[])); assert(isOutputRange!(char[], char)); // これが失敗 }
すべての型は試していないのですが、char、wchar はダメで、dchar は OK。理由がよくわかりません。ご存知のかたはご教示ください。
環境は以下のとおりです。