@@ -40,7 +40,10 @@ defmodule ElixirSense.Core.Compiler.Bitstring do
4040 alignment ,
4141 require_size
4242 ) do
43- { e_left , { sl , original_s } , el } = expand_expr ( left , fun , s , e )
43+ # We don't want to consider variables added in the Left pattern inside the Right specs
44+ { % { vars: before_vars } , _ } = s
45+
46+ { e_left , { % { vars: after_vars } = sl , original_s } , el } = expand_expr ( left , fun , s , e )
4447
4548 # elixir validates expression here
4649
@@ -55,7 +58,7 @@ defmodule ElixirSense.Core.Compiler.Bitstring do
5558 end
5659
5760 { e_right , e_alignment , ss , es } =
58- expand_specs ( e_type , meta , right , sl , original_s , el , expect_size )
61+ expand_specs ( e_type , meta , right , % { sl | vars: before_vars } , original_s , el , expect_size )
5962
6063 e_acc = concat_or_prepend_bitstring ( meta , e_left , e_right , acc )
6164
@@ -64,7 +67,7 @@ defmodule ElixirSense.Core.Compiler.Bitstring do
6467 fun ,
6568 t ,
6669 e_acc ,
67- { ss , original_s } ,
70+ { % { ss | vars: after_vars } , original_s } ,
6871 es ,
6972 alignment ( alignment , e_alignment ) ,
7073 require_size
0 commit comments