[nem-bug] [Nemerle 0000925]: ICE because void is used as a type
argument
feedback at nemerle.org
feedback at nemerle.org
Sun Jun 17 23:56:33 CEST 2007
The following issue has been RESOLVED.
======================================================================
<http://nemerle.org/bugs/view.php?id=925>
======================================================================
Reported By: nikov
Assigned To: divan
======================================================================
Project: Nemerle
Issue ID: 925
Category: Compiler
Reproducibility: always
Severity: minor
Priority: normal
Status: resolved
Resolution: fixed
Fixed in Version:
======================================================================
Date Submitted: 02-20-2007 20:14 CET
Last Modified: 06-17-2007 23:56 CEST
======================================================================
Summary: ICE because void is used as a type argument
Description:
[nemerle]
using System;
using System.Console;
using Nemerle.Utility;
module Program
{
Main() : void
{
WriteLine(Foo((1,2)));
_ = ReadKey()
}
Foo(x : object) : string {
| x is _ * int =>
mutable a = x[0];
a = ();
"_"
| _ => "Other"
}
}
[/nemerle]
[output]
got ArgumentException (The type 'System.Void' may not be used as a type
argument.)
at System.RuntimeType.ThrowIfTypeNeverValidGenericArgument(Type
type)
at System.RuntimeType.SanityCheckGenericArguments(Type[]
genericArguments, Type[] genericParamters)
at System.RuntimeType.MakeGenericType(Type[] instantiation)
at Nemerle.Compiler.MType.get_SystemType() in
C:\Nemerle\ncc\typing\MType.n:line 178
at Nemerle.Compiler.MType.get_SystemType() in
C:\Nemerle\ncc\typing\MType.n:line 147
at Nemerle.Compiler.TyVar.get_SystemType() in
C:\Nemerle\ncc\typing\TyVar.n:line 517
at Nemerle.Compiler.ILEmitter.declare_val_local_slot(LocalValue val)
in C:\Nemerle\ncc\generation\ILEmitter.n:line 1923
at Nemerle.Compiler.ILEmitter.emit(TExpr expr) in
C:\Nemerle\ncc\generation\ILEmitter.n:line 539
at Nemerle.Compiler.ILEmitter.emit(TExpr expr) in
C:\Nemerle\ncc\generation\ILEmitter.n:line 744
at Nemerle.Compiler.ILEmitter.Run() in
C:\Nemerle\ncc\generation\ILEmitter.n:line 106
at Nemerle.Compiler.MethodBuilder._N__N_l42751_42854.apply_void() in
C:\Nemerle\ncc\generation\HierarchyEmitter.n:line 742
at Nemerle.Compiler.TypeBuilder.FinalizeType() in
C:\Nemerle\ncc\hierarchy\TypeBuilder.n:line 1617
at Nemerle.Compiler.TypeBuilder.EmitImplementation() in
C:\Nemerle\ncc\generation\HierarchyEmitter.n:line 580
at
Nemerle.Compiler.TypesManager._N_emit_impl_36087.apply_void(TypeBuilder
_N_36086) in C:\Nemerle\ncc\generation\HierarchyEmitter.n:line 316
at
Nemerle.Compiler.TypesManager._N_maybe_f_36693.apply_void(TypeBuilder
_N_36692) in C:\Nemerle\ncc\hierarchy\TypesManager.n:line 225
at Nemerle.Collections.List.Iter['a](list`1 l, FunctionVoid`1 f) in
C:\Nemerle\lib\list.n:line 906
at Nemerle.Core.list`1.Iter(FunctionVoid`1 f) in
C:\Nemerle\lib\list.n:line 307
at Nemerle.Compiler.TypesManager.Iter(list`1 builders, FunctionVoid`1
f) in C:\Nemerle\ncc\hierarchy\TypesManager.n:line 231
at Nemerle.Compiler.TypesManager.Iter(FunctionVoid`1 f) in
C:\Nemerle\ncc\hierarchy\TypesManager.n:line 242
at Nemerle.Compiler.TypesManager.compile_all_tyinfos(Boolean
aux_phase) in C:\Nemerle\ncc\generation\HierarchyEmitter.n:line 340
at Nemerle.Compiler.TypesManager._N__N_l35520_35623.apply_void() in
C:\Nemerle\ncc\generation\HierarchyEmitter.n:line 205
at Nemerle.Compiler.Solver.Enqueue(FunctionVoid action) in
C:\Nemerle\ncc\typing\Solver.n:line 197
at Nemerle.Compiler.TypesManager.EmitDecls() in
C:\Nemerle\ncc\generation\HierarchyEmitter.n:line 204
at Nemerle.Compiler.ManagerClass.Run() in
C:\Nemerle\ncc\passes.n:line 432
at Nemerle.CommandlineCompiler.MainClass.main_with_catching() in
C:\Nemerle\ncc\main.n:line 86
[/output]
======================================================================
----------------------------------------------------------------------
divan - 06-17-07 23:56
----------------------------------------------------------------------
Fixed on r7710.
Issue History
Date Modified Username Field Change
======================================================================
02-20-07 20:14 nikov New Issue
02-20-07 20:18 nikov Summary ICE because void is user
as a type argument => ICE because void is used as a type argument
02-20-07 20:18 nikov Description Updated
06-17-07 23:56 divan Note Added: 0001919
06-17-07 23:56 divan Assigned To => divan
06-17-07 23:56 divan Status new => resolved
06-17-07 23:56 divan Resolution open => fixed
06-17-07 23:56 divan Description Updated
======================================================================
More information about the bugs
mailing list