[Mono-bugs] [Bug 350856] New: Nemerle doesn't work in Mono 1.2.6

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Dec 27 18:03:37 EST 2007


https://bugzilla.novell.com/show_bug.cgi?id=350856


           Summary: Nemerle doesn't work in Mono 1.2.6
           Product: Mono: Runtime
           Version: 1.2.6
          Platform: 64bit
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: generics
        AssignedTo: mono-bugs at ximian.com
        ReportedBy: s-kiess at web.de
         QAContact: mono-bugs at ximian.com
          Found By: ---


Starting with trunk r88411 Nemerle doesn't work anymore.

When I try to compile the following nemerle programm:


public abstract class A[T]
{
    protected a : T
}

public abstract class B[T] : A[T]
{
}

public class C : B[int]
{
    public F() : int
    {
        a
    }

    public static Main(args : array[string]) : int
    {
        0
    }
}


I get an exception:
x.n:18:24:18:28: warning: N168: a function parameter args was never used
x.n:18:24:18:28: hint: replace name with `_' or prefix it like `_bar' to avoid
the warning
error: internal compiler error: got some unknown exception of type
System.Exception: field not found
  at System.Reflection.Emit.TypeBuilder.GetField (System.Type instanciated,
System.Reflection.FieldInfo fld) [0x00000] 
  at Nemerle.Compiler.ILEmitter.FrameworkGetField (System.Type t,
System.Reflection.FieldInfo m) [0x00000] 
  at Nemerle.Compiler.ILEmitter.GetFieldInfo (System.Type _from_type, IField
meth) [0x00000] 
  at Nemerle.Compiler.ILEmitter.GetFieldInfo (Nemerle.Compiler.Typedtree.TExpr
_obj, IField fld) [0x00000] 
  at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr expr)
[0x00000] 
  at Nemerle.Compiler.ILEmitter.emit (Nemerle.Compiler.Typedtree.TExpr expr)
[0x00000] 
  at Nemerle.Compiler.ILEmitter.Run () [0x00000] 
  at Nemerle.Compiler.MethodBuilder+_N__N_l28851_28986.apply_void () [0x00000] 
  at Nemerle.Compiler.TypeBuilder.FinalizeType () [0x00000] 
  at Nemerle.Compiler.TypeBuilder.EmitImplementation () [0x00000] 
  at Nemerle.Compiler.TypesManager+_N_emit_impl_23866.apply_void
(Nemerle.Compiler.TypeBuilder _N_23865) [0x00000] 
  at Nemerle.Compiler.TypesManager+_N_maybe_f_24302.apply_void
(Nemerle.Compiler.TypeBuilder _N_24301) [0x00000] 
  at Nemerle.Collections.List.Iter[TypeBuilder] (Nemerle.Core.list`1 l,
Nemerle.Builtins.FunctionVoid`1 f) [0x00000] 
  at Nemerle.Core.list`1[Nemerle.Compiler.TypeBuilder].Iter
(Nemerle.Builtins.FunctionVoid`1 ) [0x00000] 
  at Nemerle.Compiler.TypesManager.Iter (Nemerle.Core.list`1 builders,
Nemerle.Builtins.FunctionVoid`1 f) [0x00000] 
  at Nemerle.Compiler.TypesManager.Iter (Nemerle.Builtins.FunctionVoid`1 f)
[0x00000] 
  at Nemerle.Compiler.TypesManager.compile_all_tyinfos (Boolean aux_phase)
[0x00000] 
  at Nemerle.Compiler.TypesManager+_N__N_l23450_23538.apply_void () [0x00000] 
  at Nemerle.Compiler.Solver.Enqueue (Nemerle.Builtins.FunctionVoid action)
[0x00000] 
  at Nemerle.Compiler.TypesManager.EmitDecls () [0x00000] 
  at Nemerle.Compiler.Passes.Run () [0x00000] 
  at Nemerle.CommandlineCompiler.MainClass.main_with_catching () [0x00000] 


Changing
public class C : B[int]
to
public class C : A[int]
solves the problem.

The problem was also reported to nemerle
(http://nemerle.org/bugs/view.php?id=1069) but AFAICS this is a Mono bug.


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list