@@ -54,3 +54,55 @@ const myReducer2 = combineReducers({
5454
5555});
5656
57+ // Repro from #30942
58+
59+ declare function withH<T, U>(handlerCreators: HandleCreatorsFactory<T, U>): U;
60+ >withH : Symbol(withH, Decl(genericFunctionInference2.ts, 14, 3))
61+ >T : Symbol(T, Decl(genericFunctionInference2.ts, 18, 23))
62+ >U : Symbol(U, Decl(genericFunctionInference2.ts, 18, 25))
63+ >handlerCreators : Symbol(handlerCreators, Decl(genericFunctionInference2.ts, 18, 29))
64+ >HandleCreatorsFactory : Symbol(HandleCreatorsFactory, Decl(genericFunctionInference2.ts, 20, 28))
65+ >T : Symbol(T, Decl(genericFunctionInference2.ts, 18, 23))
66+ >U : Symbol(U, Decl(genericFunctionInference2.ts, 18, 25))
67+ >U : Symbol(U, Decl(genericFunctionInference2.ts, 18, 25))
68+
69+ type Props = { out: number }
70+ >Props : Symbol(Props, Decl(genericFunctionInference2.ts, 18, 78))
71+ >out : Symbol(out, Decl(genericFunctionInference2.ts, 20, 14))
72+
73+ type HandleCreatorsFactory<T, U> = (initialProps: T) => { [P in keyof U]: (props: T) => U[P] };
74+ >HandleCreatorsFactory : Symbol(HandleCreatorsFactory, Decl(genericFunctionInference2.ts, 20, 28))
75+ >T : Symbol(T, Decl(genericFunctionInference2.ts, 22, 27))
76+ >U : Symbol(U, Decl(genericFunctionInference2.ts, 22, 29))
77+ >initialProps : Symbol(initialProps, Decl(genericFunctionInference2.ts, 22, 36))
78+ >T : Symbol(T, Decl(genericFunctionInference2.ts, 22, 27))
79+ >P : Symbol(P, Decl(genericFunctionInference2.ts, 22, 59))
80+ >U : Symbol(U, Decl(genericFunctionInference2.ts, 22, 29))
81+ >props : Symbol(props, Decl(genericFunctionInference2.ts, 22, 75))
82+ >T : Symbol(T, Decl(genericFunctionInference2.ts, 22, 27))
83+ >U : Symbol(U, Decl(genericFunctionInference2.ts, 22, 29))
84+ >P : Symbol(P, Decl(genericFunctionInference2.ts, 22, 59))
85+
86+ const enhancer4 = withH((props: Props) => ({
87+ >enhancer4 : Symbol(enhancer4, Decl(genericFunctionInference2.ts, 24, 5))
88+ >withH : Symbol(withH, Decl(genericFunctionInference2.ts, 14, 3))
89+ >props : Symbol(props, Decl(genericFunctionInference2.ts, 24, 25))
90+ >Props : Symbol(Props, Decl(genericFunctionInference2.ts, 18, 78))
91+
92+ onChange: (props) => (e: any) => {},
93+ >onChange : Symbol(onChange, Decl(genericFunctionInference2.ts, 24, 44))
94+ >props : Symbol(props, Decl(genericFunctionInference2.ts, 25, 15))
95+ >e : Symbol(e, Decl(genericFunctionInference2.ts, 25, 26))
96+
97+ onSubmit: (props) => (e: any) => {},
98+ >onSubmit : Symbol(onSubmit, Decl(genericFunctionInference2.ts, 25, 40))
99+ >props : Symbol(props, Decl(genericFunctionInference2.ts, 26, 15))
100+ >e : Symbol(e, Decl(genericFunctionInference2.ts, 26, 26))
101+
102+ }));
103+
104+ enhancer4.onChange(null);
105+ >enhancer4.onChange : Symbol(onChange, Decl(genericFunctionInference2.ts, 24, 44))
106+ >enhancer4 : Symbol(enhancer4, Decl(genericFunctionInference2.ts, 24, 5))
107+ >onChange : Symbol(onChange, Decl(genericFunctionInference2.ts, 24, 44))
108+
0 commit comments