Evadne Wu
ca13b750ce
Fix parse_error input spec ( #15393 )
2026-05-16 13:20:23 +02:00
José Valim
87582af546
Preserve evaluation order when rewriting ( #15389 )
...
This was done by moving the rewriting which change evaluation order to the Erlang pass,
otherwise would be hard to rewrite back in the type checker reports.
Closes #15310 .
2026-05-14 21:16:55 +02:00
José Valim
46f7b37916
Ignore eval failure warnings from Erlang
...
Closes #15372 .
2026-05-14 13:59:28 +02:00
José Valim
aae39c87dc
Fix warnings
2026-05-12 14:49:36 +02:00
Łukasz Samson
68c413f76c
Improve ambiguous import error message ( #15335 )
2026-05-06 12:22:34 +02:00
Guillaume Duboc
c376c0feb6
Hash-cons BDD descriptors ( #15332 )
2026-05-04 11:55:53 +02:00
José Valim
002e382794
Raise when loading struct info
2026-05-04 10:09:24 +02:00
José Valim
3120d4539b
Type checked struct operations must not deadlock the compiler
2026-05-04 01:24:42 +02:00
José Valim
facde14525
Inline struct loading
2026-05-04 01:24:42 +02:00
José Valim
40e930607a
Use definition instead of origin in meta
2026-05-04 01:24:42 +02:00
Łukasz Samson
39d646f459
Include sigils option in invalid import error message ( #15334 )
2026-05-01 23:04:20 +02:00
Łukasz Samson
007efde2d5
Fix reentrancy of Code.eval_* ( #15306 )
...
Keep env and dbg callbacks on stacks in process dict
Closes #15303
2026-04-28 19:38:28 +02:00
José Valim
e5d8b00e5b
Remove maps:put/3 inlining, as it is done by the Erlang compiler, closes #15313
2026-04-27 12:03:24 +02:00
Łukasz Samson
76d3fbad88
Disallow raw CR line ending in strings, comments and after ? ( #15307 )
2026-04-26 09:32:12 +02:00
Łukasz Samson
4ad7497d0e
Consistently validate column option passed to parser ( #15295 )
...
Apply the same guard `line` option uses
2026-04-21 13:41:04 +02:00
Łukasz Samson
5e44c78fff
Fix compiler crash on invalid nested bitstring ( #15280 )
2026-04-16 15:32:48 +02:00
Lukasz Samson
4d56bdd898
Do not reset quote level on calls in has_unquotes/2
...
The bug was introduced in 146fb4e3ff
Signed-off-by: José Valim <jose.valim@gmail.com >
2026-04-16 13:49:37 +02:00
José Valim
2e9981d98c
Raise when splicing cons without head, closes #15282
2026-04-16 13:48:08 +02:00
José Valim
370e7db14a
Ensure compiler modules are returned on failures, closes #15279
2026-04-16 08:26:16 +02:00
Łukasz Samson
5a1fa351dc
Fix invalid module reference in prune_stacktrace ( #15272 )
...
Closes #15271
2026-04-15 08:59:08 +02:00
Łukasz Samson
b7a832ea32
Add missing catch-all in :elixir_import.is_sigil/1 ( #15264 )
...
Fixes a compiler crash when importing a module with
only: :sigils option when the imported module exports
non sigil symbols with `sigil_` prefix.
Closes #15263 .
2026-04-13 20:25:33 +02:00
José Valim
8011552eac
Remove ?break handling duplication
2026-04-13 19:42:28 +02:00
Łukasz Samson
898f1a2f69
Reject unsupported newlines in tokenizer ASCII fast path ( #15262 )
2026-04-13 19:30:31 +02:00
José Valim
603602e67b
Implement reverse arrows for case ( #15260 )
2026-04-13 15:21:08 +02:00
José Valim
245066b405
Relax handling of __exception__
...
We were used to assert it to be true but,
given the value is not used in any shape,
we can relax the definition and simply assert
on the presence of the key.
Closes #15251 .
2026-04-11 17:42:01 +02:00
José Valim
4d30464ec4
Avoid conflicts between internal vars and empty vars, closes #15246
2026-04-11 17:25:12 +02:00
José Valim
8fdef5c48f
Properly track variables inside comprehensions size, closes #15247
2026-04-11 12:24:44 +02:00
Lukasz Samson
5d794ab17c
Pass correct bitstring meta during expansion
...
Closes #15244
2026-04-08 18:42:12 +02:00
José Valim
2916f20189
Keep warnings on map/remote dispatch with/without parens
...
Closes #15219 .
2026-03-30 10:27:58 +02:00
Jean Klingler
a58a40ce48
Purge and delete modules if after_verify/2 callback fails ( #15220 )
2026-03-26 20:08:02 +09:00
José Valim
a9ce579829
Revert structs into export time dependencies
2026-03-23 12:52:50 +01:00
José Valim
7945446cb4
Allow preserving sigil metadata in container cursor to quoted
...
Closes #14243 .
2026-03-13 20:03:34 +01:00
José Valim
5bad452d0a
Show undefined function errors even on variable failure, closes #13465
2026-03-13 17:07:37 +01:00
Jonatan Kłosko
7967ff985b
Add :dbg_callback option to Code eval functions ( #15189 )
2026-03-13 08:13:01 +01:00
Gonzalo R
4021272d42
Fix missing space typo in compiler error message ( #15186 )
2026-03-12 21:45:00 +01:00
José Valim
f9310524b1
Revert "Fix unnecessary recompilation when dbg_callback is modified at runtime ( #15007 )" ( #15185 )
...
This reverts commit c80a3b1a0e .
2026-03-12 12:50:48 +01:00
José Valim
382b5b06de
Convert domains to also use orddict
2026-03-10 08:17:00 +01:00
Jean Klingler
2c54f9a64a
More cleanup: remove compatibility code for OTP26- ( #15166 )
...
* Remove compatibility code for OTP26-
* Remove support for application/erlang+html docs v1
* Remove workaround for bug in older OTP versions
* Update OTP version checks
* Remove OTP25- skipping in tests
* More test cleanup
2026-03-10 16:12:36 +09:00
Jean Klingler
2817a70680
Remove mentions to OTP27+ versions from docs, comments and tests ( #15165 )
...
* Remove mentions of "since OTP27+"
* Remove test code for OTP26-
2026-03-10 15:39:03 +09:00
Jean Klingler
13024f43c0
Remove OTP26 support and add OTP29-rc ( #15164 )
...
* Update OTP compatibility table
* Add OTP 29.0 rc to CI, remove 26.0
* Remove :elxiir_json polyfill
* Remove :elixir_utils.jaro_similarity polyfill
* defdelegate directly to :proc_lib.set_label/2
2026-03-10 15:10:19 +09: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
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
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
b792fb41c5
Clarify error message for always failing private function, closes #14401
2026-02-27 15:16:02 +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
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