Seriously?<div><br></div><div>I perceive to!T and cast(T) as fundamentally different operations. How can opCast correctly perform the role of to! ?</div><div>cast() is a low level type cast, to! implies a conversion of some kind. If you have a pointer type, I assume cast to operate on the pointer, and to! to perform a conversion of the thing it represents.</div>
<div><br></div><div>to!int("12345")  or  cast(int)"12345"</div><div>to!JSONValue(obj)  or  cast(JSONValue)obj</div><div>cast(string)obj  <- appears to be a primitive cast operator, communicates nothing to me about the expected format of the string produced</div>
<div><br></div><div>The cast approach feel really wrong to me...</div><div><br></div><div>I need to do conversion between some fairly complex types. to! feels appropriate, but cast() just seems weird...</div><div>Have I missed something?</div>