https://issues.dlang.org/show_bug.cgi?id=17818
Jonathan M Davis <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |[email protected] | |m Hardware|x86 |All Resolution|--- |INVALID OS|Windows |All --- Comment #1 from Jonathan M Davis <[email protected]> --- As was pointed out in the forum, this is not a bug: http://forum.dlang.org/thread/[email protected]#post-ooui7v:241er1:241:40digitalmars.com Rather, it's the result of a compiler bug being fixed. std.container.array,RangeT is private, and it's not supposed to be possible to refer to it by name any more than it's possible to refer to the result of almost any range-based function by name (though most of them use Voldemort types, whereas std.container.array is just making the type private). The buggy behavior that made it possoble has been deprecated - hence the deprecation message - and you need to update your code so that it does not refer to RangeT by name. In general, code should be using auto for the type of range variables, and when the type name is actually needed (e.g. for a member variable declaration), then using typeof on the expression that results in the range will give you the type (and if you need refer to it multiple times in ways that won't work with auto, then you can always alias the result of typeof to then have an explicit type name to use). --
