Skip to content

Commit 6745297

Browse files
committed
Auto merge of #143153 - matthiaskrgr:rollup-9o7vdtp, r=matthiaskrgr
Rollup of 10 pull requests Successful merges: - #123476 (std::net: adding `unix_socket_exclbind` feature for solaris/illumos.) - #142708 (Do not include NUL-terminator in computed length) - #142963 (Skip unnecessary components in x64 try builds) - #142974 (Update stage0 to 1.89.0-beta.1) - #142987 (rustdoc: show attributes on enum variants) - #143031 (Add windows-gnullvm hosts to the manifest) - #143082 (update internal `send_signal` comment) - #143110 (Use tidy to sort `sym::*` items) - #143111 (BTreeSet: remove duplicated code by reusing `from_sorted_iter`) - #143114 (Minor Documentation Improvements) r? `@ghost` `@rustbot` modify labels: rollup
2 parents 7ba34c7 + 2bf6b83 commit 6745297

File tree

76 files changed

+832
-781
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+832
-781
lines changed

compiler/rustc_builtin_macros/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
#![allow(internal_features)]
66
#![allow(rustc::diagnostic_outside_of_impl)]
77
#![allow(rustc::untranslatable_diagnostic)]
8-
#![cfg_attr(not(bootstrap), feature(autodiff))]
98
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
109
#![doc(rust_logo)]
1110
#![feature(assert_matches)]
11+
#![feature(autodiff)]
1212
#![feature(box_patterns)]
1313
#![feature(decl_macro)]
1414
#![feature(if_let_guard)]

compiler/rustc_const_eval/src/util/caller_location.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,14 @@ fn alloc_caller_location<'tcx>(
2121
assert!(!filename.as_str().as_bytes().contains(&0));
2222

2323
let loc_details = ecx.tcx.sess.opts.unstable_opts.location_detail;
24-
let file_wide_ptr = {
24+
let filename = {
2525
let filename = if loc_details.file { filename.as_str() } else { "<redacted>" };
2626
let filename_with_nul = filename.to_owned() + "\0";
2727
// This can fail if rustc runs out of memory right here. Trying to emit an error would be
2828
// pointless, since that would require allocating more memory than these short strings.
2929
let file_ptr = ecx.allocate_bytes_dedup(filename_with_nul.as_bytes()).unwrap();
30-
Immediate::new_slice(file_ptr.into(), filename_with_nul.len().try_into().unwrap(), ecx)
30+
let file_len = u64::try_from(filename.len()).unwrap();
31+
Immediate::new_slice(file_ptr.into(), file_len, ecx)
3132
};
3233
let line = if loc_details.line { Scalar::from_u32(line) } else { Scalar::from_u32(0) };
3334
let col = if loc_details.column { Scalar::from_u32(col) } else { Scalar::from_u32(0) };
@@ -41,11 +42,8 @@ fn alloc_caller_location<'tcx>(
4142
let location = ecx.allocate(loc_layout, MemoryKind::CallerLocation).unwrap();
4243

4344
// Initialize fields.
44-
ecx.write_immediate(
45-
file_wide_ptr,
46-
&ecx.project_field(&location, FieldIdx::from_u32(0)).unwrap(),
47-
)
48-
.expect("writing to memory we just allocated cannot fail");
45+
ecx.write_immediate(filename, &ecx.project_field(&location, FieldIdx::from_u32(0)).unwrap())
46+
.expect("writing to memory we just allocated cannot fail");
4947
ecx.write_scalar(line, &ecx.project_field(&location, FieldIdx::from_u32(1)).unwrap())
5048
.expect("writing to memory we just allocated cannot fail");
5149
ecx.write_scalar(col, &ecx.project_field(&location, FieldIdx::from_u32(2)).unwrap())

compiler/rustc_data_structures/src/aligned.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1+
use std::marker::PointeeSized;
12
use std::ptr::Alignment;
23

3-
use rustc_serialize::PointeeSized;
4-
54
/// Returns the ABI-required minimum alignment of a type in bytes.
65
///
76
/// This is equivalent to [`align_of`], but also works for some unsized

compiler/rustc_data_structures/src/flock.rs

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,7 @@
44
//! green/native threading. This is just a bare-bones enough solution for
55
//! librustdoc, it is not production quality at all.
66
7-
// cfg(bootstrap)
8-
macro_rules! cfg_select_dispatch {
9-
($($tokens:tt)*) => {
10-
#[cfg(bootstrap)]
11-
cfg_match! { $($tokens)* }
12-
13-
#[cfg(not(bootstrap))]
14-
cfg_select! { $($tokens)* }
15-
};
16-
}
17-
18-
cfg_select_dispatch! {
7+
cfg_select! {
198
target_os = "linux" => {
209
mod linux;
2110
use linux as imp;

compiler/rustc_data_structures/src/lib.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@
1010
#![allow(internal_features)]
1111
#![allow(rustc::default_hash_types)]
1212
#![allow(rustc::potential_query_instability)]
13-
#![cfg_attr(bootstrap, feature(cfg_match))]
14-
#![cfg_attr(not(bootstrap), feature(cfg_select))]
15-
#![cfg_attr(not(bootstrap), feature(sized_hierarchy))]
1613
#![deny(unsafe_op_in_unsafe_fn)]
1714
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
1815
#![doc(rust_logo)]
@@ -22,6 +19,7 @@
2219
#![feature(ascii_char_variants)]
2320
#![feature(assert_matches)]
2421
#![feature(auto_traits)]
22+
#![feature(cfg_select)]
2523
#![feature(core_intrinsics)]
2624
#![feature(dropck_eyepatch)]
2725
#![feature(extend_one)]
@@ -33,6 +31,7 @@
3331
#![feature(ptr_alignment_type)]
3432
#![feature(rustc_attrs)]
3533
#![feature(rustdoc_internals)]
34+
#![feature(sized_hierarchy)]
3635
#![feature(test)]
3736
#![feature(thread_id_value)]
3837
#![feature(type_alias_impl_trait)]
@@ -44,9 +43,6 @@ use std::fmt;
4443
pub use atomic_ref::AtomicRef;
4544
pub use ena::{snapshot_vec, undo_log, unify};
4645
pub use rustc_index::static_assert_size;
47-
// re-exported for `rustc_smir`
48-
// FIXME(sized_hierarchy): remove with `cfg(bootstrap)`, see `rustc_serialize/src/lib.rs`
49-
pub use rustc_serialize::PointeeSized;
5046

5147
pub mod aligned;
5248
pub mod base_n;

compiler/rustc_data_structures/src/marker.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use std::alloc::Allocator;
2-
3-
use rustc_serialize::PointeeSized;
2+
use std::marker::PointeeSized;
43

54
#[diagnostic::on_unimplemented(message = "`{Self}` doesn't implement `DynSend`. \
65
Add it to `rustc_data_structures::marker` or use `IntoDynSyncSend` if it's already `Send`")]

compiler/rustc_data_structures/src/profiling.rs

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -859,19 +859,8 @@ fn get_thread_id() -> u32 {
859859
std::thread::current().id().as_u64().get() as u32
860860
}
861861

862-
// cfg(bootstrap)
863-
macro_rules! cfg_select_dispatch {
864-
($($tokens:tt)*) => {
865-
#[cfg(bootstrap)]
866-
cfg_match! { $($tokens)* }
867-
868-
#[cfg(not(bootstrap))]
869-
cfg_select! { $($tokens)* }
870-
};
871-
}
872-
873862
// Memory reporting
874-
cfg_select_dispatch! {
863+
cfg_select! {
875864
windows => {
876865
pub fn get_resident_set_size() -> Option<usize> {
877866
use windows::{

compiler/rustc_errors/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
#![allow(incomplete_features)]
77
#![allow(internal_features)]
88
#![allow(rustc::diagnostic_outside_of_impl)]
9+
#![allow(rustc::direct_use_of_rustc_type_ir)]
910
#![allow(rustc::untranslatable_diagnostic)]
10-
#![cfg_attr(not(bootstrap), allow(rustc::direct_use_of_rustc_type_ir))]
1111
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
1212
#![doc(rust_logo)]
1313
#![feature(array_windows)]

compiler/rustc_feature/src/accepted.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ declare_features! (
8383
/// Allows overloading augmented assignment operations like `a += b`.
8484
(accepted, augmented_assignments, "1.8.0", Some(28235)),
8585
/// Allows using `avx512*` target features.
86-
(accepted, avx512_target_feature, "CURRENT_RUSTC_VERSION", Some(44839)),
86+
(accepted, avx512_target_feature, "1.89.0", Some(44839)),
8787
/// Allows mixing bind-by-move in patterns and references to those identifiers in guards.
8888
(accepted, bind_by_move_pattern_guards, "1.39.0", Some(15287)),
8989
/// Allows bindings in the subpattern of a binding pattern.
@@ -221,7 +221,7 @@ declare_features! (
221221
/// Allows capturing variables in scope using format_args!
222222
(accepted, format_args_capture, "1.58.0", Some(67984)),
223223
/// Infer generic args for both consts and types.
224-
(accepted, generic_arg_infer, "CURRENT_RUSTC_VERSION", Some(85077)),
224+
(accepted, generic_arg_infer, "1.89.0", Some(85077)),
225225
/// Allows associated types to be generic, e.g., `type Foo<T>;` (RFC 1598).
226226
(accepted, generic_associated_types, "1.65.0", Some(44265)),
227227
/// Allows attributes on lifetime/type formal parameters in generics (RFC 1327).
@@ -262,7 +262,7 @@ declare_features! (
262262
/// especially around globs and shadowing (RFC 1560).
263263
(accepted, item_like_imports, "1.15.0", Some(35120)),
264264
// Allows using the `kl` and `widekl` target features and the associated intrinsics
265-
(accepted, keylocker_x86, "CURRENT_RUSTC_VERSION", Some(134813)),
265+
(accepted, keylocker_x86, "1.89.0", Some(134813)),
266266
/// Allows `'a: { break 'a; }`.
267267
(accepted, label_break_value, "1.65.0", Some(48594)),
268268
/// Allows `let...else` statements.
@@ -365,7 +365,7 @@ declare_features! (
365365
/// Lessens the requirements for structs to implement `Unsize`.
366366
(accepted, relaxed_struct_unsize, "1.58.0", Some(81793)),
367367
/// Allows the `#[repr(i128)]` attribute for enums.
368-
(accepted, repr128, "CURRENT_RUSTC_VERSION", Some(56071)),
368+
(accepted, repr128, "1.89.0", Some(56071)),
369369
/// Allows `repr(align(16))` struct attribute (RFC 1358).
370370
(accepted, repr_align, "1.25.0", Some(33626)),
371371
/// Allows using `#[repr(align(X))]` on enums with equivalent semantics
@@ -387,7 +387,7 @@ declare_features! (
387387
/// Allows `Self` struct constructor (RFC 2302).
388388
(accepted, self_struct_ctor, "1.32.0", Some(51994)),
389389
/// Allows use of x86 SHA512, SM3 and SM4 target-features and intrinsics
390-
(accepted, sha512_sm_x86, "CURRENT_RUSTC_VERSION", Some(126624)),
390+
(accepted, sha512_sm_x86, "1.89.0", Some(126624)),
391391
/// Shortern the tail expression lifetime
392392
(accepted, shorter_tail_lifetimes, "1.84.0", Some(123739)),
393393
/// Allows using subslice patterns, `[a, .., b]` and `[a, xs @ .., b]`.

compiler/rustc_feature/src/removed.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ declare_features! (
222222
/// Allows exhaustive integer pattern matching with `usize::MAX`/`isize::MIN`/`isize::MAX`.
223223
(removed, precise_pointer_size_matching, "1.76.0", Some(56354),
224224
Some("removed in favor of half-open ranges"), 118598),
225-
(removed, pref_align_of, "CURRENT_RUSTC_VERSION", Some(91971),
225+
(removed, pref_align_of, "1.89.0", Some(91971),
226226
Some("removed due to marginal use and inducing compiler complications")),
227227
(removed, proc_macro_expr, "1.27.0", Some(54727),
228228
Some("subsumed by `#![feature(proc_macro_hygiene)]`"), 52121),
@@ -265,7 +265,7 @@ declare_features! (
265265
(removed, unnamed_fields, "1.83.0", Some(49804), Some("feature needs redesign"), 131045),
266266
(removed, unsafe_no_drop_flag, "1.0.0", None, None),
267267
/// Allows unsized rvalues at arguments and parameters.
268-
(removed, unsized_locals, "CURRENT_RUSTC_VERSION", Some(48055), Some("removed due to implementation concerns; see https://github.com/rust-lang/rust/issues/111942")),
268+
(removed, unsized_locals, "1.89.0", Some(48055), Some("removed due to implementation concerns; see https://github.com/rust-lang/rust/issues/111942")),
269269
(removed, unsized_tuple_coercion, "1.87.0", Some(42877),
270270
Some("The feature restricts possible layouts for tuples, and this restriction is not worth it."), 137728),
271271
/// Allows `union` fields that don't implement `Copy` as long as they don't have any drop glue.

compiler/rustc_feature/src/unstable.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ declare_features! (
238238
/// Allows using `rustc_*` attributes (RFC 572).
239239
(internal, rustc_attrs, "1.0.0", None),
240240
/// Introduces a hierarchy of `Sized` traits (RFC 3729).
241-
(unstable, sized_hierarchy, "CURRENT_RUSTC_VERSION", None),
241+
(unstable, sized_hierarchy, "1.89.0", None),
242242
/// Allows using the `#[stable]` and `#[unstable]` attributes.
243243
(internal, staged_api, "1.0.0", None),
244244
/// Added for testing unstable lints; perma-unstable.
@@ -356,7 +356,7 @@ declare_features! (
356356
/// Allows `extern "cmse-nonsecure-call" fn()`.
357357
(unstable, abi_cmse_nonsecure_call, "CURRENT_RUSTC_VERSION", Some(81391)),
358358
/// Allows `extern "custom" fn()`.
359-
(unstable, abi_custom, "CURRENT_RUSTC_VERSION", Some(140829)),
359+
(unstable, abi_custom, "1.89.0", Some(140829)),
360360
/// Allows `extern "gpu-kernel" fn()`.
361361
(unstable, abi_gpu_kernel, "1.86.0", Some(135467)),
362362
/// Allows `extern "msp430-interrupt" fn()`.
@@ -376,7 +376,7 @@ declare_features! (
376376
/// Allows inherent and trait methods with arbitrary self types that are raw pointers.
377377
(unstable, arbitrary_self_types_pointers, "1.83.0", Some(44874)),
378378
/// Allows #[cfg(...)] on inline assembly templates and operands.
379-
(unstable, asm_cfg, "CURRENT_RUSTC_VERSION", Some(140364)),
379+
(unstable, asm_cfg, "1.89.0", Some(140364)),
380380
/// Enables experimental inline assembly support for additional architectures.
381381
(unstable, asm_experimental_arch, "1.58.0", Some(93335)),
382382
/// Enables experimental register support in inline assembly.

compiler/rustc_infer/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
// tidy-alphabetical-start
1616
#![allow(internal_features)]
1717
#![allow(rustc::diagnostic_outside_of_impl)]
18+
#![allow(rustc::direct_use_of_rustc_type_ir)]
1819
#![allow(rustc::untranslatable_diagnostic)]
19-
#![cfg_attr(not(bootstrap), allow(rustc::direct_use_of_rustc_type_ir))]
2020
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
2121
#![doc(rust_logo)]
2222
#![feature(assert_matches)]

compiler/rustc_macros/src/symbols.rs

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -190,17 +190,6 @@ fn symbols_with_errors(input: TokenStream) -> (TokenStream, Vec<syn::Error>) {
190190
let mut symbols_stream = quote! {};
191191
let mut prefill_stream = quote! {};
192192
let mut entries = Entries::with_capacity(input.keywords.len() + input.symbols.len() + 10);
193-
let mut prev_key: Option<(Span, String)> = None;
194-
195-
let mut check_order = |span: Span, s: &str, errors: &mut Errors| {
196-
if let Some((prev_span, ref prev_str)) = prev_key {
197-
if s < prev_str {
198-
errors.error(span, format!("Symbol `{s}` must precede `{prev_str}`"));
199-
errors.error(prev_span, format!("location of previous symbol `{prev_str}`"));
200-
}
201-
}
202-
prev_key = Some((span, s.to_string()));
203-
};
204193

205194
// Generate the listed keywords.
206195
for keyword in input.keywords.iter() {
@@ -219,7 +208,6 @@ fn symbols_with_errors(input: TokenStream) -> (TokenStream, Vec<syn::Error>) {
219208
// Generate the listed symbols.
220209
for symbol in input.symbols.iter() {
221210
let name = &symbol.name;
222-
check_order(symbol.name.span(), &name.to_string(), &mut errors);
223211

224212
let value = match &symbol.value {
225213
Value::SameAsName => name.to_string(),

compiler/rustc_macros/src/symbols/tests.rs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -84,18 +84,3 @@ fn check_dup_symbol_and_keyword() {
8484
};
8585
test_symbols_macro(input, &["Symbol `splat` is duplicated", "location of previous definition"]);
8686
}
87-
88-
#[test]
89-
fn check_symbol_order() {
90-
let input = quote! {
91-
Keywords {}
92-
Symbols {
93-
zebra,
94-
aardvark,
95-
}
96-
};
97-
test_symbols_macro(
98-
input,
99-
&["Symbol `aardvark` must precede `zebra`", "location of previous symbol `zebra`"],
100-
);
101-
}

compiler/rustc_middle/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,8 @@
2727
// tidy-alphabetical-start
2828
#![allow(internal_features)]
2929
#![allow(rustc::diagnostic_outside_of_impl)]
30+
#![allow(rustc::direct_use_of_rustc_type_ir)]
3031
#![allow(rustc::untranslatable_diagnostic)]
31-
#![cfg_attr(not(bootstrap), allow(rustc::direct_use_of_rustc_type_ir))]
32-
#![cfg_attr(not(bootstrap), feature(sized_hierarchy))]
3332
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
3433
#![doc(rust_logo)]
3534
#![feature(allocator_api)]
@@ -56,6 +55,7 @@
5655
#![feature(round_char_boundary)]
5756
#![feature(rustc_attrs)]
5857
#![feature(rustdoc_internals)]
58+
#![feature(sized_hierarchy)]
5959
#![feature(try_blocks)]
6060
#![feature(try_trait_v2)]
6161
#![feature(try_trait_v2_yeet)]

compiler/rustc_middle/src/ty/codec.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
99
use std::hash::Hash;
1010
use std::intrinsics;
11-
use std::marker::DiscriminantKind;
11+
use std::marker::{DiscriminantKind, PointeeSized};
1212

1313
use rustc_abi::{FieldIdx, VariantIdx};
1414
use rustc_data_structures::fx::FxHashMap;
1515
use rustc_hir::def_id::LocalDefId;
16-
use rustc_serialize::{Decodable, Encodable, PointeeSized};
16+
use rustc_serialize::{Decodable, Encodable};
1717
use rustc_span::source_map::Spanned;
1818
use rustc_span::{Span, SpanDecoder, SpanEncoder};
1919

compiler/rustc_middle/src/ty/context.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use std::cmp::Ordering;
1010
use std::env::VarError;
1111
use std::ffi::OsStr;
1212
use std::hash::{Hash, Hasher};
13-
use std::marker::PhantomData;
13+
use std::marker::{PhantomData, PointeeSized};
1414
use std::ops::{Bound, Deref};
1515
use std::sync::{Arc, OnceLock};
1616
use std::{fmt, iter, mem};
@@ -43,7 +43,6 @@ use rustc_macros::{HashStable, TyDecodable, TyEncodable};
4343
use rustc_query_system::cache::WithDepNode;
4444
use rustc_query_system::dep_graph::DepNodeIndex;
4545
use rustc_query_system::ich::StableHashingContext;
46-
use rustc_serialize::PointeeSized;
4746
use rustc_serialize::opaque::{FileEncodeResult, FileEncoder};
4847
use rustc_session::config::CrateType;
4948
use rustc_session::cstore::{CrateStoreDyn, Untracked};

compiler/rustc_next_trait_solver/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
//! So if you got to this crate from the old solver, it's totally normal.
66
77
// tidy-alphabetical-start
8+
#![allow(rustc::direct_use_of_rustc_type_ir)]
89
#![allow(rustc::usage_of_type_ir_inherent)]
910
#![allow(rustc::usage_of_type_ir_traits)]
10-
#![cfg_attr(not(bootstrap), allow(rustc::direct_use_of_rustc_type_ir))]
1111
// tidy-alphabetical-end
1212

1313
pub mod canonicalizer;

compiler/rustc_serialize/src/lib.rs

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// tidy-alphabetical-start
44
#![allow(internal_features)]
55
#![allow(rustc::internal)]
6-
#![cfg_attr(not(bootstrap), feature(sized_hierarchy))]
76
#![cfg_attr(test, feature(test))]
87
#![doc(
98
html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/",
@@ -15,6 +14,7 @@
1514
#![feature(min_specialization)]
1615
#![feature(never_type)]
1716
#![feature(rustdoc_internals)]
17+
#![feature(sized_hierarchy)]
1818
// tidy-alphabetical-end
1919

2020
// Allows macros to refer to this crate as `::rustc_serialize`.
@@ -28,19 +28,3 @@ mod serialize;
2828
pub mod int_overflow;
2929
pub mod leb128;
3030
pub mod opaque;
31-
32-
// This has nothing to do with `rustc_serialize` but it is convenient to define it in one place
33-
// for the rest of the compiler so that `cfg(bootstrap)` doesn't need to be littered throughout
34-
// the compiler wherever `PointeeSized` would be used. `rustc_serialize` happens to be the deepest
35-
// crate in the crate graph which uses `PointeeSized`.
36-
//
37-
// When bootstrap bumps, remove both the `cfg(not(bootstrap))` and `cfg(bootstrap)` lines below
38-
// and just import `std::marker::PointeeSized` whereever this item was used.
39-
40-
#[cfg(not(bootstrap))]
41-
pub use std::marker::PointeeSized;
42-
43-
#[cfg(bootstrap)]
44-
pub trait PointeeSized {}
45-
#[cfg(bootstrap)]
46-
impl<T: ?Sized> PointeeSized for T {}

0 commit comments

Comments
 (0)