Open
Description
π Search Terms
exactOptionalPropertyTypes optional generic indexed access undefined missing contextual constraint eopt
π Version & Regression Information
- This changed in 5.3.0-dev.20230914
β― Playground Link
π» Code
// @exactOptionalPropertyTypes: true
interface XStateConfiguration {
theme?: "auto" | "dark" | "light";
viewColumn?: "beside" | "active";
}
declare function getVscodeConfiguration<T>(section: string): T | undefined;
export function getConfiguration<Name extends keyof XStateConfiguration>(
name: Name,
): XStateConfiguration[Name] {
const genericAssignabilityTest: XStateConfiguration[Name] = undefined; // error
return getVscodeConfiguration(name); // error
}
const concreteAssignabilityTest: XStateConfiguration[keyof XStateConfiguration] = undefined; // ok
π Actual behavior
undefined
is not assignable to an indexed access like this in expression space
π Expected behavior
I'd expect this to typecheck OK - just like the concrete example
Additional information about the issue
No response