Microsoft/TypeScript
View on GitHubNo constituent of type 'Function | (T & Function)' is callable.
Open
#46,066 opened on Sep 26, 2021
BugDomain: Error MessagesEffort: DifficultHelp Wanted
Repository metrics
- Stars
- (48,455 stars)
- PR merge metrics
- (Avg merge 6d 17h) (9 merged PRs in 30d)
Description
Bug Report
🔎 Search Terms
generic function union-type call-signatures
🕗 Version & Regression Information
- This is a crash
- This is the behavior in every version I tried, and I reviewed the FAQ for entries about Generics
- I was unable to test this on prior versions because _______
⏯ Playground Link
Playground link with relevant code
💻 Code
type Test = <T>(fn: T | Function) => void;
const test: Test = (fn) => {
return typeof fn === 'function' ? fn() : null;
};
// This expression is not callable.
// No constituent of type 'Function | (T & Function)' is callable.
🙁 Actual behavior
Compiler throw error: This expression is not callable. Not all constituents of type 'Function | (T & Function)' are callable.
🙂 Expected behavior
Compile success
because both 'Function | (T & Function)' are callable.