From 56a5cdbea14e24c43e1332d148bae62c0ca07f4b Mon Sep 17 00:00:00 2001 From: Lukasz Samson Date: Mon, 27 Nov 2023 20:51:16 +0100 Subject: [PATCH] fill tuple fields --- lib/elixir_sense/core/guard.ex | 2 +- test/elixir_sense/core/metadata_builder_test.exs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/elixir_sense/core/guard.ex b/lib/elixir_sense/core/guard.ex index aa7a93ac..5ad60b21 100644 --- a/lib/elixir_sense/core/guard.ex +++ b/lib/elixir_sense/core/guard.ex @@ -103,7 +103,7 @@ defmodule ElixirSense.Core.Guard do when p in [:==, :===] do type = if is_integer(size) do - {:tuple, size, []} + {:tuple, size, if(size > 0, do: Enum.map(1..size, fn _ -> nil end), else: [])} else :tuple end diff --git a/test/elixir_sense/core/metadata_builder_test.exs b/test/elixir_sense/core/metadata_builder_test.exs index 32efe37f..e8823842 100644 --- a/test/elixir_sense/core/metadata_builder_test.exs +++ b/test/elixir_sense/core/metadata_builder_test.exs @@ -1584,7 +1584,7 @@ defmodule ElixirSense.Core.MetadataBuilderTest do test "tuple guards" do assert %VarInfo{name: :x, type: :tuple} = var_with_guards("is_tuple(x)") - assert %VarInfo{name: :x, type: {:tuple, 1, []}} = var_with_guards("tuple_size(x) == 1") + assert %VarInfo{name: :x, type: {:tuple, 1, [nil]}} = var_with_guards("tuple_size(x) == 1") assert %VarInfo{name: :x, type: :tuple} = var_with_guards("elem(x, 0) == 1") end