On Thu, Mar 16, 2017 at 10:40:51AM -0700, H. S. Teoh via Digitalmars-d-learn
wrote:
[...]
> Is implicit slicing the culprit in the issue I just filed? (Bug 17261)
>
> In retrospect, perhaps implicit casting to immutable is OK if we don't
> allow implicit slicing:
>
> char[32] func() { char[32] s; return s; }
> string gunk() {
> string x = func(); // error, if implicit slicing is not allowed
Actually, the bug still exists even if you explicitly slice it:
string x = func()[]; // still compiles, but shouldn't
For some reason, slicing a static array return value is somehow OK,
while slicing a local variable is rejected. Seems like the compiler is
missing escaping ref checks for return values?
T
--
People tell me I'm stubborn, but I refuse to accept it!