Silly struct behaviour
    H. S. Teoh via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Thu Jul 13 12:24:52 PDT 2017
    
    
  
On Thu, Jul 13, 2017 at 06:48:27PM +0000, JN via Digitalmars-d-learn wrote:
> On Thursday, 13 July 2017 at 18:09:46 UTC, H. S. Teoh wrote:
> > 
> > It's not quite so simple. Consider for example:
> > 
> > 	struct Foo { int bar; }
> > 	struct Oof { int bar; }
> > 
> > 	void process(Foo foo) { }
> > 	void process(Oof oof) { formatDisk(); }
> > 
> > 	void main() {
> > 		process({bar : 5}); // which overload should get called?
> > 	}
> > 
> 
> in this case, I'd expect something like:
> 
> error: ambiguous struct definition, could match process(Foo) or process(Oof)
File an enhancement request:
	https://issues.dlang.org/enter_bug.cgi
You never know, we may be able to convince Walter to add this at some
point. :-P
T
-- 
English has the lovely word "defenestrate", meaning "to execute by throwing someone out a window", or more recently "to remove Windows from a computer and replace it with something useful". :-) -- John Cowan
    
    
More information about the Digitalmars-d-learn
mailing list