// @strict: true // test for #15371 function f(s: string, tp: T[P]): void { tp = s; } function g(s: string, tp: T[P]): void { tp = s; } function h(s: string, tp: T[P]): void { tp = s; } function i(s: string, tp: T[P]): void { tp = s; } function j(s: string, tp: T[P]): void { tp = s; } function k(s: string, tp: T[P]): void { tp = s; } function o(s: string, tp: T[P]): void { tp = s; } function l(s: string, tp: T[P]): void { tp = s; } function m(s: string, tp: T[P]): void { tp = s; } function n(s: string, tp: T[P]): void { tp = s; }