Accept new baselines

This commit is contained in:
Anders Hejlsberg 2018-07-24 15:33:10 -07:00
parent aeae05eaf5
commit fe9ca725b9
4 changed files with 45 additions and 3 deletions

View File

@ -25,9 +25,10 @@ tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterInd
tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterIndirectlyConstrainedToItself.ts(16,47): error TS2313: Type parameter 'V' has a circular constraint.
tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterIndirectlyConstrainedToItself.ts(18,32): error TS2313: Type parameter 'T' has a circular constraint.
tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterIndirectlyConstrainedToItself.ts(18,45): error TS2313: Type parameter 'V' has a circular constraint.
tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterIndirectlyConstrainedToItself.ts(23,24): error TS2313: Type parameter 'S' has a circular constraint.
==== tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterIndirectlyConstrainedToItself.ts (27 errors) ====
==== tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterIndirectlyConstrainedToItself.ts (28 errors) ====
class C<U extends T, T extends U> { }
~
!!! error TS2313: Type parameter 'U' has a circular constraint.
@ -99,4 +100,12 @@ tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterInd
~
!!! error TS2313: Type parameter 'T' has a circular constraint.
~
!!! error TS2313: Type parameter 'V' has a circular constraint.
!!! error TS2313: Type parameter 'V' has a circular constraint.
// Repro from #25740
type Foo<T> = [T] extends [number] ? {} : {};
function foo<S extends Foo<S>>() {}
~~~~~~
!!! error TS2313: Type parameter 'S' has a circular constraint.

View File

@ -16,7 +16,13 @@ var a: {
var b = <U extends T, T extends U>() => { }
var b2 = <T extends U, U extends V, V extends T>() => { }
class D<U extends T, T extends V, V extends T> { }
class D<U extends T, T extends V, V extends T> { }
// Repro from #25740
type Foo<T> = [T] extends [number] ? {} : {};
function foo<S extends Foo<S>>() {}
//// [typeParameterIndirectlyConstrainedToItself.js]
var C = /** @class */ (function () {
@ -39,3 +45,4 @@ var D = /** @class */ (function () {
}
return D;
}());
function foo() { }

View File

@ -90,3 +90,16 @@ class D<U extends T, T extends V, V extends T> { }
>V : Symbol(V, Decl(typeParameterIndirectlyConstrainedToItself.ts, 17, 33))
>T : Symbol(T, Decl(typeParameterIndirectlyConstrainedToItself.ts, 17, 20))
// Repro from #25740
type Foo<T> = [T] extends [number] ? {} : {};
>Foo : Symbol(Foo, Decl(typeParameterIndirectlyConstrainedToItself.ts, 17, 50))
>T : Symbol(T, Decl(typeParameterIndirectlyConstrainedToItself.ts, 21, 9))
>T : Symbol(T, Decl(typeParameterIndirectlyConstrainedToItself.ts, 21, 9))
function foo<S extends Foo<S>>() {}
>foo : Symbol(foo, Decl(typeParameterIndirectlyConstrainedToItself.ts, 21, 45))
>S : Symbol(S, Decl(typeParameterIndirectlyConstrainedToItself.ts, 22, 13))
>Foo : Symbol(Foo, Decl(typeParameterIndirectlyConstrainedToItself.ts, 17, 50))
>S : Symbol(S, Decl(typeParameterIndirectlyConstrainedToItself.ts, 22, 13))

View File

@ -92,3 +92,16 @@ class D<U extends T, T extends V, V extends T> { }
>V : V
>T : T
// Repro from #25740
type Foo<T> = [T] extends [number] ? {} : {};
>Foo : Foo<T>
>T : T
>T : T
function foo<S extends Foo<S>>() {}
>foo : <S>() => void
>S : S
>Foo : Foo<T>
>S : S