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

--- Comment #0 from Ali Cehreli <> 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.


Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to