Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protocol has already been consolidated warnings #395

Closed
lukaszsamson opened this issue Nov 1, 2020 · 2 comments · Fixed by #406
Closed

Protocol has already been consolidated warnings #395

lukaszsamson opened this issue Nov 1, 2020 · 2 comments · Fixed by #406

Comments

@lukaszsamson
Copy link
Collaborator

Environment

  • Elixir & Erlang versions (elixir --version): 1.11

Originally reported in elixir-ecto/ecto#3464 but not related to ecto (elixir-ecto/ecto#3464 (comment))

@23Skidoo
Copy link

23Skidoo commented Nov 4, 2020

Adding consolidate_protocols: Mix.env() != :test to mix.exs appears to be the workaround.

@crbelaus
Copy link

crbelaus commented Nov 5, 2020

The Phoenix part of this bug has been fixed in v1.5 and master (check this comment). This is fixed in phoenixframework/phoenix@b5580e9.

Maybe this can be useful for applying the same fix into ElixirLS.

lukaszsamson added a commit to lukaszsamson/elixir-ls-1 that referenced this issue Nov 18, 2020
axelson pushed a commit that referenced this issue Nov 21, 2020
* Purge consolidated protocols before compilation

Fixes #395

* move to dialyzer_test.exs

* add comments

* warn if ls fails
lukaszsamson added a commit to lukaszsamson/elixir-ls-1 that referenced this issue Nov 22, 2020
axelson added a commit that referenced this issue Nov 24, 2020
* Purge consolidated protocols before compilation

Fixes #395

* move to dialyzer_test.exs

* dialyzer_enabled? is already asserted at call site

* add argument type assertions

* return invalid_param when handling a request involving not open uri

* add tests for text synchronization

fixes some issues when certain sequence of notifications would create nil entries in source_files map

* warn when cancelling unknown request

* fix difference in watched extensions

* add tests to workspace/didChangeWatchedFiles

fix some consistency issues:
dirty? flag not updated when file modified outside (no didSave)
rebuild not triggered when opened dirty file modified outside

* add tests for SourceFile.apply_content_changes

based on https://github.com/microsoft/vscode-languageserver-node
fixes a few edge cases when dealing with invalid ranges

* add test

* add utf test

* add test

fix full_range invalid when last line with unicode

* fix apply_content_changes not preserving windows line endings

* wip

* do not warn if consolidation path does not exist

* fix tests

* return invalid_request

* handle invalid uri in async requests

* return invalid_request for not matched commands

* handle client request errors

* run formatter

* rename

* Refactor implementation of SourceFile.lines_with_endings

The previous implementation did not have any bugs (that I saw), but I
did find it more difficult to read and understand. I expect performance
to be comparable.

For more comprehensive testing I have added StreamData which adds
property-based testing. We can probably use that in other portions of
the code base as well.

* Update apps/language_server/test/source_file_test.exs

Co-authored-by: Jason Axelson <axelson@users.noreply.github.com>

* run formatter

* add disclaimer

* combine lines_with_endings test cases

Co-authored-by: Jason Axelson <jason.axelson@gmail.com>
Co-authored-by: Jason Axelson <axelson@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants