=== tests/cases/conformance/expressions/binaryOperators/logicalAndOperator/logicalAndOperatorWithTypeParameters.ts === // The && operator permits the operands to be of any type and produces a result of the same // type as the second operand. function foo(t: T, u: U, v: V) { >foo : Symbol(foo, Decl(logicalAndOperatorWithTypeParameters.ts, 0, 0)) >T : Symbol(T, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 13)) >U : Symbol(U, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 15)) >V : Symbol(V, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 18)) >t : Symbol(t, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 36)) >T : Symbol(T, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 13)) >u : Symbol(u, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 41)) >U : Symbol(U, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 15)) >v : Symbol(v, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 47)) >V : Symbol(V, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 18)) var r1 = t && t; >r1 : Symbol(r1, Decl(logicalAndOperatorWithTypeParameters.ts, 4, 7)) >t : Symbol(t, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 36)) >t : Symbol(t, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 36)) var r2 = u && t; >r2 : Symbol(r2, Decl(logicalAndOperatorWithTypeParameters.ts, 5, 7)) >u : Symbol(u, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 41)) >t : Symbol(t, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 36)) var r3 = v && t; >r3 : Symbol(r3, Decl(logicalAndOperatorWithTypeParameters.ts, 6, 7)) >v : Symbol(v, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 47)) >t : Symbol(t, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 36)) var r4 = t && u; >r4 : Symbol(r4, Decl(logicalAndOperatorWithTypeParameters.ts, 8, 7)) >t : Symbol(t, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 36)) >u : Symbol(u, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 41)) var r5 = u && u; >r5 : Symbol(r5, Decl(logicalAndOperatorWithTypeParameters.ts, 9, 7)) >u : Symbol(u, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 41)) >u : Symbol(u, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 41)) var r6 = v && u; >r6 : Symbol(r6, Decl(logicalAndOperatorWithTypeParameters.ts, 10, 7)) >v : Symbol(v, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 47)) >u : Symbol(u, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 41)) var r7 = t && v; >r7 : Symbol(r7, Decl(logicalAndOperatorWithTypeParameters.ts, 12, 7)) >t : Symbol(t, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 36)) >v : Symbol(v, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 47)) var r8 = u && v; >r8 : Symbol(r8, Decl(logicalAndOperatorWithTypeParameters.ts, 13, 7)) >u : Symbol(u, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 41)) >v : Symbol(v, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 47)) var r9 = v && v; >r9 : Symbol(r9, Decl(logicalAndOperatorWithTypeParameters.ts, 14, 7)) >v : Symbol(v, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 47)) >v : Symbol(v, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 47)) var a: number; >a : Symbol(a, Decl(logicalAndOperatorWithTypeParameters.ts, 16, 7)) var r10 = t && a; >r10 : Symbol(r10, Decl(logicalAndOperatorWithTypeParameters.ts, 17, 7)) >t : Symbol(t, Decl(logicalAndOperatorWithTypeParameters.ts, 3, 36)) >a : Symbol(a, Decl(logicalAndOperatorWithTypeParameters.ts, 16, 7)) }