about summary refs log tree commit diff
path: root/compiler/rustc_serialize/src
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2025-06-24 10:05:56 -0700
committerJosh Stone <jistone@redhat.com>2025-07-01 10:55:49 -0700
commite851e3e16e161e624b4108b83889b3fdbd5d44dd (patch)
tree20302241c5875bac068af62ba935d81c7ee63df1 /compiler/rustc_serialize/src
parenta58050b753387daee70cbf6c231ea1422dd74d47 (diff)
downloadrust-e851e3e16e161e624b4108b83889b3fdbd5d44dd.tar.gz
rust-e851e3e16e161e624b4108b83889b3fdbd5d44dd.zip
Update `cfg(bootstrap)`
Diffstat (limited to 'compiler/rustc_serialize/src')
-rw-r--r--compiler/rustc_serialize/src/lib.rs18
-rw-r--r--compiler/rustc_serialize/src/serialize.rs6
2 files changed, 4 insertions, 20 deletions
diff --git a/compiler/rustc_serialize/src/lib.rs b/compiler/rustc_serialize/src/lib.rs
index 656ecfcab36..806d880b19c 100644
--- a/compiler/rustc_serialize/src/lib.rs
+++ b/compiler/rustc_serialize/src/lib.rs
@@ -3,7 +3,6 @@
 // tidy-alphabetical-start
 #![allow(internal_features)]
 #![allow(rustc::internal)]
-#![cfg_attr(not(bootstrap), feature(sized_hierarchy))]
 #![cfg_attr(test, feature(test))]
 #![doc(
     html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/",
@@ -15,6 +14,7 @@
 #![feature(min_specialization)]
 #![feature(never_type)]
 #![feature(rustdoc_internals)]
+#![feature(sized_hierarchy)]
 // tidy-alphabetical-end
 
 // Allows macros to refer to this crate as `::rustc_serialize`.
@@ -28,19 +28,3 @@ mod serialize;
 pub mod int_overflow;
 pub mod leb128;
 pub mod opaque;
-
-// This has nothing to do with `rustc_serialize` but it is convenient to define it in one place
-// for the rest of the compiler so that `cfg(bootstrap)` doesn't need to be littered throughout
-// the compiler wherever `PointeeSized` would be used. `rustc_serialize` happens to be the deepest
-// crate in the crate graph which uses `PointeeSized`.
-//
-// When bootstrap bumps, remove both the `cfg(not(bootstrap))` and `cfg(bootstrap)` lines below
-// and just import `std::marker::PointeeSized` whereever this item was used.
-
-#[cfg(not(bootstrap))]
-pub use std::marker::PointeeSized;
-
-#[cfg(bootstrap)]
-pub trait PointeeSized {}
-#[cfg(bootstrap)]
-impl<T: ?Sized> PointeeSized for T {}
diff --git a/compiler/rustc_serialize/src/serialize.rs b/compiler/rustc_serialize/src/serialize.rs
index 846710c3398..6ea70600626 100644
--- a/compiler/rustc_serialize/src/serialize.rs
+++ b/compiler/rustc_serialize/src/serialize.rs
@@ -4,7 +4,7 @@ use std::borrow::Cow;
 use std::cell::{Cell, RefCell};
 use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet, VecDeque};
 use std::hash::{BuildHasher, Hash};
-use std::marker::PhantomData;
+use std::marker::{PhantomData, PointeeSized};
 use std::num::NonZero;
 use std::path;
 use std::rc::Rc;
@@ -164,7 +164,7 @@ pub trait Decoder {
 ///   `rustc_metadata::rmeta::Lazy`.
 /// * `TyEncodable` should be used for types that are only serialized in crate
 ///   metadata or the incremental cache. This is most types in `rustc_middle`.
-pub trait Encodable<S: Encoder>: crate::PointeeSized {
+pub trait Encodable<S: Encoder>: PointeeSized {
     fn encode(&self, s: &mut S);
 }
 
@@ -220,7 +220,7 @@ direct_serialize_impls! {
     char emit_char read_char
 }
 
-impl<S: Encoder, T: ?Sized + crate::PointeeSized> Encodable<S> for &T
+impl<S: Encoder, T: ?Sized + PointeeSized> Encodable<S> for &T
 where
     T: Encodable<S>,
 {