Accept new baselines

This commit is contained in:
Anders Hejlsberg 2018-02-07 12:49:03 -08:00
parent e3c137ce37
commit 5e84b0d201
4 changed files with 238 additions and 0 deletions

View File

@ -344,4 +344,24 @@ tests/cases/conformance/types/conditional/conditionalTypes1.ts(157,5): error TS2
type T50 = IsNever<never>; // true
type T51 = IsNever<number>; // false
type T52 = IsNever<any>; // false
// Repros from #21664
type Eq<T, U> = T extends U ? U extends T ? true : false : false;
type T60 = Eq<true, true>; // true
type T61 = Eq<true, false>; // false
type T62 = Eq<false, true>; // false
type T63 = Eq<false, false>; // true
type Eq1<T, U> = Eq<T, U> extends false ? false : true;
type T70 = Eq1<true, true>; // true
type T71 = Eq1<true, false>; // false
type T72 = Eq1<false, true>; // false
type T73 = Eq1<false, false>; // true
type Eq2<T, U> = Eq<T, U> extends true ? true : false;
type T80 = Eq2<true, true>; // true
type T81 = Eq2<true, false>; // false
type T82 = Eq2<false, true>; // false
type T83 = Eq2<false, false>; // true

View File

@ -204,6 +204,26 @@ type IsNever<T> = T extends never ? true : false;
type T50 = IsNever<never>; // true
type T51 = IsNever<number>; // false
type T52 = IsNever<any>; // false
// Repros from #21664
type Eq<T, U> = T extends U ? U extends T ? true : false : false;
type T60 = Eq<true, true>; // true
type T61 = Eq<true, false>; // false
type T62 = Eq<false, true>; // false
type T63 = Eq<false, false>; // true
type Eq1<T, U> = Eq<T, U> extends false ? false : true;
type T70 = Eq1<true, true>; // true
type T71 = Eq1<true, false>; // false
type T72 = Eq1<false, true>; // false
type T73 = Eq1<false, false>; // true
type Eq2<T, U> = Eq<T, U> extends true ? true : false;
type T80 = Eq2<true, true>; // true
type T81 = Eq2<true, false>; // false
type T82 = Eq2<false, true>; // false
type T83 = Eq2<false, false>; // true
//// [conditionalTypes1.js]
@ -415,3 +435,18 @@ declare type IsNever<T> = T extends never ? true : false;
declare type T50 = IsNever<never>;
declare type T51 = IsNever<number>;
declare type T52 = IsNever<any>;
declare type Eq<T, U> = T extends U ? U extends T ? true : false : false;
declare type T60 = Eq<true, true>;
declare type T61 = Eq<true, false>;
declare type T62 = Eq<false, true>;
declare type T63 = Eq<false, false>;
declare type Eq1<T, U> = Eq<T, U> extends false ? false : true;
declare type T70 = Eq1<true, true>;
declare type T71 = Eq1<true, false>;
declare type T72 = Eq1<false, true>;
declare type T73 = Eq1<false, false>;
declare type Eq2<T, U> = Eq<T, U> extends true ? true : false;
declare type T80 = Eq2<true, true>;
declare type T81 = Eq2<true, false>;
declare type T82 = Eq2<false, true>;
declare type T83 = Eq2<false, false>;

View File

@ -777,3 +777,78 @@ type T52 = IsNever<any>; // false
>T52 : Symbol(T52, Decl(conditionalTypes1.ts, 203, 27))
>IsNever : Symbol(IsNever, Decl(conditionalTypes1.ts, 198, 47))
// Repros from #21664
type Eq<T, U> = T extends U ? U extends T ? true : false : false;
>Eq : Symbol(Eq, Decl(conditionalTypes1.ts, 204, 24))
>T : Symbol(T, Decl(conditionalTypes1.ts, 208, 8))
>U : Symbol(U, Decl(conditionalTypes1.ts, 208, 10))
>T : Symbol(T, Decl(conditionalTypes1.ts, 208, 8))
>U : Symbol(U, Decl(conditionalTypes1.ts, 208, 10))
>U : Symbol(U, Decl(conditionalTypes1.ts, 208, 10))
>T : Symbol(T, Decl(conditionalTypes1.ts, 208, 8))
type T60 = Eq<true, true>; // true
>T60 : Symbol(T60, Decl(conditionalTypes1.ts, 208, 65))
>Eq : Symbol(Eq, Decl(conditionalTypes1.ts, 204, 24))
type T61 = Eq<true, false>; // false
>T61 : Symbol(T61, Decl(conditionalTypes1.ts, 209, 26))
>Eq : Symbol(Eq, Decl(conditionalTypes1.ts, 204, 24))
type T62 = Eq<false, true>; // false
>T62 : Symbol(T62, Decl(conditionalTypes1.ts, 210, 27))
>Eq : Symbol(Eq, Decl(conditionalTypes1.ts, 204, 24))
type T63 = Eq<false, false>; // true
>T63 : Symbol(T63, Decl(conditionalTypes1.ts, 211, 27))
>Eq : Symbol(Eq, Decl(conditionalTypes1.ts, 204, 24))
type Eq1<T, U> = Eq<T, U> extends false ? false : true;
>Eq1 : Symbol(Eq1, Decl(conditionalTypes1.ts, 212, 28))
>T : Symbol(T, Decl(conditionalTypes1.ts, 214, 9))
>U : Symbol(U, Decl(conditionalTypes1.ts, 214, 11))
>Eq : Symbol(Eq, Decl(conditionalTypes1.ts, 204, 24))
>T : Symbol(T, Decl(conditionalTypes1.ts, 214, 9))
>U : Symbol(U, Decl(conditionalTypes1.ts, 214, 11))
type T70 = Eq1<true, true>; // true
>T70 : Symbol(T70, Decl(conditionalTypes1.ts, 214, 55))
>Eq1 : Symbol(Eq1, Decl(conditionalTypes1.ts, 212, 28))
type T71 = Eq1<true, false>; // false
>T71 : Symbol(T71, Decl(conditionalTypes1.ts, 215, 27))
>Eq1 : Symbol(Eq1, Decl(conditionalTypes1.ts, 212, 28))
type T72 = Eq1<false, true>; // false
>T72 : Symbol(T72, Decl(conditionalTypes1.ts, 216, 28))
>Eq1 : Symbol(Eq1, Decl(conditionalTypes1.ts, 212, 28))
type T73 = Eq1<false, false>; // true
>T73 : Symbol(T73, Decl(conditionalTypes1.ts, 217, 28))
>Eq1 : Symbol(Eq1, Decl(conditionalTypes1.ts, 212, 28))
type Eq2<T, U> = Eq<T, U> extends true ? true : false;
>Eq2 : Symbol(Eq2, Decl(conditionalTypes1.ts, 218, 29))
>T : Symbol(T, Decl(conditionalTypes1.ts, 220, 9))
>U : Symbol(U, Decl(conditionalTypes1.ts, 220, 11))
>Eq : Symbol(Eq, Decl(conditionalTypes1.ts, 204, 24))
>T : Symbol(T, Decl(conditionalTypes1.ts, 220, 9))
>U : Symbol(U, Decl(conditionalTypes1.ts, 220, 11))
type T80 = Eq2<true, true>; // true
>T80 : Symbol(T80, Decl(conditionalTypes1.ts, 220, 54))
>Eq2 : Symbol(Eq2, Decl(conditionalTypes1.ts, 218, 29))
type T81 = Eq2<true, false>; // false
>T81 : Symbol(T81, Decl(conditionalTypes1.ts, 221, 27))
>Eq2 : Symbol(Eq2, Decl(conditionalTypes1.ts, 218, 29))
type T82 = Eq2<false, true>; // false
>T82 : Symbol(T82, Decl(conditionalTypes1.ts, 222, 28))
>Eq2 : Symbol(Eq2, Decl(conditionalTypes1.ts, 218, 29))
type T83 = Eq2<false, false>; // true
>T83 : Symbol(T83, Decl(conditionalTypes1.ts, 223, 28))
>Eq2 : Symbol(Eq2, Decl(conditionalTypes1.ts, 218, 29))

View File

@ -883,3 +883,111 @@ type T52 = IsNever<any>; // false
>T52 : false
>IsNever : IsNever<T>
// Repros from #21664
type Eq<T, U> = T extends U ? U extends T ? true : false : false;
>Eq : Eq<T, U>
>T : T
>U : U
>T : T
>U : U
>U : U
>T : T
>true : true
>false : false
>false : false
type T60 = Eq<true, true>; // true
>T60 : true
>Eq : Eq<T, U>
>true : true
>true : true
type T61 = Eq<true, false>; // false
>T61 : false
>Eq : Eq<T, U>
>true : true
>false : false
type T62 = Eq<false, true>; // false
>T62 : false
>Eq : Eq<T, U>
>false : false
>true : true
type T63 = Eq<false, false>; // true
>T63 : true
>Eq : Eq<T, U>
>false : false
>false : false
type Eq1<T, U> = Eq<T, U> extends false ? false : true;
>Eq1 : Eq1<T, U>
>T : T
>U : U
>Eq : Eq<T, U>
>T : T
>U : U
>false : false
>false : false
>true : true
type T70 = Eq1<true, true>; // true
>T70 : true
>Eq1 : Eq1<T, U>
>true : true
>true : true
type T71 = Eq1<true, false>; // false
>T71 : false
>Eq1 : Eq1<T, U>
>true : true
>false : false
type T72 = Eq1<false, true>; // false
>T72 : false
>Eq1 : Eq1<T, U>
>false : false
>true : true
type T73 = Eq1<false, false>; // true
>T73 : true
>Eq1 : Eq1<T, U>
>false : false
>false : false
type Eq2<T, U> = Eq<T, U> extends true ? true : false;
>Eq2 : Eq2<T, U>
>T : T
>U : U
>Eq : Eq<T, U>
>T : T
>U : U
>true : true
>true : true
>false : false
type T80 = Eq2<true, true>; // true
>T80 : true
>Eq2 : Eq2<T, U>
>true : true
>true : true
type T81 = Eq2<true, false>; // false
>T81 : false
>Eq2 : Eq2<T, U>
>true : true
>false : false
type T82 = Eq2<false, true>; // false
>T82 : false
>Eq2 : Eq2<T, U>
>false : false
>true : true
type T83 = Eq2<false, false>; // true
>T83 : true
>Eq2 : Eq2<T, U>
>false : false
>false : false