Не собирается компилятор
От: _NN_ www.nemerleweb.com
Дата: 23.07.15 19:27
Оценка:
Сам код

// REFERENCE: System.Core
using System;
using System.Linq;

module Test
{
  class Class1
  {
    public val : int;

    public this(i : int) { val = i }

    public override ToString() : string { $"$val" }
  }

  public delegate F[T, R](t : T) : R;

  public UseDelegate[TSource, TResult](o : F[TSource, TResult], val : TSource) : object
  {
    o(val)
  }

  public UseFunction[TSource, TResult](o : TSource -> TResult, val : TSource) : object
  {
    o(val)
  }
  
  Main() : void
  {
    def lst = [1, 2, 3];
    def lst = lst.Select(Class1);
    def res = lst.Sum(_.val);
    Console.WriteLine(res);
    Console.WriteLine(UseDelegate(Class1, 1));
    Console.WriteLine(UseFunction(Class1, 2));
    
  }
}

/*
BEGIN-OUTPUT
6
1
2
END-OUTPUT
*/


А вот выхлоп сборки:

  C:\Projects\External\nemerle\ncc\testsuite\positive\Issue-git-0327.n: ..................................failed
  Unexpected Nemerle compiler's message :
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:32:15:32:22: hint:   Posible overload: method System.Linq.Enumerable.Sum(source : System.Collections.Generic.IEnumerable[TSource], selector : System.Func[TSource, System.Nullable[float]]) : System.Nullable[float]
  Unexpected Nemerle compiler's message :
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:32:15:32:22: hint:   Posible overload: method System.Linq.Enumerable.Sum(source : System.Collections.Generic.IEnumerable[TSource], selector : System.Func[TSource, System.Nullable[decimal]]) : System.Nullable[decimal]
  Unexpected Nemerle compiler's message :
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:32:15:32:22: hint:   Posible overload: method System.Linq.Enumerable.Sum(source : System.Collections.Generic.IEnumerable[TSource], selector : System.Func[TSource, int]) : int
  Unexpected Nemerle compiler's message :
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:33:5:33:22: hint:   Posible overload: method System.Console.WriteLine(value : bool) : void
  Unexpected Nemerle compiler's message :
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:33:5:33:22: hint:   Posible overload: method System.Console.WriteLine(value : char) : void
  Unexpected Nemerle compiler's message :
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:33:5:33:22: hint:   Posible overload: method System.Console.WriteLine(buffer : array[char]) : void
  Unexpected Nemerle compiler's message :
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:33:5:33:22: hint:   Posible overload: method System.Console.WriteLine(value : string) : void
  Nemerle compile test failed
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:32:25:32:28: error: typing fails on accessing member val in the ? type
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:32:15:32:22: error: typing fails on ambiguity between overloads:
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:32:15:32:22: hint:   Posible overload: method System.Linq.Enumerable.Sum(source : System.Collections.Generic.IEnumerable[TSource], selector : System.Func[TSource, System.Nullable[float]]) : System.Nullable[float]
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:32:15:32:22: hint:   Posible overload: method System.Linq.Enumerable.Sum(source : System.Collections.Generic.IEnumerable[TSource], selector : System.Func[TSource, System.Nullable[decimal]]) : System.Nullable[decimal]
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:32:15:32:22: hint:   Posible overload: method System.Linq.Enumerable.Sum(source : System.Collections.Generic.IEnumerable[TSource], selector : System.Func[TSource, int]) : int
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:33:5:33:22: error: typing fails on ambiguity between overloads:
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:33:5:33:22: hint:   Posible overload: method System.Console.WriteLine(value : bool) : void
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:33:5:33:22: hint:   Posible overload: method System.Console.WriteLine(value : char) : void
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:33:5:33:22: hint:   Posible overload: method System.Console.WriteLine(buffer : array[char]) : void
  C:/Projects/External/nemerle/ncc/testsuite/positive/Issue-git-0327.n:33:5:33:22: hint:   Posible overload: method System.Console.WriteLine(value : string) : void
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.