Compile-time evaluation lost in alias this

Tommi tommitissari at hotmail.com
Wed May 30 09:16:09 PDT 2012


On Wednesday, 30 May 2012 at 15:04:40 UTC, kenji hara wrote:
> Looks like a bug.
>
> ValueUser.getValue() is translated to 
> ValueUser.m_valueImpl.getValue()
> with alias this resolution. In here:
> 1. ValueUser.m_valueImpl is a valid expression. It means just a 
> symbol
> of variable which declared in ValueUser struct.
> 2. ValueUser.m_valueImpl is only used for overload resolution of
> calling getValue() and getValue is static member function, then 
> it is
> *never* evaluated even in run-time.
>
> Please file a report about it in bugzilla.
>
> Kenji Hara

Sorry, I'm not sure what you mean. Which one of the following is 
a bug?

1) The fact that ValueUser.getValue() can't be evaluated at 
compile time
2) The fact that ValueUser.getValue() compiles and can be 
evaluated at runtime

I'm very new to the language. Just finished reading the book and 
I'm testing things out.


More information about the Digitalmars-d mailing list