diff --git a/lib/ruby_lsp/requests/completion.rb b/lib/ruby_lsp/requests/completion.rb index 46813d8dc..1785305b3 100644 --- a/lib/ruby_lsp/requests/completion.rb +++ b/lib/ruby_lsp/requests/completion.rb @@ -137,15 +137,11 @@ def on_call_node_enter(node) receiver = T.must(receiver_entries.first) - candidates = T.cast( - @index.prefix_search(name), - T::Array[T::Array[RubyIndexer::Entry::Member]], - ) - candidates.each do |entries| - entry = entries.find { |e| e.owner&.name == receiver.name } + @index.prefix_search(name).each do |entries| + entry = entries.find { |e| e.is_a?(RubyIndexer::Entry::Member) && e.owner&.name == receiver.name } next unless entry - @_response << build_method_completion(entry, node) + @_response << build_method_completion(T.cast(entry, RubyIndexer::Entry::Member), node) end end