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!

Reply via email to