Skip to content

Commit dea0fec

Browse files
Kswin01nspin
authored andcommitted
sel4-sys: Fix generation of out params
When an out param has the name type, it needs to be escaped by prefixing the name with r#. Signed-off-by: Krishnan Winter <krishnan.winter@unsw.edu.au>
1 parent 60b2fcf commit dea0fec

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

  • crates/sel4/sys/build/xml/invocations

crates/sel4/sys/build/xml/invocations/mod.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,8 @@ impl<'a> InvocationGenerator<'a> {
224224
out_params_passed_by_value: &[&Parameter],
225225
) -> TokenStream {
226226
let ret_struct_fields = out_params_passed_by_value.iter().map(|param| {
227-
let name = format_ident!("{}", param.name);
228-
let ty = format_ident!("{}", param.ty);
227+
let name = raw_ident(&param.name);
228+
let ty = raw_ident(&param.ty);
229229
quote! {
230230
#name: #ty
231231
}
@@ -304,16 +304,16 @@ impl<'a> InvocationGenerator<'a> {
304304
ParameterType::Primitive {
305305
module_enum: false, ..
306306
} => {
307-
let name = format_ident!("{}", param.name);
307+
let name = raw_ident(&param.name);
308308
toks.extend(quote! {
309309
ret.#name = self.get_mr_bits(#start..#end);
310310
})
311311
}
312312
ParameterType::Struct { members } => {
313313
assert!(self.parameter_types.get(&param.ty).pass_by_reference());
314-
let name = format_ident!("{}", param.name);
314+
let name = raw_ident(&param.name);
315315
for (i, member) in members.iter().enumerate() {
316-
let member = format_ident!("{}", member);
316+
let member = raw_ident(member);
317317
let member_start = start + i * WORD_SIZE;
318318
let member_end = member_start + WORD_SIZE;
319319
toks.extend(quote! {

0 commit comments

Comments
 (0)