Commit Graph
2725 Commits
Author SHA1 Message Date
José Valim 2e9ce85e91 Fix precedence when parsing unary ops with do-end blocks
Closes #15849. Closes #15851.
2026-09-05 10:04:11 +02:00
Jean Klingler 4a74923ebb Minor improvements to invalid struct key error (#15852) 2026-09-05 16:48:42 +09:00
Daniel Kukula 6cde8680ab Remove intermediate list in elixir_interpolation hex_to_int (#15767) 2026-08-18 17:36:38 +02:00
Daniel Kukula 11e920f9e4 Fast path for unescape_char/2 (#15766) 2026-08-18 17:25:48 +02:00
Alexander Gubarev c929e885bb Fix struct key malformed error message (#15735) 2026-08-12 23:46:03 +02:00
José Valim b911bb0380 Raise when | is used in guards, closes #15734 2026-08-12 07:42:25 +02:00
José Valim ca719e08fb Do not store optional in descr (#15624) 2026-07-17 01:20:39 +02:00
José Valim 6adff3fcc2 Fix cursor completion after operators
Treat trailing operator keywords as completion fragments
when they follow another operator.

Assisted-by: Codex:GPT-5

Closes #15591.
2026-07-11 16:52:00 +02:00
José Valim 46c461e617 Expand defguard per guard and expression
Closes #15450.
Closes #15284.
2026-06-24 13:07:43 +02:00
José Valim f4bf3fd20e Segregate bitstring and bitstring no binary in map domains 2026-06-23 10:43:35 +02:00
Jean Klingler 83e9b66e65 Add to_unsafe_atom/1 and soft-deprecate to_atom/1 (#15494) 2026-06-16 20:50:11 +09:00
Jean Klingler 8efdf4eb10 Add List.to_existing_atom/2 to validate against a list of allowed atoms (#15493) 2026-06-16 20:35:01 +09:00
Jean Klingler fd1109e859 Add String.to_existing_atom/2 to validate against a list of allowed atoms (#15483) 2026-06-16 17:45:09 +09:00
José Valim 23d9bfd3e1 Do not leak vars between default args
Closes #15463.
2026-06-15 13:55:39 +02:00
José Valim 99cd654460 Handle rebound vars in bitstring size expansion
Closes #15479.
2026-06-15 13:45:55 +02:00
Łukasz Samson 784db65375 Fix missed optimization of Kernel.put_elem/3 (#15480)
?reorder added in 87582af54 used wrong arity and wrong erlang call
2026-06-15 12:16:54 +02:00
Jean Klingler 2421be6732 Fix bin comprehensions when option is used (#15473)
* Fix bin comprehensions - static size

* Fix bin comprehensions - pinned var size

* Fix bin comprehensions - operations

* Add tests for nested generators
2026-06-15 17:32:26 +09:00
Jean Klingler df9d1d6e52 Cleaner error message for unquote when quote is used in a pattern (#15469) 2026-06-13 21:15:55 +09:00
José Valim 82fa62d0a5 Use cyclic instead of recursive, add more examples, closes #15462 2026-06-12 18:50:54 +02:00
José Valim 6a14c55681 Warn on unaligned binary segments
Closes #15465.
2026-06-12 18:06:05 +02:00
Alexander Gubarev bb8480fc3c Typo fixes (#15447) 2026-06-10 00:25:22 +02:00
José Valim 65e6b08576 Tag lists member as returning boolean 2026-06-07 11:07:14 +02:00
Gary Rennie 9ee4bcf564 Add support for erlc_options and beam_debug_info chunk to support edb (#15438) 2026-06-07 10:53:57 +02:00
José Valim b897da7b4c require_file releases the file if compilation fails 2026-06-04 19:42:34 +02:00
Jonatan Männchen b5f1864d4e Use package.hexdocs.pm URL format instead of hexdocs.pm/package (#15429) 2026-05-30 22:19:31 +02:00
Jean Klingler db6e80277d Never suggest back invalid characters in tokenizer hint (#15421) 2026-05-27 10:23:12 +02:00
Jean Klingler 571c108503 Inline in empty list in erlang pass (#15413) 2026-05-24 09:05:42 +09:00
José Valim e17cb856a0 Avoid false positives on cascading warnings
Only emit warnings for missing exports in defined
modules to avoid false positives with modules from
the current project which may not have been defined
yet.
2026-05-22 10:41:13 +02:00
José Valim 5337ab8716 Revert expansion of or/and in guards
This partially reverts aad63173 as it caused
massive AST to generate when expanding guards
with `expr in [...]` checks in them, as each
`or` became a full-blown case expression.

Alternative approaches will be explored in
future releases.
2026-05-22 09:51:09 +02:00
José Valim 8336f33263 Wrap quote in a function that will implement recursive types
Closes #15410.
2026-05-22 09:51:09 +02:00
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