[Issue 7087] New: Produce compiler diagnostic when escaping slice to local static array

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Dec 9 15:34:54 PST 2011


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

           Summary: Produce compiler diagnostic when escaping slice to
                    local static array
           Product: D
           Version: unspecified
          Platform: x86_64
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: acehreli at yahoo.com


--- Comment #0 from Ali Cehreli <acehreli at yahoo.com> 2011-12-09 15:34:52 PST ---
Although both are "escaping reference to local" data, only one of the following
functions produces a compilation error.

int * ret_elem_ptr()
{
    int[3] a;
    return &a[0];   // GOOD: compilation ERROR
}

int[] ret_slice()
{
    int[3] a;
    return a[];     // BAD: no help
}

void main()
{}

It would be nice to receive a compilation error when returning a slice as well.
This would catch bugs, because programmers rely on slices' keeping their data
alive in most situation. Unfortunately that's not the case here.

Ali

-- 
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