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。理由がよくわかりません。ご存知のかたはご教示ください。


環境は以下のとおりです。

  • Mac OSX 10.9.1
    • DMD64 D Compiler v2.064
  • Windows 7
    • DMD32 D Compiler v2.062
  • Cygwin
    • gdc.exe (GCC) 4.8.0 20130303 (experimental)