[Issue 15309] [dmd-internal] ScopeExp.semantic() should set its type always

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Mon Feb 1 03:56:20 PST 2016


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

Kenji Hara <k.hara.pg at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #7 from Kenji Hara <k.hara.pg at gmail.com> ---
(In reply to Martin Nowak from comment #6)
> Trying to fix this I arrived at the following conclusion.
> https://github.com/D-Programming-Language/dmd/pull/5366#issuecomment-
> 174946328
> 
> > It's also a deeper problem, because ScopeExp can't know whether it's used in a
> > function call with arguments or in a typeof expression, it's not possible to 
> > resolve the template instance only within ScopeExp. Subsequently ScopeExp
> > should be what it's doc comment says `Mainly just a placeholder`, and do
> > nothing (or better `assert(0)`) in it's semantic function.
> > Anything involving a ScopeExp must be handled above it (using the template
> > instance stored in the ScopeExp).

We can easily check that a ScopeExp is a partial instantiation or not.

https://github.com/D-Programming-Language/dmd/pull/5390

--


More information about the Digitalmars-d-bugs mailing list