https://issues.dlang.org/show_bug.cgi?id=19545
--- Comment #7 from Salih Dincer <sali...@hotmail.com> --- No error, result is true: void main() { pragma(msg, __traits(compiles, inputRangeObject(RegexMatch!string.init))); inputRangeObject(RegexMatch!string.init); } //import std.range, std.regex;/* struct RegexMatch(T){} class InputRangeObject(R){ this(R){} R front(){ return R.init; } } InputRangeObject!R inputRangeObject(R)(R range) { return new InputRangeObject!R(range); }//*/ --