mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Add regression test
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
//// [evolvingArrayTypeInAssert.ts]
|
||||
export function unsafeCast<T>(_value: unknown): asserts _value is T { }
|
||||
|
||||
function yadda() {
|
||||
let out = [];
|
||||
out.push(100)
|
||||
unsafeCast<any>(out);
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
//// [evolvingArrayTypeInAssert.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
exports.unsafeCast = void 0;
|
||||
function unsafeCast(_value) { }
|
||||
exports.unsafeCast = unsafeCast;
|
||||
function yadda() {
|
||||
var out = [];
|
||||
out.push(100);
|
||||
unsafeCast(out);
|
||||
return out;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
=== tests/cases/compiler/evolvingArrayTypeInAssert.ts ===
|
||||
export function unsafeCast<T>(_value: unknown): asserts _value is T { }
|
||||
>unsafeCast : Symbol(unsafeCast, Decl(evolvingArrayTypeInAssert.ts, 0, 0))
|
||||
>T : Symbol(T, Decl(evolvingArrayTypeInAssert.ts, 0, 27))
|
||||
>_value : Symbol(_value, Decl(evolvingArrayTypeInAssert.ts, 0, 30))
|
||||
>_value : Symbol(_value, Decl(evolvingArrayTypeInAssert.ts, 0, 30))
|
||||
>T : Symbol(T, Decl(evolvingArrayTypeInAssert.ts, 0, 27))
|
||||
|
||||
function yadda() {
|
||||
>yadda : Symbol(yadda, Decl(evolvingArrayTypeInAssert.ts, 0, 71))
|
||||
|
||||
let out = [];
|
||||
>out : Symbol(out, Decl(evolvingArrayTypeInAssert.ts, 3, 7))
|
||||
|
||||
out.push(100)
|
||||
>out.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --))
|
||||
>out : Symbol(out, Decl(evolvingArrayTypeInAssert.ts, 3, 7))
|
||||
>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --))
|
||||
|
||||
unsafeCast<any>(out);
|
||||
>unsafeCast : Symbol(unsafeCast, Decl(evolvingArrayTypeInAssert.ts, 0, 0))
|
||||
>out : Symbol(out, Decl(evolvingArrayTypeInAssert.ts, 3, 7))
|
||||
|
||||
return out;
|
||||
>out : Symbol(out, Decl(evolvingArrayTypeInAssert.ts, 3, 7))
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
=== tests/cases/compiler/evolvingArrayTypeInAssert.ts ===
|
||||
export function unsafeCast<T>(_value: unknown): asserts _value is T { }
|
||||
>unsafeCast : <T>(_value: unknown) => asserts _value is T
|
||||
>_value : unknown
|
||||
|
||||
function yadda() {
|
||||
>yadda : () => number[]
|
||||
|
||||
let out = [];
|
||||
>out : any[]
|
||||
>[] : never[]
|
||||
|
||||
out.push(100)
|
||||
>out.push(100) : number
|
||||
>out.push : (...items: any[]) => number
|
||||
>out : any[]
|
||||
>push : (...items: any[]) => number
|
||||
>100 : 100
|
||||
|
||||
unsafeCast<any>(out);
|
||||
>unsafeCast<any>(out) : void
|
||||
>unsafeCast : <T>(_value: unknown) => asserts _value is T
|
||||
>out : number[]
|
||||
|
||||
return out;
|
||||
>out : number[]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
// @strict: true
|
||||
|
||||
export function unsafeCast<T>(_value: unknown): asserts _value is T { }
|
||||
|
||||
function yadda() {
|
||||
let out = [];
|
||||
out.push(100)
|
||||
unsafeCast<any>(out);
|
||||
return out;
|
||||
}
|
||||
Reference in New Issue
Block a user