Thread overview | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
August 30, 2012 [Issue 8602] New: Assertion failure | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8602 Summary: Assertion failure Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: ellery-newcomer@utulsa.edu --- Comment #0 from Ellery Newcomer <ellery-newcomer@utulsa.edu> 2012-08-30 14:20:43 PDT --- dmd 2.060 code: template ReturnType(func...) if (func.length == 1) { } struct BinaryOperatorX(string _op, rhs_t,C) { ReturnType!(mixin("C.opBinary!(_op,rhs_t)")) RET_T; } class MyClass { auto opBinary(string op, T)() { } } void PydMain() { BinaryOperatorX!("+", int, MyClass); } fireworks: dmd: mtype.c:5254: virtual void TypeFunction::toDecoBuffer(OutBuffer*, int): Assertion `next' failed. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 24, 2012 [Issue 8602] Assertion failure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ellery Newcomer | http://d.puremagic.com/issues/show_bug.cgi?id=8602 hsteoh@quickfur.ath.cx changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |major --- Comment #1 from hsteoh@quickfur.ath.cx 2012-11-23 16:30:34 PST --- This is an internal compiler error; it deserves some attention. Also, confirmed that it still happens in latest git dmd. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 26, 2012 [Issue 8602] ICE(mtype.c) string mixin + auto return type + template tuple | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ellery Newcomer | http://d.puremagic.com/issues/show_bug.cgi?id=8602 Don <clugdbug@yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Assertion failure |ICE(mtype.c) string mixin + | |auto return type + template | |tuple --- Comment #2 from Don <clugdbug@yahoo.com.au> 2012-11-26 07:44:06 PST --- Very marginally simplified. If you take out the "if (func.length == 1)" then it segfaults instead. ------------- template ReturnType(func...) if (func.length == 1) { } struct MyClass { auto xopBinary(T)() { } } struct BinaryOperatorX() { ReturnType!(mixin("MyClass.xopBinary!(int)")) RET_T; } void PydMain() { BinaryOperatorX!(); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 28, 2012 [Issue 8602] ICE(mtype.c) string mixin + auto return type + template tuple | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ellery Newcomer | http://d.puremagic.com/issues/show_bug.cgi?id=8602 --- Comment #3 from Don <clugdbug@yahoo.com.au> 2012-11-28 00:51:37 PST --- Further reduced. ------------------ template T8602(func...) if (func.length == 1) { } struct Bug8602 { auto xx() { } } T8602!(mixin("Bug8602.xx")) mm; -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 28, 2012 [Issue 8602] ICE(mtype.c) string mixin + auto return type + template tuple | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ellery Newcomer | http://d.puremagic.com/issues/show_bug.cgi?id=8602 --- Comment #4 from Don <clugdbug@yahoo.com.au> 2012-11-28 00:53:41 PST --- The problem is that at the end of CompileExp::semantic, the result is xx, but the type of xx is still not known because it was a return-type inferred function. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
February 04, 2013 [Issue 8602] ICE(mtype.c) string mixin + auto return type + template tuple | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ellery Newcomer | http://d.puremagic.com/issues/show_bug.cgi?id=8602 Andrej Mitrovic <andrej.mitrovich@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich@gmail.com --- Comment #5 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-02-04 13:45:19 PST --- (In reply to comment #3) > Further reduced. > ------------------ > template T8602(func...) if (func.length == 1) { } > > struct Bug8602 { > auto xx() { } > } > > T8602!(mixin("Bug8602.xx")) mm; The ICE is gone in git-head, now only gives: Error: T8602!(xx) is used as a type -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
February 06, 2013 [Issue 8602] ICE(mtype.c) string mixin + auto return type + template tuple | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ellery Newcomer | http://d.puremagic.com/issues/show_bug.cgi?id=8602 Kenji Hara <k.hara.pg@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME --- Comment #6 from Kenji Hara <k.hara.pg@gmail.com> 2013-02-05 21:05:08 PST --- (In reply to comment #5) > (In reply to comment #3) > > Further reduced. > > ------------------ > > template T8602(func...) if (func.length == 1) { } > > > > struct Bug8602 { > > auto xx() { } > > } > > > > T8602!(mixin("Bug8602.xx")) mm; > > The ICE is gone in git-head, now only gives: > > Error: T8602!(xx) is used as a type This is correct behavior, because T8602!(Bug8602.xx) does not make a type. Maybe this is a dup of bug 5933. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation