Bug 9590 – UFCS does not work with void lazy expressions

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-02-25T18:03:00Z
Last change time
2013-04-24T03:41:56Z
Keywords
pull, rejects-valid
Assigned to
nobody
Creator
andrej.mitrovich

Comments

Comment #0 by andrej.mitrovich — 2013-02-25T18:03:15Z
private auto test(E)(lazy E expr) { } int f1() { assert(0); } void f2() { assert(0); } void main() { test(f1()); // ok, no exceptions (lazy) f1().test; // ok, no exceptions (lazy) test(f2()); // ok, no exceptions (lazy) f2().test; // L12: NG } $ test.d(12): Error: no property 'test' for type 'void'
Comment #1 by k.hara.pg — 2013-04-24T01:01:53Z
Problem fixed in 2.063a. https://github.com/D-Programming-Language/dmd/pull/1929 The pull request adds only a test in dmd repo.
Comment #2 by github-bugzilla — 2013-04-24T03:39:27Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/5df2219bae5614e696694dae2db88309a848eb4c fix Issue 9590 - UFCS does not work with void lazy expressions https://github.com/D-Programming-Language/dmd/commit/3167ef5ca07cc40778649d0cb585a8875cfa9254 Merge pull request #1929 from 9rnsr/fix9590 Issue 9590 - UFCS does not work with void lazy expressions