Microsoft/TypeScript
Voir sur GitHubInterface Overload Generic Member - Compiler error when removing overload
Open
#51 370 ouverte le 1 nov. 2022
BugDomain: check: Type InferenceHelp Wanted
Métriques du dépôt
- Stars
- (48 455 stars)
- Métriques de merge PR
- (Merge moyen 6j 17h) (9 PRs mergées en 30 j)
Description
Bug Report
Removing an overload member Controller.handle from Controller causes a compilation error.
🔎 Search Terms
- Interface overload
- Member Type Parameter
- Works When Removing overload
⏯ Playground Link
💻 Code
Code below compiles
export interface Controller {
handle<T>(httpRequest: HttpRequest<T>): HttpResponse<T>;
handle<TRequest, TResponse>(httpRequest: HttpRequest<TRequest>): HttpResponse<TResponse>;
}
Code below does not compile
export interface Controller {
// handle<T>(httpRequest: HttpRequest<T>): HttpResponse<T>;
handle<TRequest, TResponse>(httpRequest: HttpRequest<TRequest>): HttpResponse<TResponse>;
}
Code below does not compile
export interface Controller {
handle<T>(httpRequest: HttpRequest<T>): HttpResponse<T>;
// handle<TRequest, TResponse>(httpRequest: HttpRequest<TRequest>): HttpResponse<TResponse>;
}
🙁 Actual behavior
Code does not compile when removing any of the overloads.
🙂 Expected behavior
Since having an overload in Controller.handle works, having just one member with the correct signature should also work.