Bug 9974 – immutable class constructor is broken

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-04-21T05:34:00Z
Last change time
2013-04-21T13:52:06Z
Keywords
pull, rejects-valid
Assigned to
nobody
Creator
zan77137

Comments

Comment #0 by zan77137 — 2013-04-21T05:34:23Z
This code doesn't work(on git head master): ----------- immutable class A { this(){} } void main() { immutable a = new immutable A(); } ----------- A result of git bisect is this commit: https://github.com/D-Programming-Language/dmd/commit/599ba0718771b25d255e14175cc8bd31d2a1842e According to this commit, it is right behavior that following code become errors: ----------- class A { this(){} } void main() { immutable a = new immutable A(); } ----------- On the other hand, following code is compiled correctly: ----------- class A { this() immutable {} } void main() { immutable a = new immutable A(); } ----------- In *immutable class*, the result that is equal to the latter is expected.
Comment #1 by k.hara.pg — 2013-04-21T07:39:19Z
Comment #2 by github-bugzilla — 2013-04-21T12:29:07Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/883056cdc02854206f0288f3712331f927c95975 fix Issue 9974 - immutable class constructor is broken https://github.com/D-Programming-Language/dmd/commit/f0469e57317f5791726d0c4e803e0085a05b9a2c Merge pull request #1918 from 9rnsr/fix9974 Issue 9974 - immutable class constructor is broken