digitalmars.D.learn - Weird bug in IFTI
- JS (5/5) Jul 30 2013 http://dpaste.dzfl.pl/cdabf9fa
- anonymous (17/21) Jul 30 2013 Copying the code for readability and for future generations:
- John Colvin (6/11) Jul 30 2013 Definitely some compiler logic problems there with the error
http://dpaste.dzfl.pl/cdabf9fa But adding one more parameter gives an error! http://dpaste.dzfl.pl/a5cfac37 Template has no effect simply because I added an parameter with a default?!?!?!?
Jul 30 2013
On Tuesday, 30 July 2013 at 22:22:38 UTC, JS wrote:But adding one more parameter gives an error! http://dpaste.dzfl.pl/a5cfac37Copying the code for readability and for future generations: template SomeName(T...) { void SomeName(string file = __FILE__, string line = __LINE__, string f = __FUNCTION__)() { pragma(msg, f~";"); } } void main() { SomeName!("x"); } And the error: /d608/f685.d(8): Error: template SomeName(string file = __FILE__, string line = __LINE__, string f = __FUNCTION__)() has no effectTemplate has no effect simply because I added an parameter with a default?!?!?!?You have a bug in there!!!!!!! __LINE__ is not a string!!?!!?! Make it `size_t line = __LINE__` and you're good....... The error message really doesn't help much, though.
Jul 30 2013
On Tuesday, 30 July 2013 at 22:22:38 UTC, JS wrote:http://dpaste.dzfl.pl/cdabf9fa But adding one more parameter gives an error! http://dpaste.dzfl.pl/a5cfac37 Template has no effect simply because I added an parameter with a default?!?!?!?Definitely some compiler logic problems there with the error message at least. What I'd like to see: pragma(msg) should be immune from "has no effect" errors as it does have an observable effect at compile-time.
Jul 30 2013