Bug 6328 – Functions using lazy argument cannot be inferred as @safe

Status
RESOLVED
Resolution
DUPLICATE
Severity
enhancement
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2011-07-15T14:08:00Z
Last change time
2011-12-21T19:31:25Z
Assigned to
nobody
Creator
kennytm

Comments

Comment #0 by kennytm — 2011-07-15T14:08:31Z
Test case: ------------------------------------ int f6328a()(lazy int x) { return x; } @safe int f6328b()(lazy int x) { // <-- adding a '@safe' is OK return x; } @safe int g6328() { return f6328a(1+1); // <-- but it won't be inferred as '@safe' } ------------------------------------ x.d(8): Error: safe function 'g6328' cannot call system function 'f6328a' ------------------------------------ I'm marking it as 'enhancement' because I don't know if this is intentional to avoid the lazy argument from calling unsafe code.
Comment #1 by k.hara.pg — 2011-12-21T19:31:25Z
*** This issue has been marked as a duplicate of issue 6690 ***