[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