#[non_exhaustive]pub struct PlatformSummary {
pub triple: String,
pub custom_json: Option<String>,
pub custom_cfg: Option<String>,
pub target_features: TargetFeaturesSummary,
pub flags: BTreeSet<String>,
}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
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.triple: StringThe platform triple.
custom_json: Option<String>JSON for custom platforms.
custom_cfg: Option<String>rustc --print=cfg output for custom platforms.
target_features: TargetFeaturesSummaryThe 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_jsonis set toNone.custom_cfgis set toNone.target_featuresis set toTargetFeaturesSummary::Unknown.flagsis 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.
This clears any previously set custom_cfg, since only
one custom platform source is allowed.
For more about target definition JSON, see Creating a custom target in the Rust Embedonomicon.
Sourcepub fn with_custom_cfg(self, custom_cfg: impl Into<String>) -> Self
pub fn with_custom_cfg(self, custom_cfg: impl Into<String>) -> Self
If this represents a custom platform created from
rustc --print=cfg output, sets that output.
This clears any previously set custom_json, since only
one custom platform source is allowed.
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
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more