[Issue 20023] Separate compilation breaks dip1000 / dip1008 @safety
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Mar 14 07:56:01 UTC 2020
https://issues.dlang.org/show_bug.cgi?id=20023
Walter Bright <bugzilla at digitalmars.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |bugzilla at digitalmars.com
Resolution|--- |WONTFIX
--- Comment #1 from Walter Bright <bugzilla at digitalmars.com> ---
This is explained because some of the checks are only done for modules that are
present on the command line. You can see this in the line:
if (sc._module && sc._module.isRoot() &&
https://github.com/dlang/dmd/blob/master/src/dmd/escape.d#L1205
You can find the isRoot() check in several places.
This is done to ease the transition to dip1000 by not checking code that is
only imported, presumably from 3rd party libraries which would be impractical
for the user to change himself.
Once dip1000 becomes thoroughly propagated to old libraries, this can be
tightened up, but not now.
--
More information about the Digitalmars-d-bugs
mailing list