Giter Club home page Giter Club logo

Comments (8)

lukaszsamson avatar lukaszsamson commented on June 15, 2024 1

Yep, I can confirm it also on 1.9.4. I'm going to create a separate isse.

from elixir-ls.

josevalim avatar josevalim commented on June 15, 2024

Things like Mix.State is also a private API, so please don't continue using private APIs. Open up an issue so we provide a public API for you to call.

About the dialyzer one, please provide a project that reproduces the error. I am assuming mix dialyze or similar reproduces it? It does look like an Elixir bug.

from elixir-ls.

axelson avatar axelson commented on June 15, 2024

@lukaszsamson thanks for putting this list together and tracking down these issues!

@josevalim Posted on elixir-lang-core https://groups.google.com/forum/#!topic/elixir-lang-core/_LrWhl-kUZY (although re-reading your comment, perhaps I should have just raised an issue directly). Although in either case, this is just one of the private api usages, I'll try and do a sweep to look for the others.

from elixir-ls.

lukaszsamson avatar lukaszsamson commented on June 15, 2024

@josevalim I looked deeper into dialyzer issue. It turns out that dialyzer is not required to trigger it at all and it might be a consequence of the fixtures used in this project.

I am able to reproduce from the root of this repo

$ iex -S mix
Interactive Elixir (1.10.0-rc.0) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> mixfile = "apps/language_server/test/fixtures/dialyzer/mix.exs"         
"apps/language_server/test/fixtures/dialyzer/mix.exs"
iex(2)> Kernel.ParallelCompiler.compile([mixfile])                              
{:ok, [ElixirLS.LanguageServer.Fixtures.Dialyzer.Mixfile], []}
iex(3)> Mix.Task.run("compile", ["--return-errors", "--ignore-module-conflict"])

19:44:23.319 [error] Task #PID<0.524.0> started from #PID<0.541.0> terminating
** (MatchError) no match of right hand side value: false
    (elixir 1.10.0-rc.0) src/elixir_erl_var.erl:14: :elixir_erl_var.translate/4
    (stdlib 3.11) lists.erl:1354: :lists.mapfoldl/3
    (elixir 1.10.0-rc.0) src/elixir_erl_clauses.erl:20: :elixir_erl_clauses.match/3
    (elixir 1.10.0-rc.0) src/elixir_erl_clauses.erl:28: :elixir_erl_clauses.clause/6
    (elixir 1.10.0-rc.0) src/elixir_erl.erl:230: :elixir_erl.translate_clause/3
    (elixir 1.10.0-rc.0) src/elixir_erl.erl:220: :elixir_erl."-translate_definition/4-lc$^0/1-0-"/2
    (elixir 1.10.0-rc.0) src/elixir_erl.erl:220: :elixir_erl.translate_definition/4
    (elixir 1.10.0-rc.0) src/elixir_erl.erl:183: :elixir_erl.split_definition/11
Function: #Function<9.64842280/0 in Mix.Tasks.Compile.Protocols.consolidate/6>
    Args: []

It seems that the protocol defined upper in directory hierarchy ends up in the fixture dir
Screenshot 2020-01-11 at 20 05 45

from elixir-ls.

josevalim avatar josevalim commented on June 15, 2024

I am looking into this now. Thank you so much for isolating those, it makes my life much easier!

from elixir-ls.

josevalim avatar josevalim commented on June 15, 2024

@lukaszsamson so the command above compiled just fine for me. I am thinking you have some stale files somewhere. Try running git clean -dfx and removing _build and deps. Or try a separate checkout and see if you can reproduce it there.

from elixir-ls.

lukaszsamson avatar lukaszsamson commented on June 15, 2024

@josevalim yes, it must have been some stale state. I remember doing mix clean && mix deps.clean --all && rm -r .elixir_ls though, it seems this was not enough. Anyway, thanks for your help.

from elixir-ls.

axelson avatar axelson commented on June 15, 2024

@lukaszsamson regarding "tests crash mix" I'm actually seeing that same error locally on 1.9.1, it's just not failing the CI builds.

from elixir-ls.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.