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/mailman.1925.1334827762.4860.digitalmars-d@puremagic.com
https://github.com/D-Programming-Language/dmd/pull/890
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