[Issue 24253] fn "is not accessible from module" with overload reflection regressed in v2.105

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Nov 23 08:08:47 UTC 2023


https://issues.dlang.org/show_bug.cgi?id=24253

FeepingCreature <default_357-line at yahoo.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |default_357-line at yahoo.de

--- Comment #1 from FeepingCreature <default_357-line at yahoo.de> ---
Fwiw, that only ever worked "by coincidence" because the access check only
checked for structs and classes, and typeof(null) is a nullptr_t, which is
neither. I see what I did wrong in my PR, but I'm not sure that just putting
the previous check back in is the way to go. It was always weird.

Problem is that sema has a way to disable access check on a scope
(SCOPE.noaccesscheck), but afterwards the __traits(child) just becomes
`this_.fooImpl`, which is then rechecked in sema3 and fails access. I'd need a
way to mark the *access itself*, ie. the DotExp, as "no access check".

--


More information about the Digitalmars-d-bugs mailing list