Skip to content

Conversation

bjorn3
Copy link
Member

@bjorn3 bjorn3 commented Sep 10, 2023

This makes it show a lot more things and thus a lot more useful.

@rustbot
Copy link
Collaborator

rustbot commented Sep 10, 2023

r? @compiler-errors

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Sep 10, 2023
@bjorn3
Copy link
Member Author

bjorn3 commented Sep 10, 2023

Related to https://github.com/bjorn3/rust_read_rlib which has been bitrotting for years. The exact subset of crate metadata contents I am printing partially overlaps with rust_read_rlib, but neither is a subset of the other. In the future everything rust_read_rlib could be added to rustc -Zls and a lot more can be shown. Example:

$ ./build/host/stage1/bin/rustc -Zls=all ./build/host/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/liballoc-*.rlib
Crate info:
name alloc-e67bb54ecec111f4
hash c282134fde28ab2278f38a2f18514913 stable_crate_id StableCrateId(10831256092331474683)
proc_macro false
triple aarch64-unknown-linux-gnu
edition 2021
symbol_mangling_version Legacy
required_panic_strategy None panic_in_drop_strategy Unwind
has_global_allocator false has_alloc_error_handler false has_panic_handler false has_default_lib_allocator false
compiler_builtins false needs_allocator true needs_panic_runtime false no_builtins false panic_runtime false profiler_runtime false
=External Dependencies=
1 core-3f87a9c32d25ec14 hash 47efed02676e1975687a83cac03f2df4 host_hash None kind Explicit public
2 compiler_builtins-743ea5a6b007d61d hash a1b0673ae79624ebfb30102f57ca431b host_hash None kind Explicit public
3 rustc_std_workspace_core-3a5d24fbcee0e4fd hash 160c8db13eeba0b0f4405fde1c13f9c6 host_hash None kind Explicit public

=Lang items=
exchange_malloc = crate::alloc::exchange_malloc
owned_box = crate::boxed::Box
String = crate::string::String
eh_personality = <missing>

=Lib features=
alloc since 1.36.0
alloc_c_string since 1.64.0
alloc_ffi since 1.64.0
alloc_internals
alloc_module since 1.28.0
allocator_api
append since 1.4.0
arc_counts since 1.15.0
arc_error since 1.52.0
arc_into_inner since 1.70.0
arc_mutate_strong_count since 1.51.0
arc_new_cyclic since 1.60.0
arc_unique since 1.4.0
arc_unwrap_or_clone
arc_weak since 1.4.0
array_chunks
array_try_from_vec since 1.48.0
array_windows
as_c_str since 1.20.0
ascii_char
ascii_methods_on_intrinsics since 1.23.0
async_iterator
binary_heap_append since 1.11.0
binary_heap_as_slice
binary_heap_drain_sorted
binary_heap_extras_15 since 1.5.0
binary_heap_into_iter_sorted
binary_heap_peek_mut since 1.12.0
binary_heap_peek_mut_pop since 1.18.0
binary_heap_retain since 1.70.0
binaryheap_debug since 1.4.0
bool_to_string_specialization since 1.68.0
box_borrow since 1.1.0
box_error since 1.8.0
box_from_array since 1.45.0
box_from_c_str since 1.17.0
box_from_c_string since 1.20.0
box_from_cow since 1.45.0
box_from_slice since 1.17.0
box_from_str since 1.20.0
box_from_vec since 1.20.0
box_into_boxed_slice
box_into_inner
box_into_pin since 1.63.0
box_leak since 1.26.0
box_raw since 1.4.0
box_send_sync_any_downcast since 1.51.0
box_slice_clone since 1.3.0
box_str since 1.4.0
box_str2 since 1.45.0
boxed_array_try_from_vec since 1.66.0
boxed_closure_impls since 1.35.0
boxed_slice_from_iter since 1.32.0
boxed_slice_try_from since 1.43.0
boxed_str_conv since 1.19.0
btree_append since 1.11.0
btree_cursors
btree_drop since 1.7.0
btree_extract_if
btree_range since 1.17.0
btree_retain since 1.53.0
btree_split_off since 1.11.0
btree_unwindsafe since 1.64.0
btreemap_alloc
btreemap_remove_entry since 1.45.0
c_string_from_box since 1.18.0
catch_unwind since 1.9.0
char_to_string_specialization since 1.46.0
chunks_exact since 1.31.0
coerce_unsized
collection_debug since 1.17.0
const_alloc_error
const_box
const_btree_len
const_btree_new since 1.66.0
const_cow_is_borrowed
const_linked_list_new since 1.39.0
const_string_new since 1.39.0
const_vec_deque_new since 1.68.0
const_vec_new since 1.39.0
const_weak_new since 1.73.0
container_error_extra
cow_add since 1.14.0
cow_box_error since 1.22.0
cow_from_cstr since 1.28.0
cow_from_string_ref since 1.28.0
cow_from_vec since 1.8.0
cow_from_vec_ref since 1.28.0
cow_is_borrowed
cow_str_from_iter since 1.12.0
cow_str_to_string_specialization since 1.17.0
cstr_borrow since 1.3.0
cstr_default since 1.10.0
cstr_memory since 1.4.0
cstr_to_str since 1.4.0
cstring_asref since 1.7.0
cstring_drop since 1.13.0
cstring_from_cow_cstr since 1.28.0
cstring_from_vec_of_nonzerou8 since 1.43.0
cstring_from_vec_with_nul since 1.58.0
cstring_into since 1.7.0
debug_btree_map since 1.12.0
dedup_by since 1.16.0
default since 1.11.0
default_box_extra since 1.17.0
default_iters since 1.70.0
deque_extras since 1.16.0
deque_extras_15 since 1.5.0
deque_make_contiguous since 1.48.0
deque_range since 1.51.0
derefmut_for_string since 1.3.0
dispatch_from_dyn
downcast_unchecked
downgraded_weak since 1.10.0
drain since 1.6.0
drain_keep_rest
encode_utf16 since 1.8.0
entry_and_modify since 1.26.0
entry_or_default since 1.28.0
error_downcast since 1.3.0
extend_ref since 1.2.0
extend_string since 1.4.0
extract_if
fmt_arguments_to_string_specialization since 1.71.0
fmt_flags_align since 1.28.0
from_char_for_string since 1.46.0
from_for_ptrs since 1.6.0
from_mut_str_for_string since 1.44.0
from_ref since 1.28.0
from_ref_string since 1.35.0
from_string_for_vec_u8 since 1.14.0
from_utf8_error_as_bytes since 1.26.0
fused since 1.26.0
futures_api since 1.36.0
generator_trait
get_mut_unchecked
global_alloc since 1.28.0
herd_cows since 1.19.0
i8_to_string_specialization since 1.54.0
inclusive_range since 1.26.0
indirect_hasher_impl since 1.22.0
inherent_ascii_escape since 1.60.0
inplace_iteration
insert_str since 1.16.0
into_boxed_c_str since 1.20.0
liballoc_internals
linked_list_contains since 1.12.0
linked_list_cursors
linked_list_remove
map_entry_keys since 1.10.0
map_entry_recover_keys2 since 1.12.0
map_first_last since 1.66.0
map_get_key_value since 1.40.0
map_into_keys_values since 1.54.0
map_try_insert
map_values_mut since 1.10.0
more_box_slice_clone since 1.29.0
new_uninit
or_insert_with_key since 1.50.0
partialeq_vec_for_ref_slice since 1.46.0
partialeq_vec_for_slice since 1.48.0
pattern
pin since 1.33.0
ptr_eq since 1.17.0
ptr_internals
raw_vec_internals
rc_as_ptr since 1.45.0
rc_counts since 1.15.0
rc_downcast since 1.29.0
rc_into_inner since 1.70.0
rc_mutate_strong_count since 1.53.0
rc_raw since 1.17.0
rc_ref_unwind_safe since 1.58.0
rc_unique since 1.4.0
rc_weak since 1.4.0
rchunks since 1.31.0
receiver_trait
rename_connect_to_join since 1.3.0
repeat_generic_slice since 1.40.0
repeat_str since 1.16.0
rust1 since 1.0.0
set_recovery since 1.9.0
shared_from_cow since 1.45.0
shared_from_iter since 1.37.0
shared_from_slice since 1.21.0
shared_from_slice2 since 1.24.0
shared_from_str since 1.62.0
shrink_to since 1.56.0
slice_concat_ext
slice_concat_trait
slice_flatten
slice_from_ptr_range
slice_get_slice since 1.28.0
slice_group_by
slice_range
slice_rsplit since 1.27.0
slice_sort_by_cached_key since 1.34.0
slice_sort_by_key since 1.7.0
smart_ptr_as_ref since 1.5.0
splice since 1.27.0
split_ascii_whitespace since 1.34.0
split_inclusive since 1.51.0
split_off since 1.4.0
std_collections_from_array since 1.56.0
std_internals
str_box_extras since 1.20.0
str_escape since 1.34.0
str_parse_error since 1.5.0
str_replacen since 1.16.0
str_to_string_specialization since 1.9.0
string_as_mut since 1.43.0
string_as_str since 1.7.0
string_borrow_mut since 1.36.0
string_box_error since 1.6.0
string_drain_as_str since 1.55.0
string_extend_from_within
string_from_box since 1.18.0
string_from_cow_str since 1.14.0
string_from_iter_by_ref since 1.17.0
string_leak since 1.72.0
string_remove_matches
string_retain since 1.26.0
string_split_off since 1.16.0
string_to_string_specialization since 1.17.0
stringaddassign since 1.12.0
thin_box
toowned_clone_into since 1.63.0
trusted_len
trusted_random_access
try_reserve since 1.57.0
try_reserve_2 since 1.63.0
try_reserve_kind
u8_to_string_specialization since 1.54.0
unicode_case_mapping since 1.2.0
unique_rc_arc
utf8_chunks
vec_as_mut since 1.5.0
vec_as_ptr since 1.37.0
vec_as_slice since 1.7.0
vec_deque_contains since 1.12.0
vec_deque_partial_eq_slice since 1.17.0
vec_deque_retain since 1.4.0
vec_drain_as_slice since 1.46.0
vec_extend_from_slice since 1.6.0
vec_extend_from_within since 1.53.0
vec_from_array since 1.44.0
vec_from_box since 1.18.0
vec_from_cow_slice since 1.14.0
vec_from_mut since 1.19.0
vec_into_iter_as_slice since 1.15.0
vec_into_iter_clone since 1.8.0
vec_into_raw_parts
vec_intoiter_as_ref since 1.46.0
vec_intoiter_debug since 1.13.0
vec_leak since 1.47.0
vec_push_within_capacity
vec_resize since 1.5.0
vec_resize_with since 1.33.0
vec_retain_mut since 1.61.0
vec_spare_capacity since 1.60.0
vec_splice since 1.21.0
vec_split_at_spare
vecdeque_binary_search since 1.54.0
vecdeque_rotate since 1.36.0
vecdeque_vec_conversions since 1.10.0
wake_trait since 1.51.0
weak_counts since 1.41.0
weak_into_raw since 1.45.0
weak_ptr_eq since 1.39.0

=Items=
Public Mod crate {
    Restricted("crate") Mod macros {
    }
    Restricted("crate") Mod raw_vec {
        Restricted("crate::raw_vec") Enum AllocInit {
            Restricted("crate::raw_vec") Variant Uninitialized {}
            Restricted("crate::raw_vec") Ctor(Variant, Const) ??? {}
            Restricted("crate::raw_vec") Variant Zeroed {}
            Restricted("crate::raw_vec") Ctor(Variant, Const) ??? {}
        }
        Restricted("crate") Struct RawVec {}
        Restricted("crate::raw_vec") Fn finish_grow {}
        Restricted("crate::raw_vec") Fn handle_reserve {}
        Restricted("crate::raw_vec") Fn alloc_guard {}
        Restricted("crate::raw_vec") Fn capacity_overflow {}
    }
    Public Mod alloc {
        Restricted("crate::alloc") Fn __rust_alloc {}
        Restricted("crate::alloc") Fn __rust_dealloc {}
        Restricted("crate::alloc") Fn __rust_realloc {}
        Restricted("crate::alloc") Fn __rust_alloc_zeroed {}
        Restricted("crate::alloc") Static(Not) __rust_no_alloc_shim_is_unstable {}
        Public Fn alloc {}
        Public Fn dealloc {}
        Public Fn realloc {}
        Public Fn alloc_zeroed {}
        Restricted("crate::alloc") Fn exchange_malloc {}
        Restricted("crate::alloc") Fn __rust_alloc_error_handler {}
        Public Fn handle_alloc_error {}
        Public Mod __alloc_error_handler {
            Public Fn __rdl_oom {}
        }
        Restricted("crate") Trait WriteCloneIntoRaw {
            Restricted("crate") AssocFn write_clone_into_raw {}
        }
        Public Struct Global {}
        Public Ctor(Struct, Const) ??? {}
    }
    Public Mod boxed {
        Restricted("crate::boxed") Mod thin {
            Public Struct ThinBox {}
            Restricted("crate::boxed::thin") Struct WithHeader {}
            Restricted("crate::boxed::thin") Ctor(Struct, Fn) ??? {}
            Restricted("crate::boxed::thin") Struct WithOpaqueHeader {}
            Restricted("crate::boxed::thin") Ctor(Struct, Fn) ??? {}
        }
        Public Struct Box {}
        Restricted("crate::boxed") Ctor(Struct, Fn) ??? {}
        Restricted("crate::boxed") Trait BoxFromSlice {
            Restricted("crate::boxed") AssocFn from_slice {}
        }
        Restricted("crate::boxed") Fn boxed_slice_as_array_unchecked {}
        Restricted("crate::boxed") Trait BoxIter {
            Restricted("crate::boxed") AssocTy Item {}
            Restricted("crate::boxed") AssocFn last {}
        }
    }
    Public Mod borrow {
        Public Trait ToOwned {
            Public AssocTy Owned {}
            Public AssocFn to_owned {}
            Public AssocFn clone_into {}
        }
        Public Enum Cow {
            Public Variant Borrowed {}
            Public Ctor(Variant, Fn) ??? {}
            Public Variant Owned {}
            Public Ctor(Variant, Fn) ??? {}
        }
    }
    Public Mod collections {
        Public Mod binary_heap {
            Public Struct BinaryHeap {}
            Public Struct PeekMut {}
            Restricted("crate::collections::binary_heap") Struct RebuildOnDrop {}
            Restricted("crate::collections::binary_heap") Struct Hole {}
            Public Struct Iter {}
            Public Struct IntoIter {}
            Public Struct IntoIterSorted {}
            Public Struct Drain {}
            Public Struct DrainSorted {}
        }
        Restricted("crate::collections") Mod btree {
            Restricted("crate::collections::btree") Mod append {
                Restricted("crate::collections::btree::append") Struct MergeIter {}
                Restricted("crate::collections::btree::append") Ctor(Struct, Fn) ??? {}
            }
            Restricted("crate::collections::btree") Mod borrow {
                Public Struct DormantMutRef {}
            }
            Restricted("crate::collections::btree") Mod dedup_sorted_iter {
                Public Struct DedupSortedIter {}
            }
            Restricted("crate::collections::btree") Mod fix {
            }
            Public Mod map {
                Restricted("crate::collections::btree::map") Mod entry {
                    Public Enum Entry {
                        Public Variant Vacant {}
                        Public Ctor(Variant, Fn) ??? {}
                        Public Variant Occupied {}
                        Public Ctor(Variant, Fn) ??? {}
                    }
                    Public Struct VacantEntry {}
                    Public Struct OccupiedEntry {}
                    Public Struct OccupiedError {}
                }
                Restricted("crate::collections::btree") Const MIN_LEN {}
                Public Struct BTreeMap {}
                Public Struct Iter {}
                Public Struct IterMut {}
                Public Struct IntoIter {}
                Public Struct Keys {}
                Public Struct Values {}
                Public Struct ValuesMut {}
                Public Struct IntoKeys {}
                Public Struct IntoValues {}
                Public Struct Range {}
                Public Struct RangeMut {}
                Public Struct ExtractIf {}
                Restricted("crate::collections::btree") Struct ExtractIfInner {}
                Public Struct Cursor {}
                Public Struct CursorMut {}
            }
            Restricted("crate::collections::btree") Mod mem {
                Public Fn take_mut {}
                Public Fn replace {}
            }
            Restricted("crate::collections::btree") Mod merge_iter {
                Public Struct MergeIterInner {}
                Restricted("crate::collections::btree::merge_iter") Enum Peeked {
                    Restricted("crate::collections::btree::merge_iter") Variant A {}
                    Restricted("crate::collections::btree::merge_iter") Ctor(Variant, Fn) ??? {}
                    Restricted("crate::collections::btree::merge_iter") Variant B {}
                    Restricted("crate::collections::btree::merge_iter") Ctor(Variant, Fn) ??? {}
                }
            }
            Restricted("crate::collections::btree") Mod navigate {
                Public Struct LeafRange {}
                Restricted("crate::collections::btree::navigate") Enum LazyLeafHandle {
                    Restricted("crate::collections::btree::navigate") Variant Root {}
                    Restricted("crate::collections::btree::navigate") Ctor(Variant, Fn) ??? {}
                    Restricted("crate::collections::btree::navigate") Variant Edge {}
                    Restricted("crate::collections::btree::navigate") Ctor(Variant, Fn) ??? {}
                }
                Public Struct LazyLeafRange {}
                Restricted("crate::collections::btree::navigate") Fn full_range {}
                Public Enum Position {
                    Public Variant Leaf {}
                    Public Ctor(Variant, Fn) ??? {}
                    Public Variant Internal {}
                    Public Ctor(Variant, Fn) ??? {}
                    Public Variant InternalKV {}
                    Public Ctor(Variant, Fn) ??? {}
                }
            }
            Restricted("crate::collections::btree") Mod node {
                Restricted("crate::collections::btree::node") Const B {}
                Public Const CAPACITY {}
                Public Const MIN_LEN_AFTER_SPLIT {}
                Restricted("crate::collections::btree::node") Const KV_IDX_CENTER {}
                Restricted("crate::collections::btree::node") Const EDGE_IDX_LEFT_OF_CENTER {}
                Restricted("crate::collections::btree::node") Const EDGE_IDX_RIGHT_OF_CENTER {}
                Restricted("crate::collections::btree::node") Struct LeafNode {}
                Restricted("crate::collections::btree::node") Struct InternalNode {}
                Restricted("crate::collections::btree::node") TyAlias { lazy: false } BoxedNode {}
                Public Struct NodeRef {}
                Public TyAlias { lazy: false } Root {}
                Public Struct Handle {}
                Public Enum LeftOrRight {
                    Public Variant Left {}
                    Public Ctor(Variant, Fn) ??? {}
                    Public Variant Right {}
                    Public Ctor(Variant, Fn) ??? {}
                }
                Restricted("crate::collections::btree::node") Fn splitpoint {}
                Public Struct BalancingContext {}
                Public Enum ForceResult {
                    Public Variant Leaf {}
                    Public Ctor(Variant, Fn) ??? {}
                    Public Variant Internal {}
                    Public Ctor(Variant, Fn) ??? {}
                }
                Public Struct SplitResult {}
                Public Mod marker {
                    Public Enum Leaf {
                    }
                    Public Enum Internal {
                    }
                    Public Enum LeafOrInternal {
                    }
                    Public Enum Owned {
                    }
                    Public Enum Dying {
                    }
                    Public Enum DormantMut {
                    }
                    Public Struct Immut {}
                    Restricted("crate::collections::btree::node::marker") Ctor(Struct, Fn) ??? {}
                    Public Struct Mut {}
                    Restricted("crate::collections::btree::node::marker") Ctor(Struct, Fn) ??? {}
                    Public Struct ValMut {}
                    Restricted("crate::collections::btree::node::marker") Ctor(Struct, Fn) ??? {}
                    Public Trait BorrowType {
                        Public AssocConst TRAVERSAL_PERMIT {}
                    }
                    Public Enum KV {
                    }
                    Public Enum Edge {
                    }
                }
                Restricted("crate::collections::btree::node") Fn slice_insert {}
                Restricted("crate::collections::btree::node") Fn slice_remove {}
                Restricted("crate::collections::btree::node") Fn slice_shl {}
                Restricted("crate::collections::btree::node") Fn slice_shr {}
                Restricted("crate::collections::btree::node") Fn move_to_slice {}
            }
            Restricted("crate::collections::btree") Mod remove {
            }
            Restricted("crate::collections::btree") Mod search {
                Public Enum SearchBound {
                    Public Variant Included {}
                    Public Ctor(Variant, Fn) ??? {}
                    Public Variant Excluded {}
                    Public Ctor(Variant, Fn) ??? {}
                    Public Variant AllIncluded {}
                    Public Ctor(Variant, Const) ??? {}
                    Public Variant AllExcluded {}
                    Public Ctor(Variant, Const) ??? {}
                }
                Public Enum SearchResult {
                    Public Variant Found {}
                    Public Ctor(Variant, Fn) ??? {}
                    Public Variant GoDown {}
                    Public Ctor(Variant, Fn) ??? {}
                }
                Public Enum IndexResult {
                    Public Variant KV {}
                    Public Ctor(Variant, Fn) ??? {}
                    Public Variant Edge {}
                    Public Ctor(Variant, Fn) ??? {}
                }
            }
            Public Mod set {
                Public Struct BTreeSet {}
                Public Struct Iter {}
                Public Struct Difference {}
                Restricted("crate::collections::btree::set") Enum DifferenceInner {
                    Restricted("crate::collections::btree::set") Variant Stitch {}
                    Restricted("crate::collections::btree::set") Variant Search {}
                    Restricted("crate::collections::btree::set") Variant Iterate {}
                    Restricted("crate::collections::btree::set") Ctor(Variant, Fn) ??? {}
                }
                Public Struct SymmetricDifference {}
                Restricted("crate::collections::btree::set") Ctor(Struct, Fn) ??? {}
                Public Struct Intersection {}
                Restricted("crate::collections::btree::set") Enum IntersectionInner {
                    Restricted("crate::collections::btree::set") Variant Stitch {}
                    Restricted("crate::collections::btree::set") Variant Search {}
                    Restricted("crate::collections::btree::set") Variant Answer {}
                    Restricted("crate::collections::btree::set") Ctor(Variant, Fn) ??? {}
                }
                Public Struct Union {}
                Restricted("crate::collections::btree::set") Ctor(Struct, Fn) ??? {}
                Restricted("crate::collections::btree::set") Const ITER_PERFORMANCE_TIPPING_SIZE_DIFF {}
                Public Struct ExtractIf {}
                Public Struct IntoIter {}
                Public Struct Range {}
            }
            Restricted("crate::collections::btree") Mod set_val {
                Public Trait IsSetVal {
                    Public AssocFn is_set_val {}
                }
                Public Struct SetValZST {}
                Public Ctor(Struct, Const) ??? {}
            }
            Restricted("crate::collections::btree") Mod split {
            }
            Restricted("crate::collections::btree") Trait Recover {
                Restricted("crate::collections::btree") AssocTy Key {}
                Restricted("crate::collections::btree") AssocFn get {}
                Restricted("crate::collections::btree") AssocFn take {}
                Restricted("crate::collections::btree") AssocFn replace {}
            }
        }
        Public Mod linked_list {
            Public Struct LinkedList {}
            Restricted("crate::collections::linked_list") Struct Node {}
            Public Struct Iter {}
            Public Struct IterMut {}
            Public Struct Cursor {}
            Public Struct CursorMut {}
            Public Struct ExtractIf {}
            Restricted("crate::collections::linked_list") Fn assert_covariance {}
            Public Struct IntoIter {}
        }
        Public Mod vec_deque {
            Restricted("crate::collections::vec_deque") Mod macros {
            }
            Restricted("crate::collections::vec_deque") Mod drain {
                Public Struct Drain {}
            }
            Restricted("crate::collections::vec_deque") Mod iter_mut {
                Public Struct IterMut {}
            }
            Restricted("crate::collections::vec_deque") Mod into_iter {
                Public Struct IntoIter {}
            }
            Restricted("crate::collections::vec_deque") Mod iter {
                Public Struct Iter {}
            }
            Restricted("crate::collections::vec_deque") Mod spec_extend {
                Restricted("crate::collections::vec_deque") Trait SpecExtend {
                    Restricted("crate::collections::vec_deque") AssocFn spec_extend {}
                }
            }
            Restricted("crate::collections::vec_deque") Mod spec_from_iter {
                Restricted("crate::collections::vec_deque") Trait SpecFromIter {
                    Restricted("crate::collections::vec_deque") AssocFn spec_from_iter {}
                }
            }
            Public Struct VecDeque {}
            Restricted("crate::collections::vec_deque") Fn wrap_index {}
        }
        Public Mod btree_map {
        }
        Public Mod btree_set {
        }
        Restricted("crate::collections") Trait SpecExtend {
            Restricted("crate::collections") AssocFn spec_extend {}
        }
        Public Struct TryReserveError {}
        Public Enum TryReserveErrorKind {
            Public Variant CapacityOverflow {}
            Public Ctor(Variant, Const) ??? {}
            Public Variant AllocError {}
        }
    }
    Public Mod ffi {
        Restricted("crate::ffi") Mod c_str {
            Public Struct FromVecWithNulError {}
            Public Struct CString {}
            Public Struct IntoStringError {}
            Public Struct NulError {}
            Restricted("crate::ffi::c_str") Ctor(Struct, Fn) ??? {}
            Restricted("crate::ffi::c_str") Enum FromBytesWithNulErrorKind {
                Restricted("crate::ffi::c_str") Variant InteriorNul {}
                Restricted("crate::ffi::c_str") Ctor(Variant, Fn) ??? {}
                Restricted("crate::ffi::c_str") Variant NotNulTerminated {}
                Restricted("crate::ffi::c_str") Ctor(Variant, Const) ??? {}
            }
        }
    }
    Public Mod fmt {
        Public Fn format {}
    }
    Public Mod rc {
        Restricted("crate::rc") Struct RcBox {}
        Restricted("crate::rc") Fn rcbox_layout_for_value_layout {}
        Public Struct Rc {}
        Restricted("crate::rc") Trait RcFromSlice {
            Restricted("crate::rc") AssocFn from_slice {}
        }
        Restricted("crate::rc") Trait RcEqIdent {
            Restricted("crate::rc") AssocFn eq {}
            Restricted("crate::rc") AssocFn ne {}
        }
        Restricted("crate") Trait MarkerEq {
        }
        Restricted("crate::rc") Trait ToRcSlice {
            Restricted("crate::rc") AssocFn to_rc_slice {}
        }
        Public Struct Weak {}
        Restricted("crate") Fn is_dangling {}
        Restricted("crate::rc") Struct WeakInner {}
        Restricted("crate::rc") Trait RcInnerPtr {
            Restricted("crate::rc") AssocFn weak_ref {}
            Restricted("crate::rc") AssocFn strong_ref {}
            Restricted("crate::rc") AssocFn strong {}
            Restricted("crate::rc") AssocFn inc_strong {}
            Restricted("crate::rc") AssocFn dec_strong {}
            Restricted("crate::rc") AssocFn weak {}
            Restricted("crate::rc") AssocFn inc_weak {}
            Restricted("crate::rc") AssocFn dec_weak {}
        }
        Restricted("crate::rc") Fn data_offset {}
        Restricted("crate::rc") Fn data_offset_align {}
        Public Struct UniqueRc {}
    }
    Public Mod slice {
        Restricted("crate") Mod hack {
            Public Fn into_vec {}
            Public Fn to_vec {}
            Public Trait ConvertVec {
                Public AssocFn to_vec {}
            }
        }
        Public Trait Concat {
            Public AssocTy Output {}
            Public AssocFn concat {}
        }
        Public Trait Join {
            Public AssocTy Output {}
            Public AssocFn join {}
        }
        Restricted("crate") Trait SpecCloneIntoVec {
            Restricted("crate") AssocFn clone_into {}
        }
        Restricted("crate::slice") Fn stable_sort {}
    }
    Public Mod str {
        Restricted("crate::str") Fn join_generic_copy {}
        Public Fn from_boxed_utf8_unchecked {}
        Restricted("crate::str") Fn convert_while_ascii {}
    }
    Public Mod string {
        Public TyAlias { lazy: false } ParseError {}
        Public Trait ToString {
            Public AssocFn to_string {}
        }
        Public Struct Drain {}
        Public Struct String {}
        Public Struct FromUtf8Error {}
        Public Struct FromUtf16Error {}
        Restricted("crate::string") Ctor(Struct, Fn) ??? {}
    }
    Public Mod sync {
        Restricted("crate::sync") Const MAX_REFCOUNT {}
        Restricted("crate::sync") Const INTERNAL_OVERFLOW_ERROR {}
        Public Struct Arc {}
        Public Struct Weak {}
        Restricted("crate::sync") Struct ArcInner {}
        Restricted("crate::sync") Fn arcinner_layout_for_value_layout {}
        Restricted("crate::sync") Trait ArcFromSlice {
            Restricted("crate::sync") AssocFn from_slice {}
        }
        Restricted("crate::sync") Struct WeakInner {}
        Restricted("crate::sync") Trait ArcEqIdent {
            Restricted("crate::sync") AssocFn eq {}
            Restricted("crate::sync") AssocFn ne {}
        }
        Restricted("crate::sync") Trait ToArcSlice {
            Restricted("crate::sync") AssocFn to_arc_slice {}
        }
        Restricted("crate::sync") Fn data_offset {}
        Restricted("crate::sync") Fn data_offset_align {}
    }
    Public Mod task {
        Public Trait Wake {
            Public AssocFn wake {}
            Public AssocFn wake_by_ref {}
        }
        Restricted("crate::task") Fn raw_waker {}
    }
    Public Mod vec {
        Restricted("crate::vec") Mod extract_if {
            Public Struct ExtractIf {}
        }
        Restricted("crate::vec") Mod splice {
            Public Struct Splice {}
        }
        Restricted("crate::vec") Mod drain {
            Public Struct Drain {}
        }
        Restricted("crate::vec") Mod cow {
        }
        Restricted("crate::vec") Mod into_iter {
            Public Struct IntoIter {}
            Public Trait NonDrop {
            }
        }
        Restricted("crate::vec") Mod is_zero {
            Restricted("crate::vec") Trait IsZero {
                Restricted("crate::vec") AssocFn is_zero {}
            }
        }
        Restricted("crate::vec") Mod in_place_collect {
            Restricted("crate::vec") Trait InPlaceIterableMarker {
            }
            Restricted("crate::vec::in_place_collect") Fn write_in_place_with_drop {}
            Restricted("crate::vec::in_place_collect") Trait SpecInPlaceCollect {
                Restricted("crate::vec::in_place_collect") AssocFn collect_in_place {}
            }
            Restricted("crate") Trait AsVecIntoIter {
                Restricted("crate") AssocTy Item {}
                Restricted("crate") AssocFn as_into_iter {}
            }
        }
        Restricted("crate::vec") Mod partial_eq {
        }
        Restricted("crate::vec") Mod spec_from_elem {
            Restricted("crate::vec") Trait SpecFromElem {
                Restricted("crate::vec") AssocFn from_elem {}
            }
        }
        Restricted("crate::vec") Mod set_len_on_drop {
            Restricted("crate::vec") Struct SetLenOnDrop {}
        }
        Restricted("crate::vec") Mod in_place_drop {
            Restricted("crate::vec") Struct InPlaceDrop {}
            Restricted("crate::vec") Struct InPlaceDstBufDrop {}
        }
        Restricted("crate::vec") Mod spec_from_iter_nested {
            Restricted("crate::vec") Trait SpecFromIterNested {
                Restricted("crate::vec") AssocFn from_iter {}
            }
        }
        Restricted("crate::vec") Mod spec_from_iter {
            Restricted("crate::vec") Trait SpecFromIter {
                Restricted("crate::vec") AssocFn from_iter {}
            }
        }
        Restricted("crate::vec") Mod spec_extend {
            Restricted("crate::vec") Trait SpecExtend {
                Restricted("crate::vec") AssocFn spec_extend {}
            }
        }
        Public Struct Vec {}
        Public Fn from_elem {}
        Public Fn from_elem_in {}
        Restricted("crate::vec") Trait ExtendFromWithinSpec {
            Restricted("crate::vec") AssocFn spec_extend_from_within {}
        }
    }
    Public Mod __export {
    }
}

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@wesleywiser
Copy link
Member

@bors r+

@bors
Copy link
Collaborator

bors commented Sep 12, 2023

📌 Commit 026faca has been approved by wesleywiser

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 12, 2023
@bors
Copy link
Collaborator

bors commented Sep 12, 2023

⌛ Testing commit 026faca with merge db693ab...

bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 12, 2023
…=wesleywiser

Extend rustc -Zls

This makes it show a lot more things and thus a lot more useful.
@bors
Copy link
Collaborator

bors commented Sep 12, 2023

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 12, 2023
@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)

@bjorn3
Copy link
Member Author

bjorn3 commented Sep 12, 2023

@bors retry spurious apple timeout

@bors bors removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 12, 2023
@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Sep 12, 2023
@bors
Copy link
Collaborator

bors commented Sep 12, 2023

⌛ Testing commit 026faca with merge 971f462...

bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 12, 2023
…=wesleywiser

Extend rustc -Zls

This makes it show a lot more things and thus a lot more useful.
@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling serde_json v1.0.99
   Compiling rustdoc-json-types v0.1.0 (/checkout/src/rustdoc-json-types)
[RUSTC-TIMING] serde test:false 9.774
[RUSTC-TIMING] bincode test:false 1.148
##[error]The runner has received a shutdown signal. This can happen when the runner service is stopped, or a manually started runner is canceled.
##[group]Clock drift check
  local time: Wed Sep 13 00:01:46 UTC 2023
  network time: Wed, 13 Sep 2023 00:01:46 GMT
##[endgroup]
##[endgroup]
Session terminated, killing shell...[RUSTC-TIMING] serde_json test:false 2.988
 ...killed.
##[error]The operation was canceled.

@bors
Copy link
Collaborator

bors commented Sep 13, 2023

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 13, 2023
@bjorn3
Copy link
Member Author

bjorn3 commented Sep 13, 2023

@bors retry spurious abort of aarch64-gnu job?

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 13, 2023
@bors
Copy link
Collaborator

bors commented Sep 13, 2023

⌛ Testing commit 026faca with merge 7e0261e...

@bors
Copy link
Collaborator

bors commented Sep 13, 2023

☀️ Test successful - checks-actions
Approved by: wesleywiser
Pushing 7e0261e to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Sep 13, 2023
@bors bors merged commit 7e0261e into rust-lang:master Sep 13, 2023
@rustbot rustbot added this to the 1.74.0 milestone Sep 13, 2023
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (7e0261e): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.5% [1.7%, 3.3%] 2
Improvements ✅
(primary)
-2.4% [-2.4%, -2.4%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.4% [-2.4%, -2.4%] 1

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 632.253s -> 633.201s (0.15%)
Artifact size: 317.88 MiB -> 318.02 MiB (0.04%)

@bjorn3 bjorn3 deleted the better_list_crate_metadata branch September 13, 2023 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants