[Issue 17910] Can't have UFCS in aggregate types
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Fri Oct 20 17:21:57 UTC 2017
    
    
  
https://issues.dlang.org/show_bug.cgi?id=17910
--- Comment #5 from Steven Schveighoffer <schveiguy at yahoo.com> ---
(In reply to anonymous4 from comment #4)
> (In reply to Steven Schveighoffer from comment #3)
> > make your extension methods global
> 
> This destroys encapsulation: what has no business at global scope shouldn't
> be there.
Using clear(b) does not destroy encapsulation.
> 
> > D usually frowns upon having the
> > same code mean different things in different contexts.
> 
> This is not the case for UFCS.
Correct, it is not because local functions do not supersede global ones for
UFCS.
void foo(int) {}
void main()
{
  void foo(int) {}
  1.foo; // calls global foo
}
--
    
    
More information about the Digitalmars-d-bugs
mailing list