Есть кусок кода, который приводит к ошибке компиляции
Test.n:10:16:10:31: error: expected System.Collections.Generic.IEnumerable[object+], got void in function return value: void is not a subtype of System.Collections.Generic.IEnumerable[object+]
Если поменять комментарий и убрать явную пропись IEnumerable[_] из сигнатуры функции f, то код заработает:
using System.Console;
using System.Collections.Generic;
public module Tester {
public Test () : IEnumerable [int]
{
// def f ()
def f () : IEnumerable [_]
{
for (mutable i = 0; i < 10; i ++)
{
yield i
}
}
f ()
}
}
foreach (i in Tester.Test())
{
WriteLine (i)
}