Le 29/11/09 13:16, Michel Fortin a écrit :
On 2009-11-29 06:14:21 -0500, "Simen kjaeraas" <[email protected]> said:That is because your opDispatch is instantiated no matter what the name is, but only does something sensible if it's foo. Try this: string opDispatch( string name )( ) { static if ( name == "foo" ) { return "foo"; } else { static assert( false, "Invalid member name." ); } }Wouldn't this be even better? string opDispatch(string name)() if (name == "foo") { return "foo"; } I haven't tested that it works though.
It doesn't improve the error message, but it works. It's been a long time since I used D: I didn't know this syntax!
