Uh oh!
There was an error while loading. Please reload this page.
Adds RmetaLinkCache a per-link cache that uses path as the key of dec… - #158194
Conversation
rustbot
commented
Jun 20, 2026
r? @wesleywiser rustbot has assigned @wesleywiser. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
mehdiakiki
commented
Jun 20, 2026
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
petrochenkov
commented
Jun 22, 2026
I thought about using |
rustbot
commented
Jun 22, 2026
Reminder, once the PR becomes ready for a review, use |
mehdiakiki
commented
Jun 23, 2026
Ok will address the comments above! |
1fb7884 to
b3150f3Compare
This comment has been minimized.
This comment has been minimized.
…oded lib.rmeta-link archive members, and routes add_archive read through it so each rlib link metadata is decoded at most once per link. This is a demand from a previous discussion and we split it out as its own PR. It gives that PR a decode once path tp read instead of reparsing each rlib per crate once native_lib_filenames moves to a link time read.
b3150f3 to
18c10cdComparemehdiakiki
commented
Jun 27, 2026
@rustbot ready |
petrochenkov
commented
Jun 27, 2026
…=petrochenkov Adds RmetaLinkCache a per-link cache that uses path as the key of dec… Adds `RmetaLinkCache` a per link and path keyed cache of decoded `lib.rmeta-link` archive members and routes the add_archive read through it so that each rlib link metadata is decoded only one per link at most. This is a request that originated from the discussion in rust-lang#156735 and we split it out as its own PR. It gives that PR a decode once path to read instead of reparsing each `rlib` per crate, and this will be in effect once `native_lib_filenames` moves to a link-time read. Part of rust-lang#138243
…uwer Rollup of 6 pull requests Successful merges: - #158194 (Adds RmetaLinkCache a per-link cache that uses path as the key of dec…) - #137858 (Add new `unused_footnote_definition` rustdoc lint) - #158163 (Fix too-short variance slice in `variances_of` cycle recovery) - #158233 (Allow the unstable attribute on foreign type) - #158470 (Upgrade `jsonsocck` and `jsondoclint` to edition 2024.) - #158488 (Upgrade `rustdoc-json-types` to 2024 edition.)
…uwer Rollup of 6 pull requests Successful merges: - #158194 (Adds RmetaLinkCache a per-link cache that uses path as the key of dec…) - #137858 (Add new `unused_footnote_definition` rustdoc lint) - #158163 (Fix too-short variance slice in `variances_of` cycle recovery) - #158233 (Allow the unstable attribute on foreign type) - #158470 (Upgrade `jsonsocck` and `jsondoclint` to edition 2024.) - #158488 (Upgrade `rustdoc-json-types` to 2024 edition.)
…uwer Rollup of 6 pull requests Successful merges: - #158194 (Adds RmetaLinkCache a per-link cache that uses path as the key of dec…) - #137858 (Add new `unused_footnote_definition` rustdoc lint) - #158163 (Fix too-short variance slice in `variances_of` cycle recovery) - #158233 (Allow the unstable attribute on foreign type) - #158470 (Upgrade `jsonsocck` and `jsondoclint` to edition 2024.) - #158488 (Upgrade `rustdoc-json-types` to 2024 edition.)
…uwer Rollup of 6 pull requests Successful merges: - #158194 (Adds RmetaLinkCache a per-link cache that uses path as the key of dec…) - #137858 (Add new `unused_footnote_definition` rustdoc lint) - #158163 (Fix too-short variance slice in `variances_of` cycle recovery) - #158233 (Allow the unstable attribute on foreign type) - #158470 (Upgrade `jsonsocck` and `jsondoclint` to edition 2024.) - #158488 (Upgrade `rustdoc-json-types` to 2024 edition.)
…=petrochenkov Adds RmetaLinkCache a per-link cache that uses path as the key of dec… Adds `RmetaLinkCache` a per link and path keyed cache of decoded `lib.rmeta-link` archive members and routes the add_archive read through it so that each rlib link metadata is decoded only one per link at most. This is a request that originated from the discussion in rust-lang#156735 and we split it out as its own PR. It gives that PR a decode once path to read instead of reparsing each `rlib` per crate, and this will be in effect once `native_lib_filenames` moves to a link-time read. Part of rust-lang#138243
…uwer Rollup of 10 pull requests Successful merges: - #158502 (Revert "LLVM 23: Adapt codegen test to moved assume") - #152225 (Add supertrait item shadowing for type-level path resolution) - #158194 (Adds RmetaLinkCache a per-link cache that uses path as the key of dec…) - #158466 (rustdoc: show impl Trait<Box<Local>> for Foreign, etc on Local's docs) - #158501 (miri subtree update) - #153097 (Expand `OptionFlatten`'s iterator methods) - #158163 (Fix too-short variance slice in `variances_of` cycle recovery) - #158233 (Allow the unstable attribute on foreign type) - #158470 (Upgrade `jsonsocck` and `jsondoclint` to edition 2024.) - #158488 (Upgrade `rustdoc-json-types` to 2024 edition.)
…uwer Rollup of 10 pull requests Successful merges: - #158502 (Revert "LLVM 23: Adapt codegen test to moved assume") - #152225 (Add supertrait item shadowing for type-level path resolution) - #158194 (Adds RmetaLinkCache a per-link cache that uses path as the key of dec…) - #158466 (rustdoc: show impl Trait<Box<Local>> for Foreign, etc on Local's docs) - #158501 (miri subtree update) - #153097 (Expand `OptionFlatten`'s iterator methods) - #158163 (Fix too-short variance slice in `variances_of` cycle recovery) - #158233 (Allow the unstable attribute on foreign type) - #158470 (Upgrade `jsonsocck` and `jsondoclint` to edition 2024.) - #158488 (Upgrade `rustdoc-json-types` to 2024 edition.)
…uwer Rollup of 10 pull requests Successful merges: - #158502 (Revert "LLVM 23: Adapt codegen test to moved assume") - #152225 (Add supertrait item shadowing for type-level path resolution) - #158194 (Adds RmetaLinkCache a per-link cache that uses path as the key of dec…) - #158466 (rustdoc: show impl Trait<Box<Local>> for Foreign, etc on Local's docs) - #158501 (miri subtree update) - #153097 (Expand `OptionFlatten`'s iterator methods) - #158163 (Fix too-short variance slice in `variances_of` cycle recovery) - #158233 (Allow the unstable attribute on foreign type) - #158470 (Upgrade `jsonsocck` and `jsondoclint` to edition 2024.) - #158488 (Upgrade `rustdoc-json-types` to 2024 edition.)
…uwer Rollup of 10 pull requests Successful merges: - #158502 (Revert "LLVM 23: Adapt codegen test to moved assume") - #152225 (Add supertrait item shadowing for type-level path resolution) - #158194 (Adds RmetaLinkCache a per-link cache that uses path as the key of dec…) - #158466 (rustdoc: show impl Trait<Box<Local>> for Foreign, etc on Local's docs) - #158501 (miri subtree update) - #153097 (Expand `OptionFlatten`'s iterator methods) - #158163 (Fix too-short variance slice in `variances_of` cycle recovery) - #158233 (Allow the unstable attribute on foreign type) - #158470 (Upgrade `jsonsocck` and `jsondoclint` to edition 2024.) - #158488 (Upgrade `rustdoc-json-types` to 2024 edition.)
…=petrochenkov Adds RmetaLinkCache a per-link cache that uses path as the key of dec… Adds `RmetaLinkCache` a per link and path keyed cache of decoded `lib.rmeta-link` archive members and routes the add_archive read through it so that each rlib link metadata is decoded only one per link at most. This is a request that originated from the discussion in rust-lang#156735 and we split it out as its own PR. It gives that PR a decode once path to read instead of reparsing each `rlib` per crate, and this will be in effect once `native_lib_filenames` moves to a link-time read. Part of rust-lang#138243
Rollup of 15 pull requests Successful merges: - #158497 (stdarch subtree update) - #152225 (Add supertrait item shadowing for type-level path resolution) - #158194 (Adds RmetaLinkCache a per-link cache that uses path as the key of dec…) - #158466 (rustdoc: show impl Trait<Box<Local>> for Foreign, etc on Local's docs) - #158501 (miri subtree update) - #153097 (Expand `OptionFlatten`'s iterator methods) - #157614 (Move tests drop) - #157996 (perf: drop the full-crate AST walk in check_unused) - #158163 (Fix too-short variance slice in `variances_of` cycle recovery) - #158233 (Allow the unstable attribute on foreign type) - #158433 (Fix inconsistent safety requirement in VecDeque::nonoverlapping_ranges) - #158464 (Reorganize `tests/ui/issues` [15/N]) - #158470 (Upgrade `jsonsocck` and `jsondoclint` to edition 2024.) - #158485 (Reorganize `tests/ui/issues` [16/N]) - #158488 (Upgrade `rustdoc-json-types` to 2024 edition.)
Uh oh!
There was an error while loading. Please reload this page.
Rollup of 15 pull requests Successful merges: - rust-lang/rust#158497 (stdarch subtree update) - rust-lang/rust#152225 (Add supertrait item shadowing for type-level path resolution) - rust-lang/rust#158194 (Adds RmetaLinkCache a per-link cache that uses path as the key of dec…) - rust-lang/rust#158466 (rustdoc: show impl Trait<Box<Local>> for Foreign, etc on Local's docs) - rust-lang/rust#158501 (miri subtree update) - rust-lang/rust#153097 (Expand `OptionFlatten`'s iterator methods) - rust-lang/rust#157614 (Move tests drop) - rust-lang/rust#157996 (perf: drop the full-crate AST walk in check_unused) - rust-lang/rust#158163 (Fix too-short variance slice in `variances_of` cycle recovery) - rust-lang/rust#158233 (Allow the unstable attribute on foreign type) - rust-lang/rust#158433 (Fix inconsistent safety requirement in VecDeque::nonoverlapping_ranges) - rust-lang/rust#158464 (Reorganize `tests/ui/issues` [15/N]) - rust-lang/rust#158470 (Upgrade `jsonsocck` and `jsondoclint` to edition 2024.) - rust-lang/rust#158485 (Reorganize `tests/ui/issues` [16/N]) - rust-lang/rust#158488 (Upgrade `rustdoc-json-types` to 2024 edition.)
Rollup of 15 pull requests Successful merges: - rust-lang/rust#158497 (stdarch subtree update) - rust-lang/rust#152225 (Add supertrait item shadowing for type-level path resolution) - rust-lang/rust#158194 (Adds RmetaLinkCache a per-link cache that uses path as the key of dec…) - rust-lang/rust#158466 (rustdoc: show impl Trait<Box<Local>> for Foreign, etc on Local's docs) - rust-lang/rust#158501 (miri subtree update) - rust-lang/rust#153097 (Expand `OptionFlatten`'s iterator methods) - rust-lang/rust#157614 (Move tests drop) - rust-lang/rust#157996 (perf: drop the full-crate AST walk in check_unused) - rust-lang/rust#158163 (Fix too-short variance slice in `variances_of` cycle recovery) - rust-lang/rust#158233 (Allow the unstable attribute on foreign type) - rust-lang/rust#158433 (Fix inconsistent safety requirement in VecDeque::nonoverlapping_ranges) - rust-lang/rust#158464 (Reorganize `tests/ui/issues` [15/N]) - rust-lang/rust#158470 (Upgrade `jsonsocck` and `jsondoclint` to edition 2024.) - rust-lang/rust#158485 (Reorganize `tests/ui/issues` [16/N]) - rust-lang/rust#158488 (Upgrade `rustdoc-json-types` to 2024 edition.)
Adds
RmetaLinkCachea per link and path keyed cache of decodedlib.rmeta-linkarchive members and routes the add_archive read through it so that each rlib link metadata is decoded only one per link at most.This is a request that originated from the discussion in #156735 and we split it out as its own PR. It gives that PR a decode once path to read instead of reparsing each
rlibper crate, and this will be in effect oncenative_lib_filenamesmoves to a link-time read.Part of #138243