1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
use std::fmt; use crate::core::target_triple as tt; #[derive(PartialEq, PartialOrd, Eq, Ord, Debug)] pub struct TargetTriple { pub architecture: tt::Arch, pub sub: Option<tt::Sub>, pub vendor: tt::Vendor, pub sys: tt::Sys, pub abi: tt::ABI, } impl fmt::Display for TargetTriple { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match &self.sub { Some(sub) => write!( f, "{}{}-{}-{}-{}", self.architecture, sub, self.vendor, self.sys, self.abi ), None => write!( f, "{}-{}-{}-{}", self.architecture, self.vendor, self.sys, self.abi ), } } }