Засабмитил
https://github.com/rsdn/nemerle/issues/492
Баг-бабах:
C:\Program Files (x86)\Nemerle\Net-4.0\Nemerle.MSBuild.targets(289,5): error : internal compiler error: got some unknown exception of type System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Nemerle.Compiler.Typer3.ClosureRef(TFunHeader hd)
at Nemerle.Compiler.Typer3._N__N_lambda__78159__78272.apply(TFunHeader hd)
at Nemerle.Collections.NList.Map[T,TOut](list`1 lst, Function`2 convert)
at Nemerle.Compiler.Typer3.EmitCall(Location loc, TypeVar ret_type, TExpr func, list`1 parms, Boolean is_tail)
at Nemerle.Compiler.Typer3.DoWalk(TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typer3.Walk(TExpr expr)
at Nemerle.Compiler.Typer3.DoWalk(TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typer3.Walk(TExpr expr)
at Nemerle.Compiler.Typer3.DoWalk(TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typer3.Walk(TExpr expr)
at Nemerle.Compiler.Typer3.Run()
at Nemerle.Compiler.Typer3.HandleLocalFunctions(list`1 fns)
at Nemerle.Compiler.Typer3.DoWalk(TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typer3.Walk(TExpr expr)
at Nemerle.Compiler.Typer3.DoWalk(TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typer3.Walk(TExpr expr)
at Nemerle.Compiler.Typer3.Run()
at Nemerle.Compiler.Typer3.HandleLocalFunctions(list`1 fns)
at Nemerle.Compiler.Typer3.DoWalk(TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typer3.Walk(TExpr expr)
at Nemerle.Compiler.Typer3.DoWalk(TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typer3.Walk(TExpr expr)
at Nemerle.Compiler.Typer3.Run()
at Nemerle.Compiler.Typer3.EmitLoop(TFunHeader hd, list`1 parms)
at Nemerle.Compiler.Typer3.EmitCall(Location loc, TypeVar ret_type, TExpr func, list`1 parms, Boolean is_tail)
at Nemerle.Compiler.Typer3.DoWalk(TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typer3.Walk(TExpr expr)
at Nemerle.Compiler.Typer3.DoWalk(TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.do_walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typer3.Walk(TExpr expr)
at Nemerle.Compiler.Typer3.DoWalk(TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typer3.Walk(TExpr expr)
at Nemerle.Compiler.Typer3.DoWalk(TExpr expr)
at Nemerle.Compiler.Typedtree.TExpr.walk(Function`2 f, TExpr expr)
at Nemerle.Compiler.Typer3.Walk(TExpr expr)
at Nemerle.Compiler.Typer3.Run()
at Nemerle.Compiler.Typer.RunFullTyping()
at Nemerle.Compiler.MethodBuilder.RunBodyTyper()
at Nemerle.Compiler.MethodBuilder.Compile()
at Nemerle.Compiler.TypeBuilder.EmitImplementation()
at Nemerle.Compiler.TypesManager._N_emit_impl__61365.apply_void(TypeBuilder ti)
at Nemerle.Compiler.TypesManager._N_maybe_f__61616.apply_void(TypeBuilder ti)
at Nemerle.Collections.NList.Iter[T](list`1 l, FunctionVoid`1 f)
at Nemerle.Compiler.TypesManager.Iter(list`1 builders, FunctionVoid`1 f)
at Nemerle.Compiler.TypesManager.compile_all_tyinfos(Boolean aux_phase)
at Nemerle.Compiler.TypesManager._N__N_lambda__60789__60892.apply_void()
at Nemerle.Compiler.Solver.Enqueue(FunctionVoid action)
at Nemerle.Compiler.ManagerClass.Run()
at Nemerle.CommandlineCompiler.MainClass.main_with_catching()
Done building project "ConsoleApplication6.nproj" -- FAILED.
Build FAILED.
GetFrameworkPaths failed -- 0 errors, 0 warnings. Build took: 00:00:00.4789205.
public module Program
{
Main() : void
{
def qwe():void {
def asd() {
def zxc(e: int):int {
| 0 => x()
| 1 => y()
| _ => throw System.NotSupportedException()
}
and y():int {
asd();
1;
}
and x():int {
zxc(0);
}
}
asd();
}
qwe();
_ = System.Console.ReadLine();
}
}