Skip to content

Commit b371dca

Browse files
committed
Make sure the ~PY sigil does not trigger an unused variable warning
1 parent 3ed9209 commit b371dca

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

lib/pythonx.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,9 @@ defmodule Pythonx do
290290
for name <- defined do
291291
quote do
292292
unquote({String.to_atom(name), [], nil}) = Map.get(globals, unquote(name), nil)
293+
# We do an extra underscore assignment to make sure the
294+
# generated code does not trigger an unused variable warning.
295+
_ = unquote({String.to_atom(name), [], nil})
293296
end
294297
end
295298

test/pythonx_test.exs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,25 @@ defmodule PythonxTest do
413413

414414
assert repr(result) == "43"
415415
end
416+
417+
test "does not result in unused variables" do
418+
{_result, diagnostics} =
419+
Code.with_diagnostics(fn ->
420+
Code.eval_string(~s'''
421+
defmodule TestModule#{System.unique_integer([:positive])} do
422+
import Pythonx
423+
424+
def run() do
425+
~PY"""
426+
x = 1
427+
"""
428+
end
429+
end
430+
''')
431+
end)
432+
433+
assert diagnostics == []
434+
end
416435
end
417436

418437
defp repr(object) do

0 commit comments

Comments
 (0)