Microsoft/TypeScript
Ver no GitHubCan't assign to partial of intersection with mapped type over generic
Open
#56.905 aberto em 30 de dez. de 2023
Domain: Mapped TypesHelp WantedPossible Improvement
Métricas do repositório
- Stars
- (48.455 stars)
- Métricas de merge de PR
- (Mesclagem média 6d 17h) (9 fundiu PRs em 30d)
Description
🔎 Search Terms
"mapped type", "mapped generic type", "intersection", "partial"
🕗 Version & Regression Information
Current version of Typescript, not sure if it's a regression
⏯ Playground Link
No response
💻 Code
Simple to reproduce:
type X = 'a' | 'b' | 'c'
const foo = <T extends X>() => {
const result: Partial<{d:number} & {[P in T]: boolean}> = {
// error: Type '{ d: number; }' is not assignable to type 'Partial<{ d: number; } & { [P in T]: boolean; }>'
d: 1
}
}
🙁 Actual behavior
I get an error
🙂 Expected behavior
I am able to use this type in general; I expect to be able to use a partial of it as well. The only thing I've found that satisfies the type is an empty object
Additional information about the issue
No response