[Issue 6328] New: Functions using lazy argument cannot be inferred as @safe

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Jul 15 14:13:47 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=6328

           Summary: Functions using lazy argument cannot be inferred as
                    @safe
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: kennytm at gmail.com


--- Comment #0 from kennytm at gmail.com 2011-07-15 14:08:31 PDT ---
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.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list