Bug 14376 – [REG2.064] false positive "Error: one path skips field"

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2015-03-29T22:41:00Z
Last change time
2015-06-17T21:04:23Z
Keywords
pull, rejects-valid
Assigned to
nobody
Creator
ag0aep6g

Comments

Comment #0 by ag0aep6g — 2015-03-29T22:41:55Z
Fails with "test.d(6): Error: one path skips field x". Should be accepted. struct ParameterValue { typeof(f()) x; this(int dummy) { if(true) this.x = f(); /* line 6 */ else assert(false); } } auto f() { return MapResult!(e => 0)(); } struct MapResult(alias pred) { @property int front() {return pred(0);} }
Comment #1 by dlang-bugzilla — 2015-03-30T18:01:52Z
This code compiles in 2.063.
Comment #2 by dlang-bugzilla — 2015-03-30T18:22:26Z
Comment #3 by k.hara.pg — 2015-04-05T05:44:37Z
https://github.com/D-Programming-Language/dmd/pull/4557 The field initialization check and this/super call check are implemented by using same logic. So there's a similar issue 14409.
Comment #4 by github-bugzilla — 2015-04-06T19:37:51Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/8691c0c3579107b48e044e01ac340d86f00f885a fix Issue 14376 - false positive "Error: one path skips field" https://github.com/D-Programming-Language/dmd/commit/e50b2c90e7cd4b2ceb4c887faecc5d8dd5d9534a Merge pull request #4557 from 9rnsr/fix14376 [REG2.064] Issue 14376 - false positive "Error: one path skips field"
Comment #5 by github-bugzilla — 2015-04-17T14:09:51Z
Commit pushed to stable at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/7b6fbfac6b0ace5628dbee85fa6eabfd36f585df Merge pull request #4557 from 9rnsr/fix14376 [REG2.064] Issue 14376 - false positive "Error: one path skips field" Conflicts: src/expression.c
Comment #6 by github-bugzilla — 2015-04-26T00:04:39Z
Comment #7 by github-bugzilla — 2015-06-17T21:04:23Z