Bug 7943 – UFCS does not work with alias this

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-04-19T04:47:00Z
Last change time
2012-04-19T14:44:24Z
Keywords
pull, rejects-valid
Assigned to
nobody
Creator
jens.k.mueller

Comments

Comment #0 by jens.k.mueller — 2012-04-19T04:47:04Z
The following code does not compile but it should. ufcs.d: struct Foo { int _member; alias _member this; } int foo(Foo f) { return f._member; } unittest { Foo f; f.foo(); // fails to compile } Using dmd2.059 you get: Error: function ufcs.foo (Foo f) is not callable using argument types (int) Error: cannot implicitly convert expression (f._member) of type int to Foo Note, that this bugs prevents using UFCS with std.typecons.Tuple. http://forum.dlang.org/thread/[email protected]
Comment #1 by k.hara.pg — 2012-04-19T05:14:00Z
Comment #2 by github-bugzilla — 2012-04-19T14:14:39Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/4540f0b9e1bbd1b251d5e49428a6a5c0cd1f9c65 fix Issue 7943 - UFCS does not work with alias this https://github.com/D-Programming-Language/dmd/commit/11f70c7b5cea33e9a93601b2a2fdabb260d47276 Merge pull request #890 from 9rnsr/fix7943 Issue 7943 - UFCS does not work with alias this