const-typed class does not have const members
    Sean Eskapp 
    eatingstaples at gmail.com
       
    Fri Jan 21 16:09:31 PST 2011
    
    
  
The following code yields results as commented.
import std.stdio;
class A
{
	int b;
}
void main()
{
	const A a = new A;
	writeln(typeof(a).stringof); // const(A)
	writeln(typeof(a.b).stringof); // const(int)
	writeln((const A).stringof); // const(A)
	writeln(typeof((const A).b).stringof); // int
}
Given this information, how do I work around this in templates? I'd like a
template which can type its params based on members of T, for instance:
void foo(T)(T x, typeof(T.member) y)
but this will yield non-const second parameters even if T is const. Help anybody?
    
    
More information about the Digitalmars-d-learn
mailing list