Skip to content

Commit 5561dbd

Browse files
committed
apply upstream fix
1 parent 44566c3 commit 5561dbd

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

lib/elixir_sense/core/compiler/bitstring.ex

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)