Type helpers instead of UFCS

bitwise via Digitalmars-d digitalmars-d at puremagic.com
Sun Sep 13 10:17:16 PDT 2015


On Saturday, 12 September 2015 at 20:37:37 UTC, BBasile wrote:
> UFCS is good but there are two huge problems:
> - code completion in IDE. It'will never work.

By this do you mean completion will be flooded?

If so, then +1.

I would much prefer something like C# extension methods, but 
where the first argument has to be typed so that every random 
template UFC under the sun doesn't appear in completion.

     class Foo {
        void foo() {}
     }

     void bar(this Foo foo, int arg) { }    // fine
     void baz<T>(this T t) { }    // compile error: first arg 
can't be a template
     void boo(Foo foo)   // fine, but can't be used like a UFC

     int Main(string[] args) {
         Foo foo = new Foo();
         foo.bar(1); // fine
         foo.baz(); // error, undefined method 'baz'
         boo(foo); // fine
         foo.boo(); // error, undefined method 'boo'
     }



More information about the Digitalmars-d mailing list