[nem-bug] [Nemerle 0000897]: ICE on "int.ToString ()"
feedback at nemerle.org
feedback at nemerle.org
Sat Mar 24 08:19:23 CET 2007
The following issue has been UPDATED.
======================================================================
<http://nemerle.org/bugs/view.php?id=897>
======================================================================
Reported By: nikov
Assigned To:
======================================================================
Project: Nemerle
Issue ID: 897
Category: Compiler
Reproducibility: always
Severity: minor
Priority: low
Status: new
======================================================================
Date Submitted: 02-14-2007 11:39 CET
Last Modified: 03-24-2007 08:19 CET
======================================================================
Summary: ICE on "int.ToString ()"
Description:
public class Class1
{
public Foo() : void {
int.ToString();
}
}
Error: internal compiler error: got some unknown exception of type
System.InvalidCastException: Unable to cast object of type 'Fun' to type
'Class'.
at Nemerle.Compiler.Typer2.DoWalk(Context ctx, TExpr expr) in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 864
at Nemerle.Compiler.Typer2.Walk(Context ctx, TExpr expr) in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 123
at Nemerle.Compiler.Typer2.Walk(TExpr expr) in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 107
at Nemerle.Compiler.Typer2.DoWalk(Context ctx, TExpr expr) in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 970
at Nemerle.Compiler.Typer2.Walk(Context ctx, TExpr expr) in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 123
at Nemerle.Compiler.Typer2.DoWalk(Context ctx, TExpr expr) in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 1120
at Nemerle.Compiler.Typer2.Walk(Context ctx, TExpr expr) in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 123
at Nemerle.Compiler.Typer2.Walk(TExpr expr) in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 107
at Nemerle.Compiler.Typer2.DoWalk(Context ctx, TExpr expr) in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 1289
at Nemerle.Compiler.Typer2.Walk(Context ctx, TExpr expr) in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 123
at Nemerle.Compiler.Typer2.DoWalk(Context ctx, TExpr expr) in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 1340
at Nemerle.Compiler.Typer2.Walk(Context ctx, TExpr expr) in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 123
at Nemerle.Compiler.Typer2.Run() in
C:\Nemerle\Compiler\ncc\typing\Typer2.n:line 98
at Nemerle.Compiler.Typer.RunSecondPass(MethodBuilder meth) in
C:\Nemerle\Compiler\ncc\typing\Typer.n:line 367
at Nemerle.Compiler.Typer..ctor(MethodBuilder m) in
C:\Nemerle\Compiler\ncc\typing\Typer.n:line 168
at
Nemerle.Compiler.CompilerComponentsFactory.CreateTyper(MethodBuilder m) in
C:\Nemerle\Compiler\ncc\misc\ComponentsFactory.n:line 33
at Nemerle.Compiler.MethodBuilder.RunBodyTyper() in
C:\Nemerle\Compiler\ncc\hierarchy\ClassMembers.n:line 811
at Nemerle.Compiler.MethodBuilder.Compile() in
C:\Nemerle\Compiler\ncc\generation\HierarchyEmitter.n:line 972
at Nemerle.Compiler.TypeBuilder.EmitImplementation() in
C:\Nemerle\Compiler\ncc\generation\HierarchyEmitter.n:line 564
at
Nemerle.Compiler.TypesManager._N_emit_impl_36087.apply_void(TypeBuilder
_N_36086) in C:\Nemerle\Compiler\ncc\generation\HierarchyEmitter.n:line
316
at
Nemerle.Compiler.TypesManager._N_maybe_f_36693.apply_void(TypeBuilder
_N_36692) in C:\Nemerle\Compiler\ncc\hierarchy\TypesManager.n:line 225
at Nemerle.Collections.List.Iter['a](list`1 l, FunctionVoid`1 f) in
C:\Nemerle\Compiler\lib\list.n:line 906
at Nemerle.Core.list`1.Iter(FunctionVoid`1 f) in
C:\Nemerle\Compiler\lib\list.n:line 307
at Nemerle.Compiler.TypesManager.Iter(list`1 builders, FunctionVoid`1
f) in C:\Nemerle\Compiler\ncc\hierarchy\TypesManager.n:line 231
at Nemerle.Compiler.TypesManager.Iter(FunctionVoid`1 f) in
C:\Nemerle\Compiler\ncc\hierarchy\TypesManager.n:line 242
at Nemerle.Compiler.TypesManager.compile_all_tyinfos(Boolean
aux_phase) in C:\Nemerle\Compiler\ncc\generation\HierarchyEmitter.n:line
340
at Nemerle.Compiler.TypesManager._N__N_l35520_35623.apply_void() in
C:\Nemerle\Compiler\ncc\generation\HierarchyEmitter.n:line 205
at Nemerle.Compiler.Solver.Enqueue(FunctionVoid action) in
C:\Nemerle\Compiler\ncc\typing\Solver.n:line 197
at Nemerle.Compiler.TypesManager.EmitDecls() in
C:\Nemerle\Compiler\ncc\generation\HierarchyEmitter.n:line 204
at Nemerle.Compiler.ManagerClass.Run() in
C:\Nemerle\Compiler\ncc\passes.n:line 432
at Nemerle.CommandlineCompiler.MainClass.main_with_catching() in
C:\Nemerle\Compiler\ncc\main.n:line 86
======================================================================
----------------------------------------------------------------------
divan - 03-24-07 08:19
----------------------------------------------------------------------
This code is interpreted as (int..ctor).ToString ().
And currently there is no object wrap for value-type ctors (and other
methods i suppose).
So there are such issues:
1) ICE on that example
2) unable to write reference to "value-type method"
3) no object wraps for "value-type methods/ctors"
4) And one more, compiling the throwing code:
def f = int; //it's def f = void -> int ()
f.ToString (); //null reference exception
Issue History
Date Modified Username Field Change
======================================================================
02-14-07 11:39 nikov New Issue
03-24-07 08:19 divan Note Added: 0001827
03-24-07 08:19 divan Summary ICE if instance method
called in static context => ICE on \"int.ToString ()\"
03-24-07 08:19 divan Description Updated
======================================================================
More information about the bugs
mailing list