-
-
Notifications
You must be signed in to change notification settings - Fork 30
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
Elixir 1.16 #415
Elixir 1.16 #415
Conversation
Oh boy. Wrapping everything in |
Hmm, ok, maybe it's not that bad... I identified a few files that prevent compilation, commented them out. Then I found that most of the remaining test failures can be fixed with a small tweak to I pushed my partially finished work in case you want to take a look. |
One more problem - smoke tests fail because not all warnings from a single module are reported. |
Weirdly enough, this problem doesn't appear when invoking
And in iex:
|
Another hint: when I use Kernel.ParallelCompiler.compile(code_path, return_diagnostics: true) #=> {:ok, [Lasagna],
%{
runtime_warnings: [
%{
message: "HashDict.new/0 is deprecated. Use maps and the Map module instead",
position: {7, 14},
file: "/Users/angelika/Documents/code/exercism/elixir-analyzer/test_data/lasagna/deprecated_modules/lib/lasagna.ex",
stacktrace: [
{Lasagna, :expected_minutes_in_oven, 0,
[
file: ~c"test_data/lasagna/deprecated_modules/lib/lasagna.ex",
line: 7,
column: 14
]}
],
source: "/Users/angelika/Documents/code/exercism/elixir-analyzer/test_data/lasagna/deprecated_modules/lib/lasagna.ex",
span: nil,
severity: :warning
},
%{
message: "HashSet.member?/2 is deprecated. Use the MapSet module instead",
position: {12, 13},
file: "/Users/angelika/Documents/code/exercism/elixir-analyzer/test_data/lasagna/deprecated_modules/lib/lasagna.ex",
stacktrace: [
{Lasagna, :remaining_minutes_in_oven, 1,
[
file: ~c"test_data/lasagna/deprecated_modules/lib/lasagna.ex",
line: 12,
column: 13
]}
],
source: "/Users/angelika/Documents/code/exercism/elixir-analyzer/test_data/lasagna/deprecated_modules/lib/lasagna.ex",
span: nil,
severity: :warning
},
%{
message: "HashSet.new/0 is deprecated. Use the MapSet module instead",
position: {12, 29},
file: "/Users/angelika/Documents/code/exercism/elixir-analyzer/test_data/lasagna/deprecated_modules/lib/lasagna.ex",
stacktrace: [
{Lasagna, :remaining_minutes_in_oven, 1,
[
file: ~c"test_data/lasagna/deprecated_modules/lib/lasagna.ex",
line: 12,
column: 29
]}
],
source: "/Users/angelika/Documents/code/exercism/elixir-analyzer/test_data/lasagna/deprecated_modules/lib/lasagna.ex",
span: nil,
severity: :warning
}
],
compile_warnings: [
%{
message: "Behaviour.defcallback/1 is deprecated. Use the @callback module attribute instead",
position: {4, 13},
file: "/Users/angelika/Documents/code/exercism/elixir-analyzer/test_data/lasagna/deprecated_modules/lib/lasagna.ex",
stacktrace: [
{Lasagna, :__MODULE__, 0,
[
file: "test_data/lasagna/deprecated_modules/lib/lasagna.ex",
column: 13,
line: 4
]}
],
source: "/Users/angelika/Documents/code/exercism/elixir-analyzer/test_data/lasagna/deprecated_modules/lib/lasagna.ex",
span: nil,
severity: :warning
}
]
}} |
I ran out of ideas for debugging and created an issue in elixir-lang: elixir-lang/elixir#13217 |
All green thanks to Jose's help in the issue 🚀 |
@jiegillet Can you take another look at this PR? If it gets approved, I can merge all the other 1.16 tooling PRs too |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I... am simply amazed.
I bow to your incredible Elixir ability 🙇
Everything was broken, how did you get it all to work without so little change and barely even touch the tests?
Just wow, here is your medal: 🥇
Part of exercism/elixir#1396
Elixir 1.16 is very unhappy about the wild wild west of we have in
test_exercise_analysis "..." do
where we put solution under test code. That will not compile anymore 🙈. I think we need to wrap every single case in~S"""
.