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