@@ -356,15 +356,14 @@ fn store_trap<T: FnMut(&str) -> bool>(arch: RiscvArch, mut filter: T) -> String
356356 RiscvArch :: Rv32 => ( 4 , "sw" ) ,
357357 RiscvArch :: Rv64 => ( 8 , "sd" ) ,
358358 } ;
359- let mut stores = Vec :: new ( ) ;
360- for ( i , reg ) in TRAP_FRAME
359+
360+ TRAP_FRAME
361361 . iter ( )
362362 . enumerate ( )
363363 . filter ( |( _, & reg) | filter ( reg) )
364- {
365- stores. push ( format ! ( "{store} {reg}, {i}*{width}(sp)" ) ) ;
366- }
367- stores. join ( "\n " )
364+ . map ( |( i, reg) | format ! ( "{store} {reg}, {i}*{width}(sp)" ) )
365+ . collect :: < Vec < _ > > ( )
366+ . join ( "\n " )
368367}
369368
370369/// Generate the assembly instructions to load the trap frame.
@@ -374,11 +373,12 @@ fn load_trap(arch: RiscvArch) -> String {
374373 RiscvArch :: Rv32 => ( 4 , "lw" ) ,
375374 RiscvArch :: Rv64 => ( 8 , "ld" ) ,
376375 } ;
377- let mut loads = Vec :: new ( ) ;
378- for ( i, reg) in TRAP_FRAME . iter ( ) . enumerate ( ) {
379- loads. push ( format ! ( "{load} {reg}, {i}*{width}(sp)" ) ) ;
380- }
381- loads. join ( "\n " )
376+ TRAP_FRAME
377+ . iter ( )
378+ . enumerate ( )
379+ . map ( |( i, reg) | format ! ( "{load} {reg}, {i}*{width}(sp)" ) )
380+ . collect :: < Vec < _ > > ( )
381+ . join ( "\n " )
382382}
383383
384384/// Generates weak `_start_trap` function in assembly for RISCV-32 targets.
@@ -428,7 +428,7 @@ fn weak_start_trap(arch: RiscvArch) -> TokenStream {
428428 format ! (
429429 r#"
430430core::arch::global_asm!(
431- ".section .trap, \\ "ax\ \"
431+ ".section .trap, \"ax\"
432432.align {width}
433433.weak _start_trap
434434_start_trap:
@@ -481,7 +481,7 @@ fn vectored_interrupt_trap(arch: RiscvArch) -> TokenStream {
481481 let instructions = format ! (
482482 r#"
483483core::arch::global_asm!(
484- ".section .trap, \\ "ax\ \"
484+ ".section .trap, \"ax\"
485485
486486.global _start_DefaultHandler_trap
487487_start_DefaultHandler_trap:
@@ -586,7 +586,7 @@ fn start_interrupt_trap(ident: &syn::Ident, arch: RiscvArch) -> proc_macro2::Tok
586586 let instructions = format ! (
587587 r#"
588588core::arch::global_asm!(
589- ".section .trap, \\ "ax\ \"
589+ ".section .trap, \"ax\"
590590 .align 2
591591 .global _start_{interrupt}_trap
592592 _start_{interrupt}_trap:
0 commit comments