Latest Results
chore: forbid the locking Id constructors with a clippy lint (#8617)
## Summary
Follow-up to #8614. A `clippy` disallowed-methods lint now forbids
`Id::new` and `Id::new_static` workspace-wide, since both intern into a
globally locked table (`ThreadedRodeo`) on every call. Static
identifiers must use a `CachedId` static instead; the sites that intern
a genuinely dynamic string (proto/flatbuffer deserialization, arrow
extension lookups, Python read contexts, tests) keep `Id::new` behind an
`#[expect(clippy::disallowed_methods, reason = "...")]`. `CachedId`
itself now interns through `Id::new_static`, so it is the single
sanctioned path for static ids.
This is the enforcement half of #8380; #8614 did the migration. It is
stacked on #8614, so it stays a draft until that merges; the shared
migration commit drops out once this is rebased onto a merged #8614.
Refs: #8380
## Testing
`cargo clippy --all-targets` is clean across the edited crates
(`vortex-array`, `vortex-layout`, `vortex-file`, `vortex-ipc`,
`vortex-zstd`, `vortex-python`, `vortex-duckdb`, `vortex-session`), with
`disallowed_methods` and `unfulfilled_lint_expectations` both at zero;
`cargo +nightly fmt --all --check` clean. `vortex-cuda` could not be
built locally (no CUDA toolchain).
---
I'm Korean, so sorry if any wording reads a little awkward.
Signed-off-by: Han Damin <miniex@daminstudio.net> Latest Branches
-9%
-7%
-7%
myrrc/duckdb-cast-pushdown © 2026 CodSpeed Technology