Skip to content

Update spec text and test cases for Stage 2 readiness#9

Open
jasnell wants to merge 3 commits intomainfrom
fixups
Open

Update spec text and test cases for Stage 2 readiness#9
jasnell wants to merge 3 commits intomainfrom
fixups

Conversation

@jasnell
Copy link
Collaborator

@jasnell jasnell commented Mar 7, 2026

spec.emu:

  • Use Table 70 lookup for receiver validation instead of [[TypedArrayName]] slot
  • Add explicit GetMethod/undefined check for items iterator (all 3 methods)
  • Add IsTypedArrayOutOfBounds re-check in %TypedArray%.concat copy loop
  • Use "integral Number" concept in ValidateIntegralNumber (replaces NaN + truncate checks)
  • Use ArrayBufferByteLength() AO in CopySourcesToBuffer (not raw slot access)
  • Restructure options handling: remove OrdinaryObjectCreate(null), use if/else
  • Add type="built-in function" to all 3 concat clauses
  • Add "length" property definitions for all 3 methods
  • Add NOTE about detachment safety in CopySourcesToBuffer
  • Add NOTE about empty iterable edge case in %TypedArray%.concat
  • Add Assert that MakeArrayBufferImmutable is not called on SharedArrayBuffer
  • Add "It performs the following steps when called:" to AO descriptions

TEST_CASES.md:

  • Fix [9.2.4]: null options is TypeError (not accepted)
  • Fix [25.6.1]: subclass constructors not in Table 70, clear TypeError
  • Fix section 1.2 heading to reference Table 70
  • Add Symbol.iterator=null tests for all 3 methods
  • Add null options test for SharedArrayBuffer.concat
  • Clean up evaluation order section with correct step references

spec.emu:
- Use Table 70 lookup for receiver validation instead of [[TypedArrayName]] slot
- Add explicit GetMethod/undefined check for items iterator (all 3 methods)
- Add IsTypedArrayOutOfBounds re-check in %TypedArray%.concat copy loop
- Use "integral Number" concept in ValidateIntegralNumber (replaces NaN + truncate checks)
- Use ArrayBufferByteLength() AO in CopySourcesToBuffer (not raw slot access)
- Restructure options handling: remove OrdinaryObjectCreate(null), use if/else
- Add type="built-in function" to all 3 concat clauses
- Add "length" property definitions for all 3 methods
- Add NOTE about detachment safety in CopySourcesToBuffer
- Add NOTE about empty iterable edge case in %TypedArray%.concat
- Add Assert that MakeArrayBufferImmutable is not called on SharedArrayBuffer
- Add "It performs the following steps when called:" to AO descriptions

TEST_CASES.md:
- Fix [9.2.4]: null options is TypeError (not accepted)
- Fix [25.6.1]: subclass constructors not in Table 70, clear TypeError
- Fix section 1.2 heading to reference Table 70
- Add Symbol.iterator=null tests for all 3 methods
- Add null options test for SharedArrayBuffer.concat
- Clean up evaluation order section with correct step references
@github-actions
Copy link

github-actions bot commented Mar 7, 2026

The rendered spec for this PR is available at https://tc39.es/proposal-typedarray-concat/pr/9.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant