November 23, 2023
https://issues.dlang.org/show_bug.cgi?id=24253

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

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

--- Comment #1 from FeepingCreature <default_357-line@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".

--