September 28, 2014 [Issue 13550] New: Inner functions take outer function attributes erroneously | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=13550 Issue ID: 13550 Summary: Inner functions take outer function attributes erroneously Product: D Version: D2 Hardware: x86 OS: Windows Status: NEW Keywords: rejects-valid Severity: normal Priority: P1 Component: DMD Assignee: nobody@puremagic.com Reporter: bearophile_hugs@eml.cc Code like this looks correct: auto foo() @nogc { static int[] bar() { return new int[2]; } return &bar; } void main() { auto g = foo(); assert(g() == [0, 0]); } But DMD 2.067alpha gives: test.d(3,15): Error: cannot use 'new' in @nogc function foo Inner functions take outer function attributes even if (I think) they shouldn't. -- |
Copyright © 1999-2021 by the D Language Foundation