D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 4830 - Regression(2.038) ICE mtype.c:879: void Type::check(): Assertion `tn->mod == 4' failed
Summary: Regression(2.038) ICE mtype.c:879: void Type::check(): Assertion `tn->mod == ...
Status: RESOLVED DUPLICATE of issue 4434
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: Other All
: P2 regression
Assignee: No Owner
URL:
Keywords: ice-on-valid-code
: 5119 (view as issue list)
Depends on:
Blocks:
 
Reported: 2010-09-06 11:41 UTC by Ellery Newcomer
Modified: 2010-11-07 12:28 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Ellery Newcomer 2010-09-06 11:41:29 UTC
the code:

alias immutable string[] strings;
strings a = [ ];
strings b = [ ];

dmd 2.048
Comment 1 Don 2010-09-06 12:00:01 UTC
And it's a regression. Worked in 2.037, ICE in 2.038.
Comment 2 Don 2010-09-29 00:25:22 UTC
This was caused by adding this line to AliasDeclaration::semantic() in svn 307
(which was fixing bug 3641 alias shared T U does not work)

+    type = type->addStorageClass(storage_class);
    if (storage_class & (STCref | STCnothrow | STCpure))
    {	// For 'ref' to be attached to function types, and picked
Comment 3 Don 2010-10-30 06:38:53 UTC
*** Issue 5119 has been marked as a duplicate of this issue. ***
Comment 4 Walter Bright 2010-11-07 12:28:56 UTC

*** This issue has been marked as a duplicate of issue 4434 ***