fn inner<'a>(&mut self, source: &'a str) -> Result<crate::Module, Error<'a>> { let tu = self.parser.parse(source)?; let index = index::Index::generate(&tu)?; let module = Lowerer::new(&index).lower(&tu)?;
Ok(module)
}
}
/// <div class="warning"> // NOTE: Keep this in sync with `wgpu::Device::create_shader_module`! // NOTE: Keep this in sync with `wgpu_core::Global::device_create_shader_module`! /// /// This function may consume a lot of stack space. Compiler-enforced limits for parsing recursion /// exist; if shader compilation runs into them, it will return an error gracefully. However, on /// some build profiles and platforms, the default stack size for a thread may be exceeded before /// this limit is reached during parsing. Callers should ensure that there is enough stack space /// for this, particularly if calls to this method are exposed to user input. /// /// </div> pubfn parse_str(source: &str) -> Result<crate::Module, ParseError> {
Frontend::new().parse(source)
}
#[cfg(test)] #[track_caller] pubfn assert_parse_err(input: &str, snapshot: &str) { let output = parse_str(input)
.expect_err("expected parser error")
.emit_to_string(input); if output != snapshot { for diff in diff::lines(snapshot, &output) { match diff {
diff::Result::Left(l) => println!("-{l}"),
diff::Result::Both(l, _) => println!(" {l}"),
diff::Result::Right(r) => println!("+{r}"),
}
}
panic!("Error snapshot failed");
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.27 Sekunden
(vorverarbeitet am 2026-06-18)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.