[Issue 7019] implicit constructors are inconsistently allowed
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Thu Jan 26 13:55:58 PST 2012
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=7019
mail.mantis.88 at gmail.com changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mail.mantis.88 at gmail.com
--- Comment #7 from mail.mantis.88 at gmail.com 2012-01-26 13:55:55 PST ---
(In reply to comment #0)
> Yes, I'm aware that alias this makes it possible to allow implicit conversions,
> but it can't solve everything, esp. if you need to modify the value before you
> 'save' it:
> ...
Why not aliasing this to set/get methods, e.g:
struct Foo(T) {
    alias prop this;
    this( in T value ) {
        m_Prop = value;
    }
    @property:
    T prop() const {
        return m_Prop;
    }
    ref auto prop( in T value ) {
        return(m_Prop = value, this);
    }
    private: 
    T m_Prop;
}
void bar(T)( in Foo!T foo ) {
    writeln( cast(T)foo );
}
int main() {
    Foo!int foo = 42;
    bar( foo );
    foo = 10;
    bar( foo );
    return 0;
}
Are there any problems I'm not aware of?
-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
    
    
More information about the Digitalmars-d-bugs
mailing list