https://issues.dlang.org/show_bug.cgi?id=22916
--- Comment #12 from Dennis <[email protected]> --- I've found a workaround for this issue by the way: convert the `ref` return to a pointer and dereference that to get the non-scope value. ``` // compile with -preview=dip1000 @safe: struct Arr { int** ptr; ref int* index() return scope { return *ptr; } void assign(int* p) scope { *ptr = p; } } void main() { scope Arr a; a.assign(*&a.index()); auto tmp = &a.index(); a.assign(*tmp); } ``` --
