/* REQUIRED_ARGS: -preview=dip1000 * TEST_OUTPUT: --- fail_compilation/test22840.d(25): Error: returning `sb.slice()` escapes a reference to local variable `sb` --- */ // inout method with inferred @safe escapes local data // https://issues.dlang.org/show_bug.cgi?id=22840 // See also: https://issues.dlang.org/show_bug.cgi?id=20149 struct S { int buf; auto slice() inout { return &buf; } } int* fun() @safe { S sb; return sb.slice(); // should error }