lib: remove length field from SharedArrayBuffer (#40858)

* fix(lib): SharedArrayBuffer does not have a `length` field

* Revert formatting change.

* test: add tests for SharedArrayBuffer.length

Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
This commit is contained in:
Simon Chan 2020-10-06 23:27:56 +08:00 committed by GitHub
parent 0c7d45a9ed
commit fc0eed3795
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 34 additions and 34 deletions

View file

@ -7,10 +7,6 @@ interface SharedArrayBuffer {
*/
readonly byteLength: number;
/*
* The SharedArrayBuffer constructor's length property whose value is 1.
*/
length: number;
/**
* Returns a section of an SharedArrayBuffer.
*/

View file

@ -0,0 +1,11 @@
tests/cases/conformance/es2017/useSharedArrayBuffer6.ts(2,6): error TS2339: Property 'length' does not exist on type 'SharedArrayBuffer'.
==== tests/cases/conformance/es2017/useSharedArrayBuffer6.ts (1 errors) ====
var foge = new SharedArrayBuffer(1024);
foge.length; // should error
~~~~~~
!!! error TS2339: Property 'length' does not exist on type 'SharedArrayBuffer'.
var length = SharedArrayBuffer.length;

View file

@ -1,9 +1,11 @@
//// [useSharedArrayBuffer6.ts]
var foge = new SharedArrayBuffer(1024);
var species = foge[Symbol.species];
var stringTag = foge[Symbol.toStringTag];
foge.length; // should error
var length = SharedArrayBuffer.length;
//// [useSharedArrayBuffer6.js]
var foge = new SharedArrayBuffer(1024);
var species = foge[Symbol.species];
var stringTag = foge[Symbol.toStringTag];
foge.length; // should error
var length = SharedArrayBuffer.length;

View file

@ -3,17 +3,12 @@ var foge = new SharedArrayBuffer(1024);
>foge : Symbol(foge, Decl(useSharedArrayBuffer6.ts, 0, 3))
>SharedArrayBuffer : Symbol(SharedArrayBuffer, Decl(lib.es2017.sharedmemory.d.ts, --, --), Decl(lib.es2017.sharedmemory.d.ts, --, --))
var species = foge[Symbol.species];
>species : Symbol(species, Decl(useSharedArrayBuffer6.ts, 1, 3))
foge.length; // should error
>foge : Symbol(foge, Decl(useSharedArrayBuffer6.ts, 0, 3))
>Symbol.species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>species : Symbol(SymbolConstructor.species, Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
var stringTag = foge[Symbol.toStringTag];
>stringTag : Symbol(stringTag, Decl(useSharedArrayBuffer6.ts, 2, 3))
>foge : Symbol(foge, Decl(useSharedArrayBuffer6.ts, 0, 3))
>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
var length = SharedArrayBuffer.length;
>length : Symbol(length, Decl(useSharedArrayBuffer6.ts, 3, 3))
>SharedArrayBuffer.length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --))
>SharedArrayBuffer : Symbol(SharedArrayBuffer, Decl(lib.es2017.sharedmemory.d.ts, --, --), Decl(lib.es2017.sharedmemory.d.ts, --, --))
>length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --))

View file

@ -5,19 +5,14 @@ var foge = new SharedArrayBuffer(1024);
>SharedArrayBuffer : SharedArrayBufferConstructor
>1024 : 1024
var species = foge[Symbol.species];
>species : SharedArrayBuffer
>foge[Symbol.species] : SharedArrayBuffer
foge.length; // should error
>foge.length : any
>foge : SharedArrayBuffer
>Symbol.species : symbol
>Symbol : SymbolConstructor
>species : symbol
>length : any
var stringTag = foge[Symbol.toStringTag];
>stringTag : "SharedArrayBuffer"
>foge[Symbol.toStringTag] : "SharedArrayBuffer"
>foge : SharedArrayBuffer
>Symbol.toStringTag : symbol
>Symbol : SymbolConstructor
>toStringTag : symbol
var length = SharedArrayBuffer.length;
>length : number
>SharedArrayBuffer.length : number
>SharedArrayBuffer : SharedArrayBufferConstructor
>length : number

View file

@ -2,5 +2,6 @@
// @lib: es6,es2017.sharedmemory
var foge = new SharedArrayBuffer(1024);
var species = foge[Symbol.species];
var stringTag = foge[Symbol.toStringTag];
foge.length; // should error
var length = SharedArrayBuffer.length;