Commit Graph
12291 Commits
Author SHA1 Message Date
Panagiotis Nezis d61ba915b0 Raise ArgumentError on invalid binding in Code.eval_string/3 (#15146)
Previously, passing a non-list binding to `Code.eval_string/3` would crash
deep in Erlang code with a confusing `FunctionClauseError` in
`:elixir_erl_var.load_binding/6`.
2026-03-07 10:01:59 +01:00
Panagiotis Nezis 47d72d94d8 Fix Enum.slice/2 for ranges with step > 1 sliced by step > 1 (#15144)
When slicing a Range with step > 1 using a slice range that also has
step > 1, the formula for calculating the step in the slicer function
was incorrect.
2026-03-07 08:56:13 +01:00
José Valim 9a663cf3fa Convert map fields into an orddict and implement meet optimizations (#15142)
Related to #15129.
2026-03-06 21:57:55 +01:00
Raúl R Pearson 29f572643e Upcase "PID" in Task docs (#15141) 2026-03-06 17:36:07 +01:00
José Valim 6fd161d67d Optimize previous handling by using nested unions instead of nested differences
Partially addresses #15129.
2026-03-05 12:19:47 +01:00
José Valim 576f123b16 Intersection of maps with not set keys should not be empty, closes #15131 2026-03-05 10:34:03 +01:00
José Valim 77e6687eef Handle Kernel.in/2 in type system instead of using rewrite rules, closes #15130 2026-03-05 08:48:03 +01:00
José Valim de4b1610a9 Update comment on square brackets validity in WHATWG 2026-03-04 21:43:02 +01:00
José Valim 8e5e62653e More docs and warnings around URLs, closes #15125 2026-03-04 09:48:10 +01:00
José Valim f7c4047d30 Keep old functions around so old artifacts still work as expected 2026-03-03 13:37:27 +01:00
José Valim 6e6ed6a3b5 Only return purgeable modules back to pool 2026-03-03 13:35:09 +01:00
José Valim 0ea809e720 Check redundant clauses for definitions (#15124) 2026-03-02 17:19:51 +01:00
Jean Klingler cd38841a18 Raise clearer error when reserved word used at the top level of defmodule (#15123) 2026-03-02 18:18:35 +09:00
Jean Klingler 132197a254 Remove redundant clause triggering warning in tests (#15122) 2026-03-02 17:17:07 +09:00
José Valim b792fb41c5 Clarify error message for always failing private function, closes #14401 2026-02-27 15:16:02 +01:00
José Valim d7865ecfa7 Improve inference for anonymous functions 2026-02-27 15:02:09 +01:00
José Valim 1f211d121e Clean up diagnostic formatting on patterns 2026-02-27 12:20:08 +01:00
José Valim aed240bf40 Warns on redundant clauses from fn 2026-02-27 11:12:22 +01:00
José Valim bac6ef9d30 Implement redundant clauses for reduce and convert them to warnings 2026-02-27 10:42:13 +01:00
José Valim 7b0ae43231 Address ambiguity on type violation in nested || 2026-02-27 08:56:22 +01:00
José Valim a2a669eb7b Improve error messages in many Kernel operations 2026-02-26 17:58:18 +01:00
José Valim b85d1c84d3 Print negations whenever most of the descr types are either top or negated 2026-02-26 17:58:18 +01:00
Jonatan Männchen 4602240192 Add Software Bill of Materials guide to the Documentation (#15067)
Introduces a new guide explaining SBoMs: what they are, why they matter
(vulnerability analysis, regulatory requirements, license compliance),
and how to generate them for Elixir projects using mix_sbom. Also covers
CI integration via GitHub Action and mentions ORT for deeper file-level
license scanning.
2026-02-26 10:07:12 +01:00
Michał Łępicki 6d5f43318c Allow specifying SEED when running tests (#15111)
this is helpful when reproducing flaky test failures
2026-02-25 09:12:15 +01:00
Michał Łępicki 43dde95ed2 Update ParallelCheker.verify/2 spec (#15113)
The return type changed in https://github.com/elixir-lang/elixir/commit/a0ef7f0c3e0049468799ffcea5dddb6542a01568
2026-02-24 23:07:24 +01:00
Michał Łępicki 565f468d68 Clean up unused in_body? code branch in in macro impl (#15112)
The dialyzer warning was:

lib/kernel.ex:4836:7: Guard test _in_body?@1::'false' =:=
          'true' can never succeed
2026-02-24 21:19:59 +01:00
José Valim c903033097 Compute redundant clauses for try-catch and try-else 2026-02-24 13:11:05 +01:00
José Valim 7caa954690 Compute redundant clauses for receive 2026-02-24 11:19:06 +01:00
José Valim 4c203429d6 Include maybe feature 2026-02-23 14:27:56 +01:00
José Valim a0ef7f0c3e Move struct validation in patterns and updates to type checker
This means changing a struct definition only cases
recompilation when structs are created, no longer on
matches and updates.

Closes #15098.
2026-02-23 14:24:29 +01:00
José Valim 34a50002f9 Keep Kernel.in/2 as :lists.member/2 and optimize in type checker and Erlang pass 2026-02-23 14:24:29 +01:00
Łukasz Jan Niemier 38dcc453b8 Optimise Map.take/2 for empty list of keys (#15110) 2026-02-23 09:10:09 +01:00
José Valim 34fda89acb Recompose multiple orelse as Kernel.in for performance, closes #15108 2026-02-20 18:54:45 +01:00
José Valim b05fec0c87 Use evaluation when compiling modules (#15087) 2026-02-19 18:11:28 +01:00
José Valim 85b1ad0764 Do not emit warnings during IEx parsing
Closes #15090.

Unfortunately, I could not write a test for this as the error
only happens when using actual I/O devices. When using the mock
device we use in tests, the warning appears as expected.
2026-02-18 13:45:56 +01:00
José Valim f2e61f6a04 Use system tmp dir for socket copy test, closes #15093 2026-02-18 09:59:23 +01:00
José Valim 5abcc33267 Improve error message and docs for headless clauses, closes #15104 2026-02-18 09:54:04 +01:00
José Valim 52296e00c6 Improve case error message and improve performance 2026-02-18 09:36:52 +01:00
Simon Hohl 2ab126e223 Add another example to Integer.parse/1 (#15101) 2026-02-12 15:18:54 +01:00
наб 0b1d3fcaf9 Improve Application.get_env/2 docs for dependencies
Followup-for: #15095
Signed-off-by: José Valim <jose.valim@gmail.com>
2026-02-06 20:42:12 +01:00
José Valim 426a4297c9 Fix wrong bdd leaf intersection optimization on equal literals, closes #15091 2026-02-03 14:30:29 +01:00
José Valim be34850da4 Remove incorrect differences in BDD 2026-02-02 23:02:47 +01:00
José Valim 3fbe977035 Validate Macro.Env struct upfront to avoid failures deep within the compiler, closes #15088 2026-02-01 20:49:59 +01:00
José Valim cebc5a76fb Better error message for when all patterns are exhausted 2026-02-01 08:45:06 +01:00
José Valim c40c140e3f Postpone deletion of modules to avoid code server bottleneck 2026-01-31 13:56:15 +01:00
José Valim 7fef1c58e4 Make compiler module purging opt-in
We run it before module verification but,
as module verification now loads many modules,
that was negatively impacting compilation times.
2026-01-31 13:56:15 +01:00
Mudassar 7048f60539 Fix spelling typos in docs and comments (#15083) 2026-01-30 08:22:19 +09:00
José Valim 4940d0f99e Reduce state tracked in guard info 2026-01-29 18:23:52 +01:00
Pierre Le Gall 7b22b8e7eb Add List.first!/1 and List.last!/1 (#15082) 2026-01-29 17:23:40 +01:00
José Valim 5093bab3ab Document GenServer shutdown default 2026-01-28 08:54:07 +01:00