Implicit conversion in constructor
    tcak via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Fri Jul 17 19:28:08 PDT 2015
    
    
  
On Saturday, 18 July 2015 at 02:23:26 UTC, rcorre wrote:
> Is there any reason why implicit conversion from Foo to Thing 
> is permitted in a regular method but not in a constructor?
>
> Trying to figure out whether this is a bug or some sort of 
> constructor-specific safety precaution.
>
> struct Thing {
>   Foo foo;
>   alias foo this;
> }
>
> class Foo { }
>
> class Bar {
>   Thing thing;
>
>   void fine() {
>     thing = new Foo(); // ok
>   }
>
>   this() {
>     thing = new Foo(); // nope!
>   }
> }
I even am not sure how in the world it allows implicit conversion 
from class to struct in "fine" at all.
    
    
More information about the Digitalmars-d-learn
mailing list