Commit Graph
11910 Commits
Author SHA1 Message Date
José Valim 2a9a4f2cab Release v1.19.0-rc.0 2025-06-09 12:27:46 +02:00
Michał Łępicki 0847e4b41a Fix mistake in "Untracked compile-time dependencies" anti-pattern (#14563) 2025-06-09 12:07:28 +02:00
José Valim 5ff421ca27 Disable inference as part of v1.19 release 2025-06-07 21:23:03 +02:00
José Valim 4425d684a0 Update CHANGELOG 2025-06-07 20:21:55 +02:00
José Valim e3f538cd25 Branch out v1.19 2025-06-07 20:18:21 +02:00
José Valim 577c8033ba Optimize subtype? by aborting early (#14561)
In the same way we introduced non_disjoint_intersection
to optimize compatibility, we introduce empty_difference
to optimize subtyping.
2025-06-07 15:35:41 +02:00
Jean Klingler 84d806603d More precise error message when escaping a regex with a ref (#14560)
* More precise error message when escaping a regex with a ref

* Refactor as do_quote_map_value

* Yet another refactoring proposal
2025-06-07 21:56:10 +09:00
José Valim b1053b75c5 Use binary appending now that we require Erlang/OTP 26
Prompt
======

There is a format/2 function in inspect/algebra.ex that
calls format/3 recursively that returns a list of binaries.
Instead of doing so, I want you to pass a binary as accumulator,
<<>>, and then instead of `[head | format(...)]`, on every
operation you will do `format(<<acc::binary, result::binary>>, ...)`.

Notes
=====

The assistant was able to detect an issue with `collapse/4`
but it was unable to fix it. That and the changes to
mix/tasks/format.ex were addressed manually.
2025-06-07 12:46:47 +02:00
José Valim b82d2dfa02 Reduce allocation on Inspect.Algebra by using cons cells 2025-06-07 09:57:36 +02:00
José Valim 443d96a396 Introduce non_term_type_to_quoted to avoid additional term_type? checks 2025-06-05 17:45:07 +02:00
José Valim 56e7de39c0 Also pretty print structs with no fields in types 2025-06-05 17:39:49 +02:00
José Valim 063a673901 Check for term_type?(dynamic) before computing difference 2025-06-05 17:33:30 +02:00
José Valim c6ed523914 Fix bugs and add completeness to function pretty printing 2025-06-05 09:18:32 +02:00
José Valim 7307f3c68d More tests for function application 2025-06-05 09:18:32 +02:00
José Valim f295a89cc7 Update CHANGELOG 2025-06-03 11:08:34 +02:00
José Valim f445cb98c3 Add CHANGELOG for function application and improve pretty printing 2025-06-03 10:53:06 +02:00
José Valim 4b6fdb40e8 Add more tests around compatibility check 2025-06-02 17:05:48 +02:00
José Valim 7819a73311 Simplify compatibility check 2025-06-02 16:53:06 +02:00
José Valim f6595985a5 Remove compile-time warnings 2025-06-02 16:17:15 +02:00
José Valim e87cc66041 Allow updated options to be returned from Inspect protocol (#14554) 2025-06-02 15:55:36 +02:00
José Valim 21ed59c578 Add more docs and examples around function_exported?/3 and macro_exported?/3 2025-06-01 10:00:58 +02:00
Isaac Yonemoto 2013e93db4 Add warnings on function exported and optional callback (#14552) 2025-06-01 09:49:48 +02:00
José Valim 41d1a721ad Do not skip dynamic for indivisible types inside functions 2025-05-30 11:31:21 +02:00
José Valim 65e084e8f8 Infer types for fn 2025-05-30 11:31:21 +02:00
José Valim 0445e9d606 Add denormalization when pretty printing functions 2025-05-30 11:31:21 +02:00
José Valim a0d649cce9 Prove hints for empty domains from unions 2025-05-30 11:31:21 +02:00
Frank Hunleth 590a827046 Add ANSI codes to turn off conceal and crossed_out (#14545) 2025-05-29 18:57:42 +02:00
Dmitry Kleymenov 340e63b9fe Add doctests to kernel guards (#14544) 2025-05-29 09:46:14 +02:00
José Valim c39286ef9c Improve error report and checks on function application (#14541) 2025-05-28 15:25:37 +02:00
José Valim 7f1fe47f6d Add Code.Fragment.lines/1 (#14493) 2025-05-28 11:04:30 +02:00
Łukasz Samson 56fb419d5e Improve documentation on Exception.message and Exception.blame (#14542) 2025-05-28 11:04:14 +02:00
José Valim 0a77a352ab More type checking of function applications (#14508) 2025-05-27 10:39:54 +02:00
José Valim fb19dec15c Include lines in == Compilation error in file ... == slogans (#14538)
Closes #14535.
2025-05-27 10:31:17 +02:00
Guillaume Duboc 17d51d11fb Add tuple elimination of negations (#14531) 2025-05-26 19:28:25 +02:00
José Valim 336627d474 Clarify and link to config modules, closes #14533 2025-05-26 10:13:39 +02:00
Łukasz Samson 22467ab6c1 Do not use Access protocol on values that may be structs (#14532) 2025-05-26 08:25:14 +02:00
José Valim 360c23965d Allow early precompiled Elixir to run on Erlang/OTP 28 2025-05-25 16:52:05 +02:00
silverdr 9310ffc9c4 Explicit mention of PID (#14529) 2025-05-24 15:09:56 +02:00
Jean Klingler aa8672c4ee Improve test coverage of the Time module (#14525)
* Add tests for Time.to_iso8601/2

* Add tests for Time.compare/2 with different calendars

* Add tests for Time.diff/3

* Test Time.shift/2 with invalid values
2025-05-24 18:19:40 +09:00
Dmitry Kleymenov 5c270037fc Add examples to File (#14528) 2025-05-24 10:31:03 +02:00
Jean Klingler 8a13ed49e5 Improve test coverage of the Date module (#14524)
* Add tests for Date.utc_today/1

* Add test for non-integer duration shift

* Add test for Date.convert!/2 with incompatible calendars

* Add test for Date.diff/2 with incompatible calendars

* Add test for Date.compare/2 with incompatible calendars
2025-05-23 17:26:25 +02:00
Dmitry Kleymenov b4bcc3b32e Put error doctests to run pipeline (#14520) 2025-05-23 11:07:27 +02:00
José Valim 050f9e28b4 Run Erlang/OTP 28 on Windows CI (#14513) 2025-05-22 10:21:24 +02:00
Dmitry Kleymenov d636a0a5cc Add clarity to docs and doctests in Enum (#14511) 2025-05-21 16:50:48 +02:00
Dmitry Kleymenov 945c057bf9 Enum scan improvements (#14486) 2025-05-20 15:19:07 +02:00
João Paulo Abreu 30d1968bd5 Enhance non-assertive map access anti-pattern documentation (#14501) 2025-05-20 14:36:12 +02:00
José Valim 81f885da6c Add anti-pattern on untracked compile-time dependencies, closes #14465 2025-05-20 11:07:29 +02:00
José Valim 8de98a8a86 Raise nice error message when escaping maps/structs with references, closes #14497 2025-05-20 10:35:17 +02:00
José Valim 1f9433feaa not_a_map.key should raise BadMapError for consistency 2025-05-20 09:58:15 +02:00
José Valim f400ac9555 Mention patterns are not allowed in function heads
Closes #14496.
2025-05-20 09:00:33 +02:00