Closed
Description
@rbuckton's proposal for Explicit Resource Management has reached stage 3 in TC39!
As such, it's time for TypeScript to look into its implementation. This proposal carries a few new features that TypeScript should have
using
declarationsSymbol.dispose
SuppressedError
Iterator.prototype[Symbol.dispose]
- Possibly a new interface called
Disposable
(which I think we should consider callingDisposableLike
) DisposableStack
We are in a slightly weird spot here since downlevel emit of using
is possible, but will require a lib
of esnext
.
Given that the 5.1 timeframe will be shorter, it would be reasonable for our first stab at this feature to include only support for --target esnext
.
Note that since Async Explicit Resource Management has been split off into its own proposal, I'm not suggesting we add it here.