π Search Terms
type guard parameter any unknown
π Version & Regression Information
- This changed between versions 4.9.6 and 5.0.4
β― Playground Link
https://www.typescriptlang.org/play?ts=5.5.0-dev.20240321#code/JYOwLgpgTgZghgYwgAgEIHsAeAeAKgPmQG8AoZc5ANzgBsBXCALmVxIF8SSY6QExh0IZMADOGHAQAUAIyzMeAaxDoA7iACUzWZmEi0WPIVIVkUCGDpQhYKA3acEgkWGQg6AW2nRxzcdkXKaoQAvMTU9EwAjBwkwDDIkqJ+bp7Q+JIpXlDi6urEZBSZ3lgAdOF2JgD0lSYmAHoA-PZxCUkGcCAAnulF2Vi5+Sa94mW0FRTVtRSN7EA
π» Code
interface Box<T> {
value: T
}
function isBox<T>(box: unknown): box is Box<T> {
return true
}
const numberBox: Box<unknown> = {value:1}
if (isBox<number>(numberBox)) {
numberBox.value
// ^?
}
if (isBox<any>(numberBox)) {
numberBox.value
// ^?
}
π Actual behavior
if (isBox<any>(numberBox)) {
numberBox.value
// ^? (property) Box<unknown>.value: unknown
}
π Expected behavior
if (isBox<any>(numberBox)) {
numberBox.value
// ^? (property) Box<any>.value: any
}
Additional information about the issue
Maybe caused by #52282 which also caused #53178
π Search Terms
type guard parameter any unknown
π Version & Regression Information
β― Playground Link
https://www.typescriptlang.org/play?ts=5.5.0-dev.20240321#code/JYOwLgpgTgZghgYwgAgEIHsAeAeAKgPmQG8AoZc5ANzgBsBXCALmVxIF8SSY6QExh0IZMADOGHAQAUAIyzMeAaxDoA7iACUzWZmEi0WPIVIVkUCGDpQhYKA3acEgkWGQg6AW2nRxzcdkXKaoQAvMTU9EwAjBwkwDDIkqJ+bp7Q+JIpXlDi6urEZBSZ3lgAdOF2JgD0lSYmAHoA-PZxCUkGcCAAnulF2Vi5+Sa94mW0FRTVtRSN7EA
π» Code
π Actual behavior
π Expected behavior
Additional information about the issue
Maybe caused by #52282 which also caused #53178