declare function returnNever(): never;
declare function yieldNever(): Generator<never>;
const wrappedInEffect = Effect.gen(function* () {
const a = null as number | null;
// doesn't narrow
if (a == null) {
yield* yieldNever();
}
// does narrow
if (a == null) {
returnNever();
}
return a + 1;
});
declare function returnNever(): never;
declare function yieldNever(): Generator<never>;
const wrappedInEffect = Effect.gen(function* () {
const a = null as number | null;
// doesn't narrow
if (a == null) {
yield* yieldNever();
}
// does narrow
if (a == null) {
returnNever();
}
return a + 1;
});