temp fix #919
This commit is contained in:
parent
8be06920d6
commit
2026576845
19
TestSuite/overloads8.pas
Normal file
19
TestSuite/overloads8.pas
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
type Point = auto class
|
||||||
|
x,y: integer;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var i := 1;
|
||||||
|
|
||||||
|
function RandomPoint: Point;
|
||||||
|
begin
|
||||||
|
Result := new Point(i, i);
|
||||||
|
Inc(i);
|
||||||
|
end;
|
||||||
|
|
||||||
|
var a: array of Point;
|
||||||
|
|
||||||
|
begin
|
||||||
|
a := ArrGen(10,i->RandomPoint);
|
||||||
|
assert(a.Min(p->p.x) = 1);
|
||||||
|
assert(a.Max(p->p.x) = 10);
|
||||||
|
end.
|
||||||
|
|
@ -2235,8 +2235,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
// выбрать либо функцию из оставшихся с ровно совпадающим типом лямбды либо с ближайшим
|
// выбрать либо функцию из оставшихся с ровно совпадающим типом лямбды либо с ближайшим
|
||||||
// (остались только те, к которым можно преобразовать)
|
// (остались только те, к которым можно преобразовать)
|
||||||
// Некоторая проблема будет если лямбд останется несколько и расстояния до результата будут разными и ненулевыми везде
|
// Некоторая проблема будет если лямбд останется несколько и расстояния до результата будут разными и ненулевыми везде
|
||||||
|
if (funcs.Count >= 2) // SSM - это ужасный способ устранения бага #236 Range(1,10).Sum(e -> e); Для хорошего способа весь код выбора версий функций для делегатов надо переписывать
|
||||||
if (funcs.Count == 2) // SSM - это ужасный способ устранения бага #236 Range(1,10).Sum(e -> e); Для хорошего способа весь код выбора версий функций для делегатов надо переписывать
|
|
||||||
{
|
{
|
||||||
var f1 = funcs[0];
|
var f1 = funcs[0];
|
||||||
var f2 = funcs[1];
|
var f2 = funcs[1];
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue