digitalmars.D.bugs - [Issue 3293] New: A few more bugs with template mixins with identifiers
- d-bugmail puremagic.com (47/47) Sep 03 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3293
- d-bugmail puremagic.com (17/17) Sep 07 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3293
- d-bugmail puremagic.com (8/8) Sep 07 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3293
- d-bugmail puremagic.com (20/20) Sep 08 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3293
- d-bugmail puremagic.com (15/15) Sep 08 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3293
- d-bugmail puremagic.com (6/6) Sep 11 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3293
- d-bugmail puremagic.com (11/11) Nov 15 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3293
http://d.puremagic.com/issues/show_bug.cgi?id=3293
Summary: A few more bugs with template mixins with identifiers
Product: D
Version: 2.031
Platform: Other
OS/Version: Windows
Status: NEW
Keywords: ice-on-valid-code, rejects-valid
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: 2korden gmail.com
template ReferenceType(T)
{
alias T* ReferenceType;
}
struct SomeRange(T, alias Storage = 0)
{
bool foo()
{
return guard == guard; // bug 1: replace == with is and DMD crashes
with no output
}
enum guard = cast(ReferenceType!(T))SomeContainer!(T, Storage).guard;
}
struct SomeContainer(T, alias Storage = 0)
{
auto opSlice() // bug 2: replace auto with SomeRange!(T, Storage) and
get an ICE
{
return SomeRange!(T, Storage)();
}
enum ReferenceType!(T) guard =
cast(ReferenceType!(T))cast(void*)0xFEFEFEFE; // bug 3: remove guard type
and DMD crashes with no output
}
class A
{
SomeRange!(int, 0) test() // bug 4: 0 is not omissible
{
return SomeContainer!(int)()[];
}
}
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 03 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3293
Don <clugdbug yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |clugdbug yahoo.com.au
(1) I can't see 'mixin' anywhere in any of these bugs!
(2) Cannot reproduce bug 3.
(3) Please don't report multiple bugs in a single bug report. There are
definitely at least 3 different bugs in here.
Bug 1 is Segfault(statement.c)
bug 2 is ICE(expression.c)
bug 4 is a rejects-valid.
It's possible they all have the same root cause, but I doubt it.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 07 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3293 Bug 1 is now its own issue, bug 3304. Bug 3 is now its own issue, bug 3305. They are completely unrelated to one another. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 07 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3293
Here's a reduced test case for the second bug, which is ICE(expression.c).
Something to do with recursive alias parameters causing data corruption.
Only happens if there is an infinite template expansion, so I think this one is
ice-on-invalid-code. Somehow defining the return type as 'auto' circumvents the
infinite expansion -- but I'm not sure that it should.
---
alias const(void*) VoidPtr;
struct SomeRange(alias Storage){
const guard = cast(const void *)Bug3293!(Storage).guard;
}
struct Bug3293(alias Storage){
SomeRange!(Storage) foo;
const VoidPtr guard = cast(void *)345;
}
SomeRange!(0) a = Bug3293!(0)().foo;
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 08 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3293
Don <clugdbug yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|ice-on-valid-code, |ice-on-invalid-code
|rejects-valid |
Summary|A few more bugs with |ICE(expression.c) recursive
|template mixins with |alias template parameters
|identifiers |
And the fourth bug has been moved to bug 3307. I'm therefore changing the title
to reflect the remaining bug, as described in comment 3.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 08 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3293 --- Thanks and sorry for confusion! -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 11 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3293
Don <clugdbug yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Fixed DMD2.047.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Nov 15 2010









d-bugmail puremagic.com 