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

Update to Elixir 1.17 #1495

Merged
merged 2 commits into from
Jun 30, 2024
Merged

Update to Elixir 1.17 #1495

merged 2 commits into from
Jun 30, 2024

Conversation

jiegillet
Copy link
Contributor

@jiegillet jiegillet commented Jun 14, 2024

This time I beat you to it @angelikatyborska :)

Quite a few code changes, a bunch of warnings for descending ranges (10..1 should now be 10..1//-1) and a few more specific ones that I will comment on.

What do you think about the mix files

  def project do
    [
      app: :ledger,
      version: "0.1.0",
      # elixir: "~> 1.10",
      start_permanent: Mix.env() == :prod,
      deps: deps()
    ]
  end

should we bother updating the comment to 1.12?

Copy link
Contributor

Thank you for contributing to exercism/elixir 💜 🎉. This is an automated PR comment 🤖 for the maintainers of this repository that helps with the PR review process. You can safely ignore it and wait for a maintainer to review your changes.

Based on the files changed in this PR, it would be good to pay attention to the following details when reviewing the PR:

  • General steps

    • 🏆 Does this PR need to receive a label with a reputation modifier (x:size/{tiny,small,medium,large,massive})? (A medium reputation amount is awarded by default, see docs)
  • Any exercise changed

    • 👤 Does the author of the PR need to be added as an author or contributor in <exercise>/.meta/config.json (see docs)?
    • 🔬 Do the analyzer and the analyzer comments exist for this exercise? Do they need to be changed?
    • 📜 Does the design file (<exercise>/.meta/design.md) need to be updated to document new implementation decisions?
  • Practice exercise changed

    • 🌲 Do prerequisites, practices, and difficulty in config.json need to be updated?
    • 🧑‍🏫 Are the changes in accordance with the community-wide problem specifiations?
  • Concept exercise changed

    • 🌲 Do prerequisites and practices in config.json need to be updated?
    • 📖 Does the concept introduction provide all necessary information to solve this exercise?
  • Concept exercise tests changed

    • ⚪️ Are all tests un-skipped?
    • 🔢 Are all tests annotated with @tag task_id?
    • 🐈 Can all tests be understood by reading the test's block only (e.g. no module attributes, no setup functions)?

Automated comment created by PR Commenter 🤖.

exercises/concept/rpn-calculator/.meta/exemplar.ex Outdated Show resolved Hide resolved
{:"::", [line: 3],
[
{:delete, [line: 3],
[[{:..., [line: 3], _nil_or_empty_list}], {:any, [line: 3], nil}]},
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1.16 gives [{:..., [line: 3], nil}] but 1.17 gives [{:..., [line: 3], []}] so I needed to change the test to accept both versions.

The 1.17 changelog mentions in the debug section

[Kernel] Resolve inconsistencies of how .. and ... are handled at the AST level

So that must be part of it.

Does that need a comment?
There could also be other ways of fixing it, for example quoting ... and shoving it in the expected value.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the current way is the simplest way of resolving the problem

@@ -134,7 +134,7 @@ defmodule SgfParsing do
with {:ok, result, rest} <- some(parser).(input) do
{:ok, result, rest}
else
{:error, _err, ^input} -> {:ok, [], input}
{:error, _err, rest} when rest == input -> {:ok, [], input}
Copy link
Contributor Author

@jiegillet jiegillet Jun 14, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one seems like a bug (in Elixir or OTP) to be honest, I'll try to reproduce on something simpler and check.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was fixed in 1.17.1: https://github.com/elixir-lang/elixir/releases/tag/v1.17.1

[Kernel] Fix bug when using pinned variables inside with's else patterns

Since this is just in an example file, I'm fine completely ignoring this issue (meaning: doing the change you're suggesting to the example file and that's it)

@jiegillet jiegillet marked this pull request as ready for review June 14, 2024 04:09
Copy link
Contributor

@angelikatyborska angelikatyborska left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One change request and then it's ready to go 🙂

Co-authored-by: Angelika Tyborska <angelikatyborska@fastmail.com>
@jiegillet
Copy link
Contributor Author

Yay! Thanks for the review :)
One link is dead but we can fix that some other time

@jiegillet jiegillet merged commit 1b25f0f into main Jun 30, 2024
9 of 10 checks passed
@jiegillet jiegillet deleted the jie-elixir-1.17 branch June 30, 2024 23:55
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 this pull request may close these issues.

2 participants