TypeScript/tests/baselines/reference/readonlyFloat32ArrayAssignableWithFloat32Array.symbols
Wesley Wigham 87d10eb055
Eliminate well known symbols as a concept in the checker and rely on unique symbols (#42543)
* Eliminate well-known symbols in the checker: 2021 edition

* Actually update the lib text to say unique symbol, too (this is unneeded with compat code in place, but this makes goto-def make more sense)

* Add test showing mismatched symbol constructor type interop

* Add more test cases for some other related issues this fixes

* Revert computed name change

* Style comments
2021-02-22 14:43:28 -08:00

44 lines
2.5 KiB
Plaintext

=== tests/cases/compiler/readonlyFloat32ArrayAssignableWithFloat32Array.ts ===
function update(b: Readonly<Float32Array>) {
>update : Symbol(update, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 0, 0))
>b : Symbol(b, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 0, 16))
>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --))
>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
const c = copy(b);
>c : Symbol(c, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 1, 9))
>copy : Symbol(copy, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 7, 1))
>b : Symbol(b, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 0, 16))
add(c, c);
>add : Symbol(add, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 3, 1))
>c : Symbol(c, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 1, 9))
>c : Symbol(c, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 1, 9))
}
function add(a: Float32Array, b: Float32Array, c: Float32Array = a) {
>add : Symbol(add, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 3, 1))
>a : Symbol(a, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 5, 13))
>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>b : Symbol(b, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 5, 29))
>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>c : Symbol(c, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 5, 46))
>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>a : Symbol(a, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 5, 13))
c[0] = a[0] + b[0];
>c : Symbol(c, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 5, 46))
>a : Symbol(a, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 5, 13))
>b : Symbol(b, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 5, 29))
}
function copy(a: Float32Array) {
>copy : Symbol(copy, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 7, 1))
>a : Symbol(a, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 9, 14))
>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
return new Float32Array(a);
>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>a : Symbol(a, Decl(readonlyFloat32ArrayAssignableWithFloat32Array.ts, 9, 14))
}