isValidBinaryOp doesn't compile
Artur Skawina
art.08.09 at gmail.com
Sat Sep 14 14:20:17 PDT 2013
On 09/14/13 22:45, "Nordlöw" wrote:
> In the post
>
> http://forum.dlang.org/thread/bug-6384-3@http.d.puremagic.com/issues/
>
> I tried to compile
>
> template isValidBinaryOp(T1, string op, T2) {
> alias isValidBinaryOp = is(mixin("T1.init" ~ op ~ "T2.init") : bool);
> }
>
> but it fails as
>
> /home/per/Work/cognia/t_geom.d(80): Error: basic type expected, not is
> /home/per/Work/cognia/t_geom.d(80): Error: semicolon expected to close alias declaration
> /home/per/Work/cognia/t_geom.d(80): Error: Declaration expected, not 'is'
>
> What is wrong?
'is()' returns a value, not a type. Also, a binary op does not necessarily
have to result in a type that implicitly converts to 'bool.
template isValidBinaryOp(T1, string op, T2) {
enum isValidBinaryOp = is(typeof(mixin("T1.init" ~ op ~ "T2.init")));
}
artur
More information about the Digitalmars-d
mailing list