https://issues.dlang.org/show_bug.cgi?id=14998
--- Comment #6 from schneider.ced...@gmx.de --- "Cannot put a <failed-type> into a <range-type> because it is not a <range-element-type>" would not need to be special-cased since the special-casing already happens in the template that retrieves the ranges element type (if I am understanding correctly, maybe the code creating the error message does not have all necessary information, though). That aside, it certainly would have stopped me from opening this issue and instead go and read some more about ranges and strings in D because that error message clearly indicates that I am missing something. But I obviously do not speak for everyone and improving on the situation by adding a better error message is obviously not a fail-safe. I am pretty sure tiny things like that do help, though, considering that changing the string-handling everywhere is obviously not a possibility :-). --