2020-06-18 23:17:13 +03:00
|
|
|
|
// Это холостой тест. В оригинале было where G: integer но это мы запретили
|
|
|
|
|
|
type cl1<T> = class where T: record, constructor;
|
2015-05-14 22:35:07 +03:00
|
|
|
|
private
|
|
|
|
|
|
k: T:= new T();
|
|
|
|
|
|
public
|
2020-06-18 23:17:13 +03:00
|
|
|
|
function r<G>(gg: G): T; where G: record;
|
2015-05-14 22:35:07 +03:00
|
|
|
|
begin
|
|
|
|
|
|
begin
|
|
|
|
|
|
var l := Seq(1,2,3);
|
|
|
|
|
|
var fff := 5;
|
2020-06-18 23:17:13 +03:00
|
|
|
|
//var tttt := l.Select(x -> begin fff := fff + 1; result := gg + k + fff + x end).ToList();
|
|
|
|
|
|
//assert(tttt[0] = 72);
|
|
|
|
|
|
//assert(tttt[1] = 74);
|
|
|
|
|
|
//assert(tttt[2] = 76);
|
2015-05-14 22:35:07 +03:00
|
|
|
|
end;
|
|
|
|
|
|
begin
|
|
|
|
|
|
var l := Seq(1,2,3);
|
|
|
|
|
|
var fff := 5;
|
2020-06-18 23:17:13 +03:00
|
|
|
|
//var tttt := l.Select(x -> gg + k + fff).ToList();
|
|
|
|
|
|
//assert(tttt[0] = 70);
|
|
|
|
|
|
//assert(tttt[1] = 70);
|
|
|
|
|
|
//assert(tttt[2] = 70);
|
2015-05-14 22:35:07 +03:00
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
public constructor(a:T);
|
|
|
|
|
|
begin
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2020-06-18 23:17:13 +03:00
|
|
|
|
procedure pr<T>(a: T); where T: record, constructor;
|
2015-05-14 22:35:07 +03:00
|
|
|
|
begin
|
|
|
|
|
|
var g: cl1<T> := new cl1<T>(a);
|
|
|
|
|
|
g.r(65);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
begin
|
|
|
|
|
|
pr(2);
|
|
|
|
|
|
end.
|
|
|
|
|
|
|