[Issue 8906] New: purity inference failure with opAssign and alias this

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Oct 29 02:36:45 PDT 2012


http://d.puremagic.com/issues/show_bug.cgi?id=8906

           Summary: purity inference failure with opAssign and alias this
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: nilsbossung at googlemail.com


--- Comment #0 from Nils <nilsbossung at googlemail.com> 2012-10-29 02:36:33 PDT ---
---
cat > test.d <<CODE
struct S() { // needs to be a template to trigger the bug
    void impl()(int) {} // template for purity inference

    // unused, needed to trigger the bug:
    int i;
    alias i this;
    alias impl opAssign;
}

pure void p() {
    S!() s;
    s.impl(42);
}

alias S!() Dummy; // unused, needed to trigger the bug
CODE
dmd -c -o- test.d
---
test.d(12): Error: pure function 'p' cannot call impure function 'impl'
---

Looks like alias this and opAssign clash somehow.

Works with 2.060. Fails since this commit:
https://github.com/D-Programming-Language/dmd/commit/9ee798f73a2f7765a68bbe8f40ff292f551dab72

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


More information about the Digitalmars-d-bugs mailing list