← Back to index
|
Original Bugzilla link
Bug 9689 – std.typecons.Proxy breaks with @disable this(this)
Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-03-11T07:31:00Z
Last change time
2013-03-11T13:13:30Z
Keywords
pull, rejects-valid
Assigned to
nobody
Creator
zan77137
Comments
Comment #0
by zan77137 — 2013-03-11T07:31:13Z
This code breaks on dmd git HEAD: import std.typecons; struct B(T) { T a; @disable this(this); mixin std.typecons.Proxy!a; } struct S { B!int a; } void main() { B!S b; } ------- This code is compilable on dmd 2.062.
Comment #1
by k.hara.pg — 2013-03-11T08:29:29Z
(In reply to comment #0) That is introduced this commit:
https://github.com/D-Programming-Language/dmd/commit/391addfda30738089ca220f0d9f025e3842deb1f
Simplified test case: struct B(T) { T val; @disable this(this); bool opEquals(this X, B)(auto ref B b) { pragma(msg, "+", X, ", B = ", B, ", ref = ", __traits(isRef, b)); return this.val == b.val; pragma(msg, "-", X, ", B = ", B, ", ref = ", __traits(isRef, b)); } } struct S { B!int num; } void main() { B!S b; }
Comment #2
by k.hara.pg — 2013-03-11T09:18:55Z
https://github.com/D-Programming-Language/dmd/pull/1738
Comment #3
by github-bugzilla — 2013-03-11T13:11:50Z
Commits pushed to master at
https://github.com/D-Programming-Language/dmd
https://github.com/D-Programming-Language/dmd/commit/880cbefaf30e5d57efb6c1659eacd967ad8855c3
fix Issue 9689 - std.typecons.Proxy breaks with @disable this(this)
https://github.com/D-Programming-Language/dmd/commit/c63a0a1f864bdcf4cb2fcbee9428e9a35d821c43
Merge pull request #1738 from 9rnsr/fix9689 [REG2.063a] Issue 9689 - std.typecons.Proxy breaks with @disable this(this)