[Issue 18792] Incorrect scope analysis with -dip1000 for small-sized-optimized string
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Jun 10 19:22:40 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=18792
Dennis <dkorpel at live.nl> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |dkorpel at live.nl
Resolution|--- |DUPLICATE
Severity|enhancement |normal
--- Comment #5 from Dennis <dkorpel at live.nl> ---
I know this issue was first, but 21868 already got a pull.
It is the same problem: `return scope` without `ref return` applies return the
values (e.g. SSOString.raw.ptr), not the address of SSOString itself (e.g.
SSOString.small.data.ptr), but the compiler doesn't check for return-scope or
return-ref, just return. The declaration of `Raw raw` is needed because
otherwise SSOString has no pointers, so return scope is stripped away, so the
compiler can't mistake the return attribute anymore and raises the correct
error.
*** This issue has been marked as a duplicate of issue 21868 ***
--
More information about the Digitalmars-d-bugs
mailing list