Fork of daniellemaywood.uk/gleam — Wasm codegen work
2

Configure Feed

Select the types of activity you want to include in your feed.

Use _inline prefix

author
Gears
committer
Louis Pilfold
date (Sep 18, 2025, 3:32 PM +0100) commit 61cd8e4e parent f8d817ea change-id mnrsoyrv
+39 -39
+2 -2
compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__inlining__inline_shadowed_variable.snap
··· 29 29 A = 10, 30 30 B = 20, 31 31 begin 32 - _a_0 = 7, 33 - (A + B) + _a_0 32 + _inline_a_0 = 7, 33 + (A + B) + _inline_a_0 34 34 end, 35 35 A.
+4 -4
compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__inlining__inline_shadowed_variable_nested.snap
··· 29 29 -spec sum(integer(), integer()) -> integer(). 30 30 sum(A, B) -> 31 31 begin 32 - _a_0 = 7, 32 + _inline_a_0 = 7, 33 33 begin 34 - _a_1 = 10, 35 - ((A + B) + _a_0) - _a_1 34 + _inline_a_1 = 10, 35 + ((A + B) + _inline_a_0) - _inline_a_1 36 36 end, 37 - _a_0 37 + _inline_a_0 38 38 end, 39 39 A.
+2 -2
compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__inlining__inline_variable_shadowed_in_case_pattern.snap
··· 30 30 A = 10, 31 31 B = 20, 32 32 case {7, 8} of 33 - {_a_0, _b_1} -> 34 - (_a_0 + _b_1) + (A + B) 33 + {_inline_a_0, _inline_b_1} -> 34 + (_inline_a_0 + _inline_b_1) + (A + B) 35 35 end, 36 36 A + B.
+2 -2
compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__inlining__inline_variable_shadowing_case_pattern.snap
··· 25 25 sum() -> 26 26 case {1, 2} of 27 27 {A, B} -> 28 - _a_0 = 7, 29 - (A + B) + _a_0 28 + _inline_a_0 = 7, 29 + (A + B) + _inline_a_0 30 30 end.
+2 -2
compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__inlining__inline_variable_shadowing_parameter.snap
··· 24 24 -spec sum(integer(), integer()) -> integer(). 25 25 sum(A, B) -> 26 26 begin 27 - _a_0 = 7, 28 - (A + B) + _a_0 27 + _inline_a_0 = 7, 28 + (A + B) + _inline_a_0 29 29 end, 30 30 A.
+8 -8
compiler-core/src/erlang/tests/snapshots/gleam_core__erlang__tests__inlining__parameters_from_nested_functions_are_correctly_inlined.snap
··· 54 54 {ok, Value} -> 55 55 X = Value, 56 56 case divide(B, 2) of 57 - {ok, _value_0} -> 58 - Y = _value_0, 57 + {ok, _inline_value_0} -> 58 + Y = _inline_value_0, 59 59 case divide(C, 2) of 60 - {ok, _value_1} -> 61 - {ok, {X, Y, _value_1}}; 60 + {ok, _inline_value_1} -> 61 + {ok, {X, Y, _inline_value_1}}; 62 62 63 63 {error, Error} -> 64 64 {error, Error} 65 65 end; 66 66 67 - {error, _error_2} -> 68 - {error, _error_2} 67 + {error, _inline_error_2} -> 68 + {error, _inline_error_2} 69 69 end; 70 70 71 - {error, _error_3} -> 72 - {error, _error_3} 71 + {error, _inline_error_3} -> 72 + {error, _inline_error_3} 73 73 end.
+2 -2
compiler-core/src/inline.rs
··· 226 226 // that means there is a potential conflict in names and we need to rename 227 227 // the variable. 228 228 if !unique_in_scope && self.position == Position::InlinedFunction { 229 - // Prefixing the variable name with an underscore ensures it does 229 + // Prefixing the variable name with `_inline_` ensures it does 230 230 // not conflict with other defined variables. 231 - let new_name = eco_format!("_{name}_{}", self.variable_number); 231 + let new_name = eco_format!("_inline_{name}_{}", self.variable_number); 232 232 self.variable_number += 1; 233 233 _ = self.renamed_variables.insert(name, new_name.clone()); 234 234 new_name
+2 -2
compiler-core/src/javascript/tests/snapshots/gleam_core__javascript__tests__inlining__inline_shadowed_variable.snap
··· 22 22 let a = 10; 23 23 let b = 20; 24 24 { 25 - let _a_0 = 7; 26 - (a + b) + _a_0 25 + let _inline_a_0 = 7; 26 + (a + b) + _inline_a_0 27 27 }; 28 28 return a; 29 29 }
+4 -4
compiler-core/src/javascript/tests/snapshots/gleam_core__javascript__tests__inlining__inline_shadowed_variable_nested.snap
··· 22 22 ----- COMPILED JAVASCRIPT 23 23 export function sum(a, b) { 24 24 { 25 - let _a_0 = 7; 25 + let _inline_a_0 = 7; 26 26 { 27 - let _a_1 = 10; 28 - ((a + b) + _a_0) - _a_1 27 + let _inline_a_1 = 10; 28 + ((a + b) + _inline_a_0) - _inline_a_1 29 29 }; 30 - _a_0 30 + _inline_a_0 31 31 }; 32 32 return a; 33 33 }
+3 -3
compiler-core/src/javascript/tests/snapshots/gleam_core__javascript__tests__inlining__inline_variable_shadowed_in_case_pattern.snap
··· 24 24 let b = 20; 25 25 let $ = 7; 26 26 let $1 = 8; 27 - let _a_0 = $; 28 - let _b_1 = $1; 29 - (_a_0 + _b_1) + (a + b) 27 + let _inline_a_0 = $; 28 + let _inline_b_1 = $1; 29 + (_inline_a_0 + _inline_b_1) + (a + b) 30 30 return a + b; 31 31 }
+2 -2
compiler-core/src/javascript/tests/snapshots/gleam_core__javascript__tests__inlining__inline_variable_shadowing_case_pattern.snap
··· 20 20 let $1 = 2; 21 21 let a = $; 22 22 let b = $1; 23 - let _a_0 = 7; 24 - return (a + b) + _a_0; 23 + let _inline_a_0 = 7; 24 + return (a + b) + _inline_a_0; 25 25 }
+2 -2
compiler-core/src/javascript/tests/snapshots/gleam_core__javascript__tests__inlining__inline_variable_shadowing_parameter.snap
··· 17 17 ----- COMPILED JAVASCRIPT 18 18 export function sum(a, b) { 19 19 { 20 - let _a_0 = 7; 21 - (a + b) + _a_0 20 + let _inline_a_0 = 7; 21 + (a + b) + _inline_a_0 22 22 }; 23 23 return a; 24 24 }
+4 -4
compiler-core/src/javascript/tests/snapshots/gleam_core__javascript__tests__inlining__parameters_from_nested_functions_are_correctly_inlined.snap
··· 42 42 let x = value; 43 43 let $1 = divide(b, 2); 44 44 if ($1 instanceof Ok) { 45 - let _value_0 = $1[0]; 46 - let y = _value_0; 45 + let _inline_value_0 = $1[0]; 46 + let y = _inline_value_0; 47 47 let $2 = divide(c, 2); 48 48 if ($2 instanceof Ok) { 49 - let _value_1 = $2[0]; 50 - return new Ok([x, y, _value_1]); 49 + let _inline_value_1 = $2[0]; 50 + return new Ok([x, y, _inline_value_1]); 51 51 } else { 52 52 return $2; 53 53 }