Closed
Description
Reported by @wycats. Compile this under strictNullChecks
and noImplicitAny
.
declare function someAbstraction(x: any): any;
let x: string;
someAbstraction(() => {
x = "hello";
});
// All of the following are errors.
x;
x as any;
x!;
I'd argue that both type assertions should be able to signal to the type system that the variable has been initialized.