MCPcopy Create free account
hub / github.com/Rust-GPU/rust-gpu / from_str

Method from_str

crates/rustc_codegen_spirv/src/target.rs:111–137  ·  view source on GitHub ↗
(target: &str)

Source from the content-addressed store, hash-verified

109 type Err = InvalidTarget;
110
111 fn from_str(target: &str) -> Result<Self, Self::Err> {
112 let mut iter = target.split('-');
113 let error = || InvalidTarget(target.into());
114
115 if iter.next().map_or(true, |arch| arch != ARCH) {
116 return Err(error());
117 }
118
119 let vendor = iter.next().map(From::from).ok_or_else(error)?;
120
121 let env = iter
122 .next()
123 .and_then(|env| env.parse().ok())
124 .ok_or_else(error)?;
125
126 if iter.next().is_some() {
127 return Err(error());
128 }
129
130 let result = Self { env, vendor };
131
132 if result.memory_model() == MemoryModel::OpenCL {
133 return Err(error());
134 }
135
136 Ok(result)
137 }
138}
139
140impl std::fmt::Display for SpirvTarget {

Callers

nothing calls this directly

Calls 4

InvalidTargetClass · 0.85
memory_modelMethod · 0.80
nextMethod · 0.45
parseMethod · 0.45

Tested by

no test coverage detected