@@ -1844,3 +1844,39 @@ class B extends A<{ x: number}> {
18441844 }
18451845}
18461846
1847+ // Repro from #13749
1848+
1849+ class Form<T> {
1850+ >Form : Symbol(Form, Decl(keyofAndIndexedAccess.ts, 516, 1))
1851+ >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 520, 11))
1852+
1853+ private childFormFactories: {[K in keyof T]: (v: T[K]) => Form<T[K]>}
1854+ >childFormFactories : Symbol(Form.childFormFactories, Decl(keyofAndIndexedAccess.ts, 520, 15))
1855+ >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 521, 34))
1856+ >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 520, 11))
1857+ >v : Symbol(v, Decl(keyofAndIndexedAccess.ts, 521, 50))
1858+ >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 520, 11))
1859+ >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 521, 34))
1860+ >Form : Symbol(Form, Decl(keyofAndIndexedAccess.ts, 516, 1))
1861+ >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 520, 11))
1862+ >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 521, 34))
1863+
1864+ public set<K extends keyof T>(prop: K, value: T[K]) {
1865+ >set : Symbol(Form.set, Decl(keyofAndIndexedAccess.ts, 521, 73))
1866+ >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 523, 15))
1867+ >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 520, 11))
1868+ >prop : Symbol(prop, Decl(keyofAndIndexedAccess.ts, 523, 34))
1869+ >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 523, 15))
1870+ >value : Symbol(value, Decl(keyofAndIndexedAccess.ts, 523, 42))
1871+ >T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 520, 11))
1872+ >K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 523, 15))
1873+
1874+ this.childFormFactories[prop](value)
1875+ >this.childFormFactories : Symbol(Form.childFormFactories, Decl(keyofAndIndexedAccess.ts, 520, 15))
1876+ >this : Symbol(Form, Decl(keyofAndIndexedAccess.ts, 516, 1))
1877+ >childFormFactories : Symbol(Form.childFormFactories, Decl(keyofAndIndexedAccess.ts, 520, 15))
1878+ >prop : Symbol(prop, Decl(keyofAndIndexedAccess.ts, 523, 34))
1879+ >value : Symbol(value, Decl(keyofAndIndexedAccess.ts, 523, 42))
1880+ }
1881+ }
1882+
0 commit comments