-
Notifications
You must be signed in to change notification settings - Fork 13k
Closed
Labels
Experience EnhancementNoncontroversial enhancementsNoncontroversial enhancementsSuggestionAn idea for TypeScriptAn idea for TypeScript
Milestone
Description
Bug Report
When you auto implement an interface, I would not expect TypeScript to suggest the any
type.
🔎 Search Terms
auto complete
💻 Code
interface OperatingSystem {
}
interface IPathService {
hasValidBasename(resource: string, basename?: string): Promise<boolean>;
hasValidBasename(resource: string, os: OperatingSystem, basename?: string): boolean;
}
class PathService implements IPathService {
// Let TS implement the interface!
}
🙁 Actual behavior
hasValidBasename(resource: string,basename?: string): Promise<boolean>;
hasValidBasename(resource: string,os: OperatingSystem,basename?: string): boolean;
hasValidBasename(resource: any,os?: any,basename?: any): boolean|Promise<boolean> {
throw new Error("Method not implemented.");
}
🙂 Expected behavior
hasValidBasename(resource: string,basename?: string): Promise<boolean>;
hasValidBasename(resource: string,os: OperatingSystem,basename?: string): boolean;
hasValidBasename(resource: string,os?: arg2: basename | OperatingSystem,basename?: string): boolean|Promise<boolean> {
throw new Error("Method not implemented.");
}
At the very minimum, put unknown
.
a-tarasyuk and Yadro
Metadata
Metadata
Assignees
Labels
Experience EnhancementNoncontroversial enhancementsNoncontroversial enhancementsSuggestionAn idea for TypeScriptAn idea for TypeScript