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

Method parse

crates/spirv-std/macros/src/lib.rs:398–421  ·  view source on GitHub ↗
(input: syn::parse::ParseStream<'_>)

Source from the content-addressed store, hash-verified

396
397impl syn::parse::Parse for DebugPrintfInput {
398 fn parse(input: syn::parse::ParseStream<'_>) -> syn::parse::Result<Self> {
399 let span = input.span();
400
401 if input.is_empty() {
402 return Ok(Self {
403 span,
404 format_string: Default::default(),
405 variables: Default::default(),
406 });
407 }
408
409 let format_string = input.parse::<syn::LitStr>()?;
410 if !input.is_empty() {
411 input.parse::<syn::token::Comma>()?;
412 }
413 let variables =
414 syn::punctuated::Punctuated::<syn::Expr, syn::token::Comma>::parse_terminated(input)?;
415
416 Ok(Self {
417 span,
418 format_string: format_string.value(),
419 variables: variables.into_iter().collect(),
420 })
421 }
422}
423
424fn parsing_error(message: &str, span: proc_macro2::Span) -> TokenStream {

Callers 2

rewriteMethod · 0.45
add_regsMethod · 0.45

Calls 3

spanMethod · 0.80
into_iterMethod · 0.80
collectMethod · 0.45

Tested by

no test coverage detected