2884 – ICE: Assert: 'template.c', line 3773, 'global.errors'

D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 2884 - ICE: Assert: 'template.c', line 3773, 'global.errors'
Summary: ICE: Assert: 'template.c', line 3773, 'global.errors'
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D1 (retired)
Hardware: x86 Windows
: P2 normal
Assignee: No Owner
URL:
Keywords: ice-on-valid-code
: 2253 (view as issue list)
Depends on:
Blocks: 340
Show dependency tree / graph
Reported: 2009年04月23日 00:56 UTC by Nick Sabalausky
Modified: 2014年04月18日 09:12 UTC (History)
3 users (show)

See Also:


Attachments
Add an attachment (proposed patch, testcase, etc.)

Note You need to log in before you can comment on or make changes to this issue.
Description Nick Sabalausky 2009年04月23日 00:56:38 UTC
main.d:
-----------
template foo(T)
{
}
pragma(msg, foo!(typeof(bar)));
public void bar()
{
}
-----------
> dmd main.d
Assertion failure: 'global.errors' on line 3773 in file 'template.c'
Comment 1 Don 2009年04月24日 03:08:53 UTC
*** Bug 2253 has been marked as a duplicate of this bug. ***
Comment 2 Don 2009年04月24日 03:13:35 UTC
The original test case isn't actually valid, here's a slightly longer example which is valid. Fails on D2.029 as well.
---
template Foo( T ) { alias int Foo;}
Foo!(typeof(bar)) x;
void bar() { }
Comment 3 Don 2009年05月14日 05:14:21 UTC
This code from issue 884 (exactly 2000 bugs earlier) creates the same ICE error message.
It may or may not be a duplicate; I'm putting it here so that 884 can be closed.
------
template Inner(Ts...) {
 const Inner = .Inner!((Ts));
}
auto x = Inner!();
Comment 4 Walter Bright 2009年07月09日 02:48:11 UTC
Fixed dmd 1.046 and 2.031


AltStyle によって変換されたページ (->オリジナル) /