В JavaScript уже есть половина того, что нужно для реализации ownership-like, как в Rust, просто она разбросана по разным API:
- using / Symbol.dispose
- DisposableStack.move()
- ArrayBuffer.transfer()
- Proxy.revocable()
- AbortSignal, WeakRef
Поверх этого можно собрать runtime-прототип. Делаю. Без borrow checker и compile-time гарантий, но с вполне полезными affine semantics в рантайме. Ownership в JS появляется не как одна фича языка, а как композиция нескольких независимых механизмов.
Post #2148
2.16K
- 🔥 10
- 👍 5
- ❤ 3
- 😁 1