mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-04-13 18:14:48 -05:00
Add regression tests
This commit is contained in:
@@ -182,3 +182,22 @@ enum State { A, B }
|
||||
type Foo = { state: State }
|
||||
declare function bar<T>(f: () => T[]): T[];
|
||||
let x: Foo[] = bar(() => !!true ? [{ state: State.A }] : [{ state: State.B }]); // Error
|
||||
|
||||
// Repros from #31443
|
||||
|
||||
enum Enum { A, B }
|
||||
|
||||
class ClassWithConvert<T> {
|
||||
constructor(val: T) { }
|
||||
convert(converter: { to: (v: T) => T; }) { }
|
||||
}
|
||||
|
||||
function fn<T>(arg: ClassWithConvert<T>, f: () => ClassWithConvert<T>) { }
|
||||
fn(new ClassWithConvert(Enum.A), () => new ClassWithConvert(Enum.A));
|
||||
|
||||
type Func<T> = (x: T) => T;
|
||||
|
||||
declare function makeFoo<T>(x: T): Func<T>;
|
||||
declare function baz<U>(x: Func<U>, y: Func<U>): void;
|
||||
|
||||
baz(makeFoo(Enum.A), makeFoo(Enum.A));
|
||||
|
||||
Reference in New Issue
Block a user