@@ -2446,7 +2446,7 @@ impl<'a, 'b> FunctionBindgen<'a, 'b> {
24462446
24472447fn move_if_necessary ( arg : & str ) -> String {
24482448 // if it is a name of a variable move it
2449- if !arg. is_empty ( ) && arg. chars ( ) . all ( char:: is_alphanumeric) {
2449+ if !arg. is_empty ( ) && arg. chars ( ) . all ( |c| char:: is_alphanumeric ( c ) || c == '_' ) {
24502450 format ! ( "std::move({arg})" )
24512451 } else {
24522452 arg. into ( )
@@ -2557,9 +2557,9 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
25572557 abi:: Instruction :: BoolFromI32 => top_as ( "bool" ) ,
25582558 abi:: Instruction :: ListCanonLower { realloc, .. } => {
25592559 let tmp = self . tmp ( ) ;
2560- let val = format ! ( "vec {tmp}" ) ;
2561- let ptr = format ! ( "ptr {tmp}" ) ;
2562- let len = format ! ( "len {tmp}" ) ;
2560+ let val = format ! ( "_vec {tmp}" ) ;
2561+ let ptr = format ! ( "_ptr {tmp}" ) ;
2562+ let len = format ! ( "_len {tmp}" ) ;
25632563 self . push_str ( & format ! ( "auto&& {} = {};\n " , val, operands[ 0 ] ) ) ;
25642564 self . push_str ( & format ! (
25652565 "auto {} = ({})({}.data());\n " ,
@@ -2578,9 +2578,9 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
25782578 }
25792579 abi:: Instruction :: StringLower { realloc } => {
25802580 let tmp = self . tmp ( ) ;
2581- let val = format ! ( "vec {tmp}" ) ;
2582- let ptr = format ! ( "ptr {tmp}" ) ;
2583- let len = format ! ( "len {tmp}" ) ;
2581+ let val = format ! ( "_vec {tmp}" ) ;
2582+ let ptr = format ! ( "_ptr {tmp}" ) ;
2583+ let len = format ! ( "_len {tmp}" ) ;
25842584 self . push_str ( & format ! ( "auto&& {} = {};\n " , val, operands[ 0 ] ) ) ;
25852585 self . push_str ( & format ! (
25862586 "auto {} = ({})({}.data());\n " ,
@@ -2600,9 +2600,9 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
26002600 abi:: Instruction :: ListLower { element, realloc } => {
26012601 let tmp = self . tmp ( ) ;
26022602 let body = self . blocks . pop ( ) . unwrap ( ) ;
2603- let val = format ! ( "vec {tmp}" ) ;
2604- let ptr = format ! ( "ptr {tmp}" ) ;
2605- let len = format ! ( "len {tmp}" ) ;
2603+ let val = format ! ( "_vec {tmp}" ) ;
2604+ let ptr = format ! ( "_ptr {tmp}" ) ;
2605+ let len = format ! ( "_len {tmp}" ) ;
26062606 let size = self . r#gen . sizes . size ( element) ;
26072607 self . push_str ( & format ! ( "auto&& {} = {};\n " , val, operands[ 0 ] ) ) ;
26082608 self . push_str ( & format ! (
@@ -2614,10 +2614,10 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
26142614 self . push_str ( & format ! ( "auto {len} = (size_t)({val}.size());\n " ) ) ;
26152615 self . push_str ( & format ! ( "for (size_t i = 0; i < {len}; ++i) {{\n " ) ) ;
26162616 self . push_str ( & format ! (
2617- "auto base = {ptr} + i * {size};\n " ,
2617+ "auto _base = {ptr} + i * {size};\n " ,
26182618 size = size. format( POINTER_SIZE_EXPRESSION )
26192619 ) ) ;
2620- self . push_str ( & format ! ( "auto&& iter_elem = {val}[i];\n " ) ) ;
2620+ self . push_str ( & format ! ( "auto&& _iter_elem = {val}[i];\n " ) ) ;
26212621 self . push_str ( & format ! ( "{}\n " , body. 0 ) ) ;
26222622 self . push_str ( "}\n " ) ;
26232623 if realloc. is_none ( ) {
@@ -2630,7 +2630,7 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
26302630 }
26312631 abi:: Instruction :: ListCanonLift { element, .. } => {
26322632 let tmp = self . tmp ( ) ;
2633- let len = format ! ( "len {tmp}" ) ;
2633+ let len = format ! ( "_len {tmp}" ) ;
26342634 let inner = self
26352635 . r#gen
26362636 . type_name ( element, & self . namespace , Flavor :: InStruct ) ;
@@ -2649,7 +2649,7 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
26492649 }
26502650 abi:: Instruction :: StringLift => {
26512651 let tmp = self . tmp ( ) ;
2652- let len = format ! ( "len {tmp}" ) ;
2652+ let len = format ! ( "_len {tmp}" ) ;
26532653 uwriteln ! ( self . src, "auto {} = {};\n " , len, operands[ 1 ] ) ;
26542654 let result = if self . r#gen . r#gen . opts . api_style == APIStyle :: Symmetric
26552655 && matches ! ( self . variant, AbiVariant :: GuestExport )
@@ -2679,9 +2679,9 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
26792679 Flavor :: InStruct
26802680 } ;
26812681 let vtype = self . r#gen . type_name ( element, & self . namespace , flavor) ;
2682- let len = format ! ( "len {tmp}" ) ;
2683- let base = format ! ( "base {tmp}" ) ;
2684- let result = format ! ( "result {tmp}" ) ;
2682+ let len = format ! ( "_len {tmp}" ) ;
2683+ let base = format ! ( "_base {tmp}" ) ;
2684+ let result = format ! ( "_result {tmp}" ) ;
26852685 self . push_str ( & format ! (
26862686 "auto {base} = {operand0};\n " ,
26872687 operand0 = operands[ 0 ]
@@ -2705,17 +2705,21 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
27052705 uwriteln ! ( self . src, "for (unsigned i=0; i<{len}; ++i) {{" ) ;
27062706 uwriteln ! (
27072707 self . src,
2708- "auto base = {base} + i * {size};" ,
2708+ "auto _base = {base} + i * {size};" ,
27092709 size = size. format( POINTER_SIZE_EXPRESSION )
27102710 ) ;
27112711 uwrite ! ( self . src, "{}" , body. 0 ) ;
2712- uwriteln ! ( self . src, "auto e{tmp} = {};" , move_if_necessary( & body. 1 [ 0 ] ) ) ;
2712+ uwriteln ! (
2713+ self . src,
2714+ "auto _e{tmp} = {};" ,
2715+ move_if_necessary( & body. 1 [ 0 ] )
2716+ ) ;
27132717 if let Some ( code) = self . leak_on_insertion . take ( ) {
27142718 assert ! ( self . needs_dealloc) ;
27152719 uwriteln ! ( self . src, "{code}" ) ;
27162720 }
27172721 // inplace construct
2718- uwriteln ! ( self . src, "{result}.initialize(i, std::move(e {tmp}));" ) ;
2722+ uwriteln ! ( self . src, "{result}.initialize(i, std::move(_e {tmp}));" ) ;
27192723 uwriteln ! ( self . src, "}}" ) ;
27202724
27212725 if self . r#gen . r#gen . opts . api_style == APIStyle :: Symmetric
@@ -2739,7 +2743,7 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
27392743 id : _,
27402744 } => {
27412745 let tmp = self . tmp ( ) ;
2742- let result = format ! ( "result {tmp}" ) ;
2746+ let result = format ! ( "_result {tmp}" ) ;
27432747 let typename = self
27442748 . r#gen
27452749 . type_name ( element, & self . namespace , Flavor :: InStruct ) ;
@@ -2758,7 +2762,7 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
27582762 } => {
27592763 let body = self . blocks . pop ( ) . unwrap ( ) ;
27602764 let tmp = self . tmp ( ) ;
2761- let vec = format ! ( "array {tmp}" ) ;
2765+ let vec = format ! ( "_array {tmp}" ) ;
27622766 let source = operands[ 0 ] . clone ( ) ;
27632767 let size = self . r#gen . sizes . size ( element) ;
27642768 let size_str = size. format ( POINTER_SIZE_EXPRESSION ) ;
@@ -2769,12 +2773,12 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
27692773 self . push_str ( & format ! ( "std::array<{typename}, {elemsize}> {vec};\n " ) ) ;
27702774 self . push_str ( & format ! (
27712775 "{{
2772- {ptr_type} outer_base = {source};\n "
2776+ {ptr_type} _outer_base = {source};\n "
27732777 ) ) ;
2774- let source: String = "outer_base " . into ( ) ;
2778+ let source: String = "_outer_base " . into ( ) ;
27752779 // let vec: String = "outer_vec".into();
27762780 self . push_str ( & format ! ( "for (unsigned i = 0; i<{elemsize}; ++i) {{\n " , ) ) ;
2777- self . push_str ( & format ! ( "{ptr_type} base = {source} + i * {size_str};\n " ) ) ;
2781+ self . push_str ( & format ! ( "{ptr_type} _base = {source} + i * {size_str};\n " ) ) ;
27782782 self . push_str ( & body. 0 ) ;
27792783 self . push_str ( & format ! ( "{vec}[i] = {};" , body. 1 [ 0 ] ) ) ;
27802784 self . push_str ( "\n }\n }\n " ) ;
@@ -2805,23 +2809,23 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
28052809 let ptr_type = self . r#gen . r#gen . opts . ptr_type ( ) ;
28062810 self . push_str ( & format ! (
28072811 "{{
2808- {ptr_type} outer_base = {target};\n "
2812+ {ptr_type} _outer_base = {target};\n "
28092813 ) ) ;
2810- let target: String = "outer_base " . into ( ) ;
2814+ let target: String = "_outer_base " . into ( ) ;
28112815 self . push_str ( & format ! (
2812- "std::array<{typename}, {elemsize}>& outer_vec = {vec};\n "
2816+ "std::array<{typename}, {elemsize}>& _outer_vec = {vec};\n "
28132817 ) ) ;
2814- let vec: String = "outer_vec " . into ( ) ;
2818+ let vec: String = "_outer_vec " . into ( ) ;
28152819 self . push_str ( & format ! ( "for (unsigned i = 0; i<{vec}.size(); ++i) {{\n " , ) ) ;
28162820 self . push_str ( & format ! (
2817- "{ptr_type} base = {target} + i * {size_str};
2818- {typename}& iter_elem = {vec}[i];\n "
2821+ "{ptr_type} _base = {target} + i * {size_str};
2822+ {typename}& _iter_elem = {vec}[i];\n "
28192823 ) ) ;
28202824 self . push_str ( & body. 0 ) ;
28212825 self . push_str ( "\n }\n }\n " ) ;
28222826 }
2823- abi:: Instruction :: IterElem { .. } => results. push ( "iter_elem " . to_string ( ) ) ,
2824- abi:: Instruction :: IterBasePointer => results. push ( "base " . to_string ( ) ) ,
2827+ abi:: Instruction :: IterElem { .. } => results. push ( "_iter_elem " . to_string ( ) ) ,
2828+ abi:: Instruction :: IterBasePointer => results. push ( "_base " . to_string ( ) ) ,
28252829 abi:: Instruction :: RecordLower { record, .. } => {
28262830 let op = & operands[ 0 ] ;
28272831 for f in record. fields . iter ( ) {
@@ -3478,19 +3482,19 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
34783482 let ( body, results) = self . blocks . pop ( ) . unwrap ( ) ;
34793483 assert ! ( results. is_empty( ) ) ;
34803484 let tmp = self . tmp ( ) ;
3481- let ptr = self . tempname ( "ptr " , tmp) ;
3482- let len = self . tempname ( "len " , tmp) ;
3485+ let ptr = self . tempname ( "_ptr " , tmp) ;
3486+ let len = self . tempname ( "_len " , tmp) ;
34833487 uwriteln ! ( self . src, "uint8_t* {ptr} = {};" , operands[ 0 ] ) ;
34843488 uwriteln ! ( self . src, "size_t {len} = {};" , operands[ 1 ] ) ;
34853489 let i = self . tempname ( "i" , tmp) ;
34863490 uwriteln ! ( self . src, "for (size_t {i} = 0; {i} < {len}; {i}++) {{" ) ;
34873491 let size = self . r#gen . sizes . size ( element) ;
34883492 uwriteln ! (
34893493 self . src,
3490- "uint8_t* base = {ptr} + {i} * {size};" ,
3494+ "uint8_t* _base = {ptr} + {i} * {size};" ,
34913495 size = size. format( POINTER_SIZE_EXPRESSION )
34923496 ) ;
3493- uwriteln ! ( self . src, "(void) base ;" ) ;
3497+ uwriteln ! ( self . src, "(void) _base ;" ) ;
34943498 uwrite ! ( self . src, "{body}" ) ;
34953499 uwriteln ! ( self . src, "}}" ) ;
34963500 uwriteln ! ( self . src, "if ({len} > 0) {{" ) ;
0 commit comments