type t1 = class(System.IEquatable>) public property Item[ind: integer]: integer read 1; default; public static procedure p1; begin var a := new t1; //Ошибка: Нет индексного свойства по умолчанию для типа t1 var x := a[0]; assert(x = 1); end; public function Equals(other: t1) := true; end; begin t1&.p1; end.