April 06, 2014 [Issue 12533] New: instantiated template using __traits(compiles, ...) causes semantic errors when reused | ||||
---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=12533 Summary: instantiated template using __traits(compiles, ...) causes semantic errors when reused Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: 2krnk@gmx.net --- Comment #0 from det <2krnk@gmx.net> 2014-04-06 16:39:50 PDT --- compilation fails for no reason in given example involving a template using mixin, static if and __traits(compiles, ...) code reflection. see details in example as it is too complicated to describe. might be related to issue 12532. however, example fails as well when 'enum' is replaced by 'const' === EXAMPLE === template valid(string mem){ pragma(msg, "instantiation of valid with: "~mem); static if( !__traits( compiles, mixin(mem) ) ){ enum valid = false; }else{ enum valid = true; } } enum works = valid!"fails"; pragma(msg, "found 'fails' (via 'works')? "~works.stringof ); // compiles but produces 'false': issue 12532 enum dummy = valid!"fails"; pragma(msg, "found 'fails' (via 'dummy')? "~dummy.stringof ); // compiles but produces 'false': issue 12532 enum fails = valid!"fails"; // Error: variable demo.fails had semantic errors when compiling // NOTE: if you comment out the first two usages of valid!"fails", // it will work here - but give 'false' again. // pragma(msg, "found 'fails' (via 'fails')? "~fails.stringof ); void main(){} -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
April 08, 2014 [Issue 12533] instantiated template using __traits(compiles, ...) causes semantic errors when reused | ||||
---|---|---|---|---|
| ||||
Posted in reply to det | https://d.puremagic.com/issues/show_bug.cgi?id=12533 --- Comment #1 from det <2krnk@gmx.net> 2014-04-07 22:50:35 PDT --- (In reply to comment #0) might be caused by issue 12541. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation