From 32fea486faf22bbef00d3976af139c90fa6a92f7 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Fri, 24 Feb 2023 22:16:01 +0100 Subject: [PATCH] Reexport MetadataBlob so it can be used in rustc plugins --- compiler/rustc_metadata/src/lib.rs | 2 +- compiler/rustc_metadata/src/rmeta/decoder.rs | 2 +- compiler/rustc_metadata/src/rmeta/mod.rs | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/rustc_metadata/src/lib.rs b/compiler/rustc_metadata/src/lib.rs index 6f6d3731ceace..9b074a1154262 100644 --- a/compiler/rustc_metadata/src/lib.rs +++ b/compiler/rustc_metadata/src/lib.rs @@ -45,6 +45,6 @@ pub mod locator; pub use fs::{emit_wrapper_file, METADATA_FILENAME}; pub use native_libs::find_native_static_library; -pub use rmeta::{encode_metadata, EncodedMetadata, METADATA_HEADER}; +pub use rmeta::{encode_metadata, EncodedMetadata, MetadataBlob, METADATA_HEADER}; fluent_messages! { "../locales/en-US.ftl" } diff --git a/compiler/rustc_metadata/src/rmeta/decoder.rs b/compiler/rustc_metadata/src/rmeta/decoder.rs index 3457e51f8e6e9..46b4079a1ae7a 100644 --- a/compiler/rustc_metadata/src/rmeta/decoder.rs +++ b/compiler/rustc_metadata/src/rmeta/decoder.rs @@ -50,7 +50,7 @@ mod cstore_impl; /// A `MetadataBlob` internally is just a reference counted pointer to /// the actual data, so cloning it is cheap. #[derive(Clone)] -pub(crate) struct MetadataBlob(Lrc); +pub struct MetadataBlob(Lrc); // This is needed so we can create an OwningRef into the blob. // The data behind a `MetadataBlob` has a stable address because it is diff --git a/compiler/rustc_metadata/src/rmeta/mod.rs b/compiler/rustc_metadata/src/rmeta/mod.rs index a7ec2d790b73a..05c192fdb8eb6 100644 --- a/compiler/rustc_metadata/src/rmeta/mod.rs +++ b/compiler/rustc_metadata/src/rmeta/mod.rs @@ -38,7 +38,8 @@ use std::num::NonZeroUsize; pub use decoder::provide_extern; use decoder::DecodeContext; -pub(crate) use decoder::{CrateMetadata, CrateNumMap, MetadataBlob}; +pub use decoder::MetadataBlob; +pub(crate) use decoder::{CrateMetadata, CrateNumMap}; use encoder::EncodeContext; pub use encoder::{encode_metadata, EncodedMetadata}; use rustc_span::hygiene::SyntaxContextData;