[Issue 11993] [REG][2.065] typeof(this) in template constraints wrong qualifiers

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Jan 25 09:07:04 PST 2014


https://d.puremagic.com/issues/show_bug.cgi?id=11993



--- Comment #3 from Kenji Hara <k.hara.pg at gmail.com> 2014-01-25 09:07:01 PST ---
(In reply to comment #1)
> https://github.com/D-Programming-Language/dmd/pull/3103
> 
> Might be responsible for this.

In 2.064 and earlier, there was nasty bug.

bool printType(T, size_t ln = __LINE__)()
{
    pragma(msg, T.stringof);
    return true;
}
struct S
{
    void foo()() const
    if (printType!(typeof(this)))
    {}

    const void bar()()
    if (printType!(typeof(this)))
    {}
}
void main()
{
    S s;
    s.foo();    // const(S)
    s.bar();    // S
}

When I opened #3103, I didn't know the bug, and to pass existing dmd test case
(test/runnable/opover2.d test15()), I was wrongly changed the behavior.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list