#[non_exhaustive]pub struct PlatformSummary {
pub triple: String,
pub custom_json: Option<String>,
pub target_features: TargetFeaturesSummary,
pub flags: BTreeSet<String>,
}
Available on crate feature
summaries
only.Expand description
An owned, serializable version of Platform
.
This structure can be serialized and deserialized using serde
.
Requires the summaries
feature to be enabled.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.triple: String
The platform triple.
custom_json: Option<String>
JSON for custom platforms.
target_features: TargetFeaturesSummary
The target features used.
flags: BTreeSet<String>
The flags enabled.
Implementations§
source§impl PlatformSummary
impl PlatformSummary
sourcepub fn new(triple_str: impl Into<String>) -> Self
pub fn new(triple_str: impl Into<String>) -> Self
Creates a new PlatformSummary
with the provided triple and default options.
The default options are:
custom_json
is set to None.target_features
is set toTargetFeaturesSummary::Unknown
.flags
is empty.
sourcepub fn with_custom_json(self, custom_json: impl Into<String>) -> Self
pub fn with_custom_json(self, custom_json: impl Into<String>) -> Self
If this represents a custom platform, sets the target definition JSON for it.
For more about target definition JSON, see Creating a custom target on the Rust Embedonomicon.
sourcepub fn with_target_features(
self,
target_features: TargetFeaturesSummary,
) -> Self
pub fn with_target_features( self, target_features: TargetFeaturesSummary, ) -> Self
Sets the target features for this platform.
sourcepub fn with_added_flags(
self,
flags: impl IntoIterator<Item = impl Into<String>>,
) -> Self
pub fn with_added_flags( self, flags: impl IntoIterator<Item = impl Into<String>>, ) -> Self
Adds flags for this platform.
sourcepub fn from_platform(platform: &Platform) -> Self
pub fn from_platform(platform: &Platform) -> Self
Creates a new PlatformSummary
instance from a platform.
sourcepub fn to_platform(&self) -> Result<Platform, Error>
pub fn to_platform(&self) -> Result<Platform, Error>
Converts self
to a Platform
.
Returns an Error
if the platform was unknown.
Trait Implementations§
source§impl Clone for PlatformSummary
impl Clone for PlatformSummary
source§fn clone(&self) -> PlatformSummary
fn clone(&self) -> PlatformSummary
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for PlatformSummary
impl Debug for PlatformSummary
source§impl<'de> Deserialize<'de> for PlatformSummary
impl<'de> Deserialize<'de> for PlatformSummary
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for PlatformSummary
impl PartialEq for PlatformSummary
source§impl Serialize for PlatformSummary
impl Serialize for PlatformSummary
impl Eq for PlatformSummary
impl StructuralPartialEq for PlatformSummary
Auto Trait Implementations§
impl Freeze for PlatformSummary
impl RefUnwindSafe for PlatformSummary
impl Send for PlatformSummary
impl Sync for PlatformSummary
impl Unpin for PlatformSummary
impl UnwindSafe for PlatformSummary
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)