[Issue 23530] casting immutable away allowed in safe
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Dec 2 12:15:35 UTC 2022
https://issues.dlang.org/show_bug.cgi?id=23530
RazvanN <razvan.nitu1305 at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |razvan.nitu1305 at gmail.com
--- Comment #1 from RazvanN <razvan.nitu1305 at gmail.com> ---
dip1000 is not needed to reproduce this:
@safe void main()
{ immutable int x = 5; //alternatively const
int* b = &(cast()x);
}
This used to fail compilation with a wrong error message: Error: `cast(int)x`
is not an lvalue and cannot be modified.
So I assume that at some point it wasn't possible to take the address of a
cast. When safe was implemented they probably took this into account and later
on when the cast was allowed someone probably forgot to update the safety
check.
--
More information about the Digitalmars-d-bugs
mailing list