digitalmars.D.bugs - bug 142 -- fixed but dstress still failing
- Brad Roberts (29/29) Jan 19 2007 http://d.puremagic.com/issues/show_bug.cgi?id=142 is marked as fixed as
- Lionello Lunesu (6/39) Jan 19 2007 Should that code even work? I'm no template guru (far from it), but I
- Brad Roberts (6/47) Jan 19 2007 Honestly, I don't know. Templates aren't my forte at this point, but
- Frits van Bommel (7/46) Jan 19 2007 No it shouldn't work. That's why the module name includes *nocompile*, I...
- Thomas Kuehne (28/74) Jan 20 2007 -----BEGIN PGP SIGNED MESSAGE-----
- Brad Roberts (7/90) Jan 20 2007 Ok, so, um.. apologies for being obtuse. Is dmd still broken in your
- Thomas Kuehne (12/42) Jan 21 2007 -----BEGIN PGP SIGNED MESSAGE-----
http://d.puremagic.com/issues/show_bug.cgi?id=142 is marked as fixed as of 0.158. However, looking at the dstress failures for 1.00, I see bug_template_610_[ABDE] all failing. The error message has changed in more recent releases from what it used to be: dmd version 0.146 (something pre-0.158 that I had installed already) $ ../dmd/146/dmd/bin/dmd -I../dmd/146/dmd/src/phobos bug_template_610_A.d bug_template_610_A.d(10): template 'A(alias T)' is not a variable bug_template_610_A.d(10): function expected before (), not A(alias T) of type int dmd version 1.00 $ dmd bug_template_610_A.d bug_template_610_A.d(10): template dstress.nocompile.b.bug_template_610_A.A(alias T) does not match any template declaration bug_template_610_A.d(10): template dstress.nocompile.b.bug_template_610_A.A(alias T) cannot deduce template function from argument types (int) $ cat -n bug_template_610_A.d 1 module dstress.nocompile.b.bug_template_610_A; 2 3 template A(alias T) { 4 void A(T){ 5 } 6 } 7 8 void main(){ 9 int i; 10 A(i); 11 }
Jan 19 2007
Brad Roberts wrote:http://d.puremagic.com/issues/show_bug.cgi?id=142 is marked as fixed as of 0.158. However, looking at the dstress failures for 1.00, I see bug_template_610_[ABDE] all failing. The error message has changed in more recent releases from what it used to be: dmd version 0.146 (something pre-0.158 that I had installed already) $ ../dmd/146/dmd/bin/dmd -I../dmd/146/dmd/src/phobos bug_template_610_A.d bug_template_610_A.d(10): template 'A(alias T)' is not a variable bug_template_610_A.d(10): function expected before (), not A(alias T) of type int dmd version 1.00 $ dmd bug_template_610_A.d bug_template_610_A.d(10): template dstress.nocompile.b.bug_template_610_A.A(alias T) does not match any template declaration bug_template_610_A.d(10): template dstress.nocompile.b.bug_template_610_A.A(alias T) cannot deduce template function from argument types (int) $ cat -n bug_template_610_A.d 1 module dstress.nocompile.b.bug_template_610_A; 2 3 template A(alias T) { 4 void A(T){ 5 } 6 } 7 8 void main(){ 9 int i; 10 A(i); 11 }Should that code even work? I'm no template guru (far from it), but I have no idea what should be happening. The template should generate a function called A, which in turn takes a parameter of type T, with T being "i"? I don't get it. L.
Jan 19 2007
Lionello Lunesu wrote:Brad Roberts wrote:Honestly, I don't know. Templates aren't my forte at this point, but either the compiler is off or the dstress test is off, so _something_ is wrong. Later, Bradhttp://d.puremagic.com/issues/show_bug.cgi?id=142 is marked as fixed as of 0.158. However, looking at the dstress failures for 1.00, I see bug_template_610_[ABDE] all failing. The error message has changed in more recent releases from what it used to be: dmd version 0.146 (something pre-0.158 that I had installed already) $ ../dmd/146/dmd/bin/dmd -I../dmd/146/dmd/src/phobos bug_template_610_A.d bug_template_610_A.d(10): template 'A(alias T)' is not a variable bug_template_610_A.d(10): function expected before (), not A(alias T) of type int dmd version 1.00 $ dmd bug_template_610_A.d bug_template_610_A.d(10): template dstress.nocompile.b.bug_template_610_A.A(alias T) does not match any template declaration bug_template_610_A.d(10): template dstress.nocompile.b.bug_template_610_A.A(alias T) cannot deduce template function from argument types (int) $ cat -n bug_template_610_A.d 1 module dstress.nocompile.b.bug_template_610_A; 2 3 template A(alias T) { 4 void A(T){ 5 } 6 } 7 8 void main(){ 9 int i; 10 A(i); 11 }Should that code even work? I'm no template guru (far from it), but I have no idea what should be happening. The template should generate a function called A, which in turn takes a parameter of type T, with T being "i"? I don't get it. L.
Jan 19 2007
Lionello Lunesu wrote:Brad Roberts wrote:No it shouldn't work. That's why the module name includes *nocompile*, I would think. The bug was that the compiler had an assertion failure when compiling that code (look at the summary), not that it didn't compile. I'm not sure why dstress lists it as "FAIL" though. I'd think it should be "XFAIL"... Thomas, can you shed any light on this?http://d.puremagic.com/issues/show_bug.cgi?id=142 is marked as fixed as of 0.158. However, looking at the dstress failures for 1.00, I see bug_template_610_[ABDE] all failing. The error message has changed in more recent releases from what it used to be: dmd version 0.146 (something pre-0.158 that I had installed already) $ ../dmd/146/dmd/bin/dmd -I../dmd/146/dmd/src/phobos bug_template_610_A.d bug_template_610_A.d(10): template 'A(alias T)' is not a variable bug_template_610_A.d(10): function expected before (), not A(alias T) of type int dmd version 1.00 $ dmd bug_template_610_A.d bug_template_610_A.d(10): template dstress.nocompile.b.bug_template_610_A.A(alias T) does not match any template declaration bug_template_610_A.d(10): template dstress.nocompile.b.bug_template_610_A.A(alias T) cannot deduce template function from argument types (int) $ cat -n bug_template_610_A.d 1 module dstress.nocompile.b.bug_template_610_A; 2 3 template A(alias T) { 4 void A(T){ 5 } 6 } 7 8 void main(){ 9 int i; 10 A(i); 11 }Should that code even work? I'm no template guru (far from it), but I have no idea what should be happening. The template should generate a function called A, which in turn takes a parameter of type T, with T being "i"? I don't get it.
Jan 19 2007
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Frits van Bommel schrieb am 2007-01-19:Lionello Lunesu wrote:The above code is missing a crucial information: 9 // __DSTRESS_ELINE__ 14 10 11 module dstress.nocompile.b.bug_template_610_A; 12 13 template A(alias T) { 14 void A(T){ 15 } 16 } 17 18 void main(){ 19 int i; 20 A(i); 21 } The template declaration in line 13 matches the request in line 20 but fails to instantiate due to line 14. If you look at DMD's output however, only line 20 is mentioned. bug_template_610_A.d(20): template dstress.nocompile.b.bug_template_610_A.A(alias T) does not match any template declaration bug_template_610_A.d(20): template dstress.nocompile.b.bug_template_610_A.A(alias T) cannot deduce template function from argument types (int) Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFFse2PLK5blCcjpWoRAiIUAJ0Q4ZRv0HLxNyjQG8UIgaOteaA4BwCdGPF9 uggdR/pfiBLaMLakMo4OFQE= =uUET -----END PGP SIGNATURE-----Brad Roberts wrote:No it shouldn't work. That's why the module name includes *nocompile*, I would think. The bug was that the compiler had an assertion failure when compiling that code (look at the summary), not that it didn't compile. I'm not sure why dstress lists it as "FAIL" though. I'd think it should be "XFAIL"... Thomas, can you shed any light on this?http://d.puremagic.com/issues/show_bug.cgi?id=142 is marked as fixed as of 0.158. However, looking at the dstress failures for 1.00, I see bug_template_610_[ABDE] all failing. The error message has changed in more recent releases from what it used to be: dmd version 0.146 (something pre-0.158 that I had installed already) $ ../dmd/146/dmd/bin/dmd -I../dmd/146/dmd/src/phobos bug_template_610_A.d bug_template_610_A.d(10): template 'A(alias T)' is not a variable bug_template_610_A.d(10): function expected before (), not A(alias T) of type int dmd version 1.00 $ dmd bug_template_610_A.d bug_template_610_A.d(10): template dstress.nocompile.b.bug_template_610_A.A(alias T) does not match any template declaration bug_template_610_A.d(10): template dstress.nocompile.b.bug_template_610_A.A(alias T) cannot deduce template function from argument types (int) $ cat -n bug_template_610_A.d 1 module dstress.nocompile.b.bug_template_610_A; 2 3 template A(alias T) { 4 void A(T){ 5 } 6 } 7 8 void main(){ 9 int i; 10 A(i); 11 }Should that code even work? I'm no template guru (far from it), but I have no idea what should be happening. The template should generate a function called A, which in turn takes a parameter of type T, with T being "i"? I don't get it.
Jan 20 2007
Thomas Kuehne wrote:-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Frits van Bommel schrieb am 2007-01-19:Ok, so, um.. apologies for being obtuse. Is dmd still broken in your mind? If so, then either a new bug needs to be filed or bug 142 needs to be re-opened with details as to what's still wrong. Would you make the choice and perform the action? :) Thanks, BradLionello Lunesu wrote:The above code is missing a crucial information: 9 // __DSTRESS_ELINE__ 14 10 11 module dstress.nocompile.b.bug_template_610_A; 12 13 template A(alias T) { 14 void A(T){ 15 } 16 } 17 18 void main(){ 19 int i; 20 A(i); 21 } The template declaration in line 13 matches the request in line 20 but fails to instantiate due to line 14. If you look at DMD's output however, only line 20 is mentioned. bug_template_610_A.d(20): template dstress.nocompile.b.bug_template_610_A.A(alias T) does not match any template declaration bug_template_610_A.d(20): template dstress.nocompile.b.bug_template_610_A.A(alias T) cannot deduce template function from argument types (int) Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFFse2PLK5blCcjpWoRAiIUAJ0Q4ZRv0HLxNyjQG8UIgaOteaA4BwCdGPF9 uggdR/pfiBLaMLakMo4OFQE= =uUET -----END PGP SIGNATURE-----Brad Roberts wrote:No it shouldn't work. That's why the module name includes *nocompile*, I would think. The bug was that the compiler had an assertion failure when compiling that code (look at the summary), not that it didn't compile. I'm not sure why dstress lists it as "FAIL" though. I'd think it should be "XFAIL"... Thomas, can you shed any light on this?http://d.puremagic.com/issues/show_bug.cgi?id=142 is marked as fixed as of 0.158. However, looking at the dstress failures for 1.00, I see bug_template_610_[ABDE] all failing. The error message has changed in more recent releases from what it used to be: dmd version 0.146 (something pre-0.158 that I had installed already) $ ../dmd/146/dmd/bin/dmd -I../dmd/146/dmd/src/phobos bug_template_610_A.d bug_template_610_A.d(10): template 'A(alias T)' is not a variable bug_template_610_A.d(10): function expected before (), not A(alias T) of type int dmd version 1.00 $ dmd bug_template_610_A.d bug_template_610_A.d(10): template dstress.nocompile.b.bug_template_610_A.A(alias T) does not match any template declaration bug_template_610_A.d(10): template dstress.nocompile.b.bug_template_610_A.A(alias T) cannot deduce template function from argument types (int) $ cat -n bug_template_610_A.d 1 module dstress.nocompile.b.bug_template_610_A; 2 3 template A(alias T) { 4 void A(T){ 5 } 6 } 7 8 void main(){ 9 int i; 10 A(i); 11 }Should that code even work? I'm no template guru (far from it), but I have no idea what should be happening. The template should generate a function called A, which in turn takes a parameter of type T, with T being "i"? I don't get it.
Jan 20 2007
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Brad Roberts schrieb am 2007-01-20:Thomas Kuehne wrote:[...]Frits van Bommel schrieb am 2007-01-19:Lionello Lunesu wrote:Brad Roberts wrote:The above code is missing a crucial information: 9 // __DSTRESS_ELINE__ 14 10 11 module dstress.nocompile.b.bug_template_610_A; 12 13 template A(alias T) { 14 void A(T){ 15 } 16 } 17 18 void main(){ 19 int i; 20 A(i); 21 } The template declaration in line 13 matches the request in line 20 but fails to instantiate due to line 14. If you look at DMD's output however, only line 20 is mentioned. bug_template_610_A.d(20): template dstress.nocompile.b.bug_template_610_A.A(alias T) does not match any template declaration bug_template_610_A.d(20): template dstress.nocompile.b.bug_template_610_A.A(alias T) cannot deduce template function from argument types (int)Ok, so, um.. apologies for being obtuse. Is dmd still broken in your mind? If so, then either a new bug needs to be filed or bug 142 needs to be re-opened with details as to what's still wrong. Would you make the choice and perform the action? :)Yes DMD is broken or the documentation is incorrect. I've file a new Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFFtAEkLK5blCcjpWoRAigJAJ9uXmieceaD6aDoDary7UqnnS1UOgCgrp3i xjiTNBv/I3co89iRiM5XLsY= =lIo6 -----END PGP SIGNATURE-----
Jan 21 2007