https://issues.dlang.org/show_bug.cgi?id=20309
--- Comment #2 from Jan Jurzitza <d.b...@webfreak.org> --- you are right, it makes sense that it creates a new object for each instantiation. However this would mean that maybe the isInputRange check or whatever tempCString and others are using, should not allow such a construct which always returns a new instance --