in src/bindgen/utilities.rs [258:282]
fn unsafe_attr_name_value_lookup(&self, name: &str) -> Option<String> {
self.attrs()
.iter()
.filter_map(|attr| {
let syn::Meta::List(list) = &attr.meta else { return None };
if !list.path.is_ident("unsafe") {
return None;
}
let parser = syn::punctuated::Punctuated::<syn::MetaNameValue, syn::Token![,]>::parse_terminated;
let Ok(args) = list.parse_args_with(parser) else { return None };
for arg in args {
if !arg.path.is_ident(name) {
continue;
}
if let syn::Expr::Lit(syn::ExprLit {
lit: syn::Lit::Str(lit),
..
}) = arg.value {
return Some(lit.value());
}
}
None
})
.next()
}