fix(ses,pass-style,marshal): fix #2428 permit disposal intrinsics #2429
+340
−27
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes: #2428
Refs: #2223
Description
https://github.com/tc39/proposal-explicit-resource-management has reached stage 3 awhile ago, so we should permit its intrinsics before it gets rolled out widely.
Besides, once it is available on enough target platforms, we'd like to start using it.
This PR merely adds special cases for
SuppressedError
paralleling the special cases we already had forAggregateError
. A follow-on PR #2223 should generalize the handling of novel safe error properties so we no longer need to do such bespoke error handling.Security Considerations
While https://github.com/tc39/proposal-explicit-resource-management was going through stages, we were involved and believe that the proposal as accepted has no security issues. This PR unconditionally permits it with no further repair under the assumption that all platforms of interest, if they implement it at all, implement it correctly.
Scaling Considerations
For this PR by itself, none.
https://github.com/tc39/proposal-explicit-resource-management should help us write code that more reliably cleans up after itself, which should help scalability.
Documentation Considerations
By supporting https://github.com/tc39/proposal-explicit-resource-management before it is widely available, we avoid the need to document its omission.
Testing Considerations
SuppressedError
handling that parallels the tests we have forAggregateError
Compatibility Considerations
As with
AggregateError
, we need to make sure thatSuppressedError
can be received correctly by all endpoints of interest before we can start sending it.Upgrade Considerations