type r1=record a: T1; b: T2; end; function f1(t: (T1, T2)): r1; begin (Result.a, Result.b) := t; end; begin var a{@var a: r1;@} := f1((0.0, '')); var s{@var s: string;@} := a.b; end.