Commit Graph
22209 Commits
Author SHA1 Message Date
José Valim 759443e724 Release v1.20.4 v1.20.4 v1.20-latest 2026-08-28 12:02:55 +02:00
José Valim 0bba588757 Fix recursion on charlist error path 2026-08-28 11:59:47 +02:00
Alexander Gubarev 04c31907c5 Fix Task.yield_many/2 waits too long or forever when :limit exceeds task count (#15737) 2026-08-27 09:45:00 +02:00
José Valim 153489f9a6 Update CHANGELOG 2026-08-27 09:40:31 +02:00
Hasan mohamed 3ecb083d5d Fix type checker crash on non-returning for ... into: expression (#15747) (#15770) 2026-08-25 13:05:04 +02:00
Daniel Kukula d2689c839e Fix base64 swar singleton false positive (#15773) 2026-08-25 13:04:54 +02:00
Alexander Gubarev 309623adf1 Fix final sigma handling in :greek (#15791) 2026-08-25 13:04:14 +02:00
Łukasz Samson ae432598e4 Fix inferred type of :erlang.split_binary/2 result when arg is bitstring (#15790) 2026-08-25 13:04:08 +02:00
José Valim 31288d2267 Update CHANGELOG 2026-08-05 09:20:30 +02:00
José Valim 6efe0fc7cb Release v1.20.3 v1.20.3 2026-08-04 16:31:51 +02:00
José Valim b3f2e0def7 Update CHANGELOG 2026-08-04 15:55:18 +02:00
Alexander Gubarev fa6205cc20 Fix elixirc --profile time switch argv parsing (#15647) 2026-08-04 15:49:27 +02:00
Łukasz Samson ea1519bcc0 Do not return {:ok, _} on maps with empty lines in map_put_static_value (#15597) 2026-08-04 15:19:29 +02:00
Łukasz Samson bfd4dd35fa Fix tuple_insert_static crash on non-normalized empty type (#15542)
Closes #15541.
2026-08-04 15:18:22 +02:00
Łukasz Samson 0564a597c6 Improve send return type (#15644)
Teach the type checker that Kernel.send/2 returns the message operand.
2026-08-04 15:16:47 +02:00
José Valim eded6248eb Optimize tuple and map emptiness checks (#15619)
Short-circuit disjoint and subtype tuple elements
before exploring the general difference branches.

This is a backport 59e257d3.

Assisted-by: Codex:GPT-5.6
2026-07-28 15:36:24 +02:00
José Valim 6bb46c30fc Update CHANGELOG 2026-07-19 13:21:16 +02:00
José Valim aa3dbdb289 Ensure %_{} is precise in guards, closes #15635 2026-07-19 10:06:36 +02:00
José Valim a55c1f7b6a Improve coverage of defguards 2026-07-17 16:20:35 +02:00
Łukasz Samson 76df4c6f58 Split tuple_insert_static into two paths (#15518)
- bdd_map on pure positive disjunction
- expand to the exact negation-free positive DNF, insert and union on negations and/or implicit :bdd_top

Fixes #15517
2026-07-16 17:50:51 +02:00
Alexander Gubarev 96f28d4362 Fix IEx.__break__!/3 fallback clause arity (#15595) 2026-07-12 13:52:34 +02:00
José Valim f894bc480e Provide proper signature for ++
And deal with compatibility checks in to_existing_atom/2.

Closes #15588.
2026-07-11 11:16:46 +02:00
José Valim 51d6cfdb93 Batch cachers in parallel checker (#15545) 2026-07-06 17:19:32 +02:00
José Valim 83ae474c61 Clarify protocols come later, closes #15529 2026-06-26 16:56:00 +02:00
Łukasz Samson 2fbf952cad Add missing Of.reset_vars call in receive/after badtimeout error path (#15527)
Variable refinement should not leak outside after block
2026-06-25 12:54:51 +02:00
Łukasz Samson 67772adcb2 Refer to the right function in remote_apply error on :maps.values/1 (#15526) 2026-06-25 12:54:51 +02:00
Łukasz Samson be1234799d Enable doctests on Descr, fix stale examples (#15528) 2026-06-25 12:54:51 +02:00
Łukasz Samson 4918e2d955 Thread full descr through fun_denormalize reduce (#15524)
Previously inner representation was threaded and returned, which broke expectations of caller `non_term_type_to_quoted`

Closes #15523.
2026-06-24 13:24:08 +02:00
José Valim cbf3836e8b Refine types for andalso/orelse in expressions, see #15450 2026-06-24 11:41:18 +02:00
Łukasz Samson 989165cabb Improve error returned from fun_apply (#15522)
- return badfun on empty type
- exclude call arity on badarity tuple

Fixes #15521

(cherry picked from commit 9a2029245d)
2026-06-24 10:34:45 +02:00
Guillaume Duboc 05d03543f6 Add put_dynamic for proper dynamic insertion (#15520) 2026-06-23 17:25:48 +02:00
José Valim 545dddf138 Release v1.20.2 v1.20.2 2026-06-23 14:02:47 +02:00
Łukasz Samson bc30e7d696 Include bitstring in domain keys (#15516)
Fixes #15515
2026-06-23 10:44:27 +02:00
José Valim 73130012bb Better organize tests 2026-06-21 21:36:40 +02:00
Łukasz Samson f55abe5ff9 Correctly render list with negative leaves (#15514)
BDD leaves represent non empty lists

Fixes #15513.
2026-06-21 21:34:37 +02:00
Łukasz Samson 394ab4bead Return error from compatible_intersection with none (#15512)
Match fast path behaviour with `compatible?/2`
Fixes #15511
2026-06-21 21:33:45 +02:00
Łukasz Samson f491a7eee4 Report empty_list: true on dynamic() in list_of (#15506)
Fixes #15505
2026-06-19 21:43:35 +02:00
José Valim a64284921e Fix optimized map difference with open key 2026-06-19 21:42:31 +02:00
Łukasz Samson 6bef18d523 Preserve optional static part on difference (#15503)
Fixes #15502
2026-06-18 09:22:29 +02:00
José Valim 8516737ea0 Avoid unecessary umbrella recompilation when a path dependency's manifest is newer but unchanged, closes #15454 2026-06-17 15:56:22 +02:00
José Valim c52eb2a323 opt_union -> union 2026-06-17 08:56:07 +02:00
Łukasz Samson 527fb26bcd Fix definition of term_or_dynamic_optional type (#15498)
Fixes #15497
2026-06-17 08:47:50 +02:00
José Valim 5c5909c2a1 Preserve empty list in dynamic list type constructor
Closes #15488.
2026-06-15 20:30:22 +02:00
José Valim 3c7ee9ff20 Handle empty function type in fun_apply
Closes #15486.
2026-06-15 18:48:29 +02:00
José Valim 51dce31a54 Preserve file meta from each clause in type system warnings 2026-06-15 16:03:50 +02:00
José Valim 0dd4cb4e0b Update CHANGELOG 2026-06-15 13:58:58 +02:00
Łukasz Samson 4d1de1d971 Fix missed optimization of Kernel.put_elem/3 (#15480)
?reorder added in 87582af54 used wrong arity and wrong erlang call
2026-06-15 12:49:18 +02:00
Jean Klingler b098c0406c 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:34:06 +09:00
José Valim 1ba39f3501 Raise better error messages when expected structs disappear, closes #15472 2026-06-14 13:46:51 +02:00
Jean Klingler 0f9072a1d4 Cleaner error message for unquote when quote is used in a pattern (#15469) 2026-06-13 21:16:40 +09:00