Paste into VS with Visual-D installed.
private template getComponent(char c, alias v)
{
static if(c == 'x') alias getComponent = v.x;
else static if(c == 'y') alias getComponent = v.y;
else static if(c == 'z') alias getComponent = v.z;
else static if(c == 'w') alias getComponent = v.w;
else static if(c == '0') float getComponent = 0;
else static if(c == '1') float getComponent = 1;
else static if(c == '2') float getComponent = 2;
else static assert(false, "Invalid swizzle component: '" ~ c ~ "'");
}
Note the first '=' underlines red, and then every 'else' that follows.
Comment #1 by turkeyman — 2013-09-29T22:15:27Z
This seems to be fixed, but a new issue has taken it's place; if there is an error in the opDispatch, or even in it's constraint, it will silently fail and produce the error "No property: blah", as if there were no opDispatch at all.
Ie, it no longer gives compile errors within opDispatch, and compile errors are useful :)
Comment #2 by turkeyman — 2013-09-29T22:16:04Z
(In reply to comment #1)
> This seems to be fixed, but a new issue has taken it's place; if there is an
> error in the opDispatch, or even in it's constraint, it will silently fail and
> produce the error "No property: blah", as if there were no opDispatch at all.
>
> Ie, it no longer gives compile errors within opDispatch, and compile errors are
> useful :)
Oops! Bloody bugzilla! Posted on the wrong bug!
Comment #3 by r.sagitario — 2013-10-03T10:59:29Z
(In reply to comment #0)
> Paste into VS with Visual-D installed.
> [...]
> Note the first '=' underlines red, and then every 'else' that follows.
Works for me. Have you tried it with 0.3.37rc3? I have uploaded an rc4 just now, please try that: http://www.dsource.org/projects/visuald/browser/downloads/VisualD-v0.3.37rc4.exe