-
-
Notifications
You must be signed in to change notification settings - Fork 33.2k
assert,util: fail promise comparison in deep equal checks #59448
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
assert,util: fail promise comparison in deep equal checks #59448
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #59448 +/- ##
=======================================
Coverage 89.88% 89.89%
=======================================
Files 656 656
Lines 192947 192984 +37
Branches 37841 37858 +17
=======================================
+ Hits 173427 173474 +47
+ Misses 12054 12052 -2
+ Partials 7466 7458 -8
🚀 New features to boost your workflow:
|
Can this behaviour get a mention under the method descriptions in assert.md, as WeakMap/WeakSet do currently? |
There is a typo in commit message "it's state" -> "its state". |
It is impossible to look into the content of a promise and its state. This aligns the comparison with WeakMaps and WeakSets. Only reference equal promises will pass the check in the future. Fixes nodejs#55198
23edea2
to
74ff4a7
Compare
I just updated the docs and fixed the commit message typo. PTAL |
Landed in 7c9fbc1 |
assert: * (SEMVER-MAJOR) move assert.fail with multiple arguments to eol (James M Snell) #58532 * (SEMVER-MAJOR) move CallTracker to EOL (James M Snell) #58006 assert,util: * (SEMVER-MAJOR) fail promise comparison in deep equal checks (Ruben Bridgewater) #59448 * (SEMVER-MAJOR) handle invalid dates as equal in deep comparison (Ruben Bridgewater) #57627 async_hooks: * (SEMVER-MAJOR) move `asyncResource` property on bound function to EOL (James M Snell) #58618 buffer: * (SEMVER-MAJOR) move SlowBuffer to EOL (Filip Skokan) #58220 build: * (SEMVER-MAJOR) bump minimum Clang version to 19 (Michaël Zasso) #59048 * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #58064 * (SEMVER-MAJOR) stop distributing Corepack (Antoine du Hamel) #57617 child_process: * (SEMVER-MAJOR) move _channel to end-of-life (James M Snell) #58527 crypto: * (SEMVER-MAJOR) runtime-deprecate default shake128/256 output lengths (Filip Skokan) #59008 * (SEMVER-MAJOR) move deprecated hash and mgf1Hash options to EOL (James M Snell) #58706 * (SEMVER-MAJOR) runtime deprecate ECDH.setPublicKey() (James M Snell) #58620 deps: * (SEMVER-MAJOR) V8: backport 1d3362c55396 (Shu-yu Guo) #58064 * (SEMVER-MAJOR) V8: cherry-pick 4f38995c8295 (Shu-yu Guo) #58064 * (SEMVER-MAJOR) V8: cherry-pick 044b9b6f589d (Rezvan Mahdavi Hezaveh) #58064 * (SEMVER-MAJOR) V8: cherry-pick d2ad518a0b57 (Joyee Cheung) #58064 * (SEMVER-MAJOR) V8: revert 6d6c1e680c7b (Michaël Zasso) #58064 * (SEMVER-MAJOR) V8: revert e3cddbedb205 (Michaël Zasso) #58064 * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) #58064 * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) #58064 * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) #58064 * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) #58064 * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) #58064 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #58064 * (SEMVER-MAJOR) update V8 to 13.7.152.9 (Michaël Zasso) #58064 dgram: * (SEMVER-MAJOR) move deprecated APIs to EOL (James M Snell) #58474 dns: * (SEMVER-MAJOR) move falsy hostname in lookup to end-of-life (James M Snell) #58619 fs: * (SEMVER-MAJOR) move FileHandle close on GC to EOL (James M Snell) #58536 * (SEMVER-MAJOR) move rmdir recursive option to end-of-life (James M Snell) #58616 * (SEMVER-MAJOR) make `processReadResult()` and `readSyncRecursive()` private (Livia Medeiros) #58672 * (SEMVER-MAJOR) move fs stream open method to eol (James M Snell) #58529 * (SEMVER-MAJOR) remove `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #55862 http: * (SEMVER-MAJOR) deprecate writeHeader (Sebastian Beltran) #59060 lib: * (SEMVER-MAJOR) expose global ErrorEvent (Richie Bendall) #58920 * (SEMVER-MAJOR) deprecate `_stream_*` modules (Dario Piotrowicz) #58337 * (SEMVER-MAJOR) deprecate _tls_common and _tls_wrap (Dario Piotrowicz) #57643 module: * (SEMVER-MAJOR) move Module._debug to end-of-life (James M Snell) #58473 node-api: * (SEMVER-MAJOR) add warning for NAPI_EXPERIMENTAL (Miguel Marcondes Filho) #58280 perf_hooks: * (SEMVER-MAJOR) move deprecated accessors to EOF (James M Snell) #58531 process: * (SEMVER-MAJOR) move multipleResolves event to EOL (James M Snell) #58707 repl: * (SEMVER-MAJOR) eol deprecate instantiating without new (Aviv Keller) #59495 src: * (SEMVER-MAJOR) store `Local` for `CallbackScope` on stack (Anna Henningsen) #59705 * (SEMVER-MAJOR) remove node.h APIs to make callback without an async context (Chengzhong Wu) #58471 * (SEMVER-MAJOR) remove deprecated node::EmitBeforeExit and node::EmitExit (Chengzhong Wu) #58469 * (SEMVER-MAJOR) remove deprecated node::CreatePlatform and node::FreePlatform (Chengzhong Wu) #58470 * (SEMVER-MAJOR) remove deprecated node::InitializeNodeWithArgs (Chengzhong Wu) #58470 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 138 (Michaël Zasso) #58064 src,permission: * (SEMVER-MAJOR) add --allow-net permission (Rafael Gonzaga) #58517 tls: * (SEMVER-MAJOR) move IP-address servername deprecation to eol (James M Snell) #58533 tools: * (SEMVER-MAJOR) update V8 gypfiles for 13.7 (Michaël Zasso) #58064 url: * (SEMVER-MAJOR) move bad port deprecation in legacy url to end-of-life (James M Snell) #58617 util,console: * (SEMVER-MAJOR) colorize regexp groups, character classes, etc (Ruben Bridgewater) #59710 worker: * (SEMVER-MAJOR) move terminate callback to end-of-life (James M Snell) #58528 PR-URL: #59896
It is impossible to look into the content of a promise and it's state. This aligns the comparison with WeakMaps and WeakSets. Only reference equal promises will pass the check in the future.
Fixes #55198