Skip to content

Commit ab715db

Browse files
lukaszsamsonclaude
andcommitted
inlay hints: pass plain map to ModuleResolver.resolve (dialyzer); bump elixir_sense pin
- module_of/2 passed the %State.Env{} struct to ModuleResolver.resolve/2, whose env type is an anonymous %{optional(:module), optional(:aliases)} map; a struct is not a subtype, so dialyzer flagged the call as never-succeeding (no_return). Pass %{module: env.module, aliases: env.aliases} — same fix as the elixir_sense-side ModuleResolver callers. - Bump elixir_sense pin b3ad3c30 -> 53f8879d (review fixes incl. domain-key field_get crash fix, combinator/cache cleanups, test consolidation/trim). Inlay suites 103 passed; format clean; dialyzer clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 10d3e5d commit ab715db

3 files changed

Lines changed: 5 additions & 3 deletions

File tree

apps/language_server/lib/language_server/providers/inlay_hints.ex

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -649,7 +649,9 @@ defmodule ElixirLS.LanguageServer.Providers.InlayHints do
649649
# Dynamic / attribute / variable receivers are not handled by ModuleResolver
650650
# and it returns `:error`, which propagates to skip the call gracefully.
651651
defp module_of(ast, env) do
652-
case ModuleResolver.resolve(ast, env) do
652+
# Pass a plain map (not the %State.Env{} struct) — ModuleResolver.resolve/2's
653+
# env type is an anonymous map, and a struct is not a subtype of it (dialyzer).
654+
case ModuleResolver.resolve(ast, %{module: env.module, aliases: env.aliases}) do
653655
{:ok, mod} -> mod
654656
:error -> :error
655657
end

dep_versions.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[
2-
elixir_sense: "b3ad3c3049abd8047a7e0b0868ca9c4ba489a7f9",
2+
elixir_sense: "53f8879dcc496f1d19f5d3a5de721ca10b40824f",
33
dialyxir_vendored: "accfec9393079abc4a82b7e79a4997f59f085b67",
44
jason_v: "f1c10fa9c445cb9f300266122ef18671054b2330",
55
erl2ex_vendored: "04f93e55f46d35d0aa3c149616f2c7a6a1ad9311",

mix.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"benchee": {:hex, :benchee, "1.1.0", "f3a43817209a92a1fade36ef36b86e1052627fd8934a8b937ac9ab3a76c43062", [:mix], [{:deep_merge, "~> 1.0", [hex: :deep_merge, repo: "hexpm", optional: false]}, {:statistex, "~> 1.0", [hex: :statistex, repo: "hexpm", optional: false]}], "hexpm", "7da57d545003165a012b587077f6ba90b89210fd88074ce3c60ce239eb5e6d93"},
33
"deep_merge": {:hex, :deep_merge, "1.0.0", "b4aa1a0d1acac393bdf38b2291af38cb1d4a52806cf7a4906f718e1feb5ee961", [:mix], [], "hexpm", "ce708e5f094b9cd4e8f2be4f00d2f4250c4095be93f8cd6d018c753894885430"},
44
"dialyxir_vendored": {:git, "https://github.com/elixir-lsp/dialyxir.git", "accfec9393079abc4a82b7e79a4997f59f085b67", [ref: "accfec9393079abc4a82b7e79a4997f59f085b67"]},
5-
"elixir_sense": {:git, "https://github.com/elixir-lsp/elixir_sense.git", "b3ad3c3049abd8047a7e0b0868ca9c4ba489a7f9", [ref: "b3ad3c3049abd8047a7e0b0868ca9c4ba489a7f9"]},
5+
"elixir_sense": {:git, "https://github.com/elixir-lsp/elixir_sense.git", "53f8879dcc496f1d19f5d3a5de721ca10b40824f", [ref: "53f8879dcc496f1d19f5d3a5de721ca10b40824f"]},
66
"erl2ex_vendored": {:git, "https://github.com/elixir-lsp/erl2ex.git", "04f93e55f46d35d0aa3c149616f2c7a6a1ad9311", [ref: "04f93e55f46d35d0aa3c149616f2c7a6a1ad9311"]},
77
"erlex_vendored": {:git, "https://github.com/elixir-lsp/erlex.git", "50b8307f90451a5d0288fb239fb6405b5ca1f1a4", [ref: "50b8307f90451a5d0288fb239fb6405b5ca1f1a4"]},
88
"jason_v": {:git, "https://github.com/elixir-lsp/jason.git", "f1c10fa9c445cb9f300266122ef18671054b2330", [ref: "f1c10fa9c445cb9f300266122ef18671054b2330"]},

0 commit comments

Comments
 (0)