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: [email protected]
ReportedBy: [email protected]
--- Comment #0 from Nils <[email protected]> 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: -------