José Valim
a6844bf725
Add tests for allow_locals option
2025-07-10 17:30:36 +02:00
Łukasz Samson
802ecdd4a0
Add local_for_callback option to Macro.Env.expand_import ( #14620 )
2025-07-10 17:15:21 +02:00
José Valim
c710b2afb7
Remove explicit mentions to elixirc, as it isn't used in practice
2025-07-10 10:21:49 +02:00
Eksperimental
352f2723a9
Use backticks around literals in documentation ( #14633 )
2025-07-10 09:36:20 +02:00
Eksperimental
8bc49af49d
Use thin space (U+2009) as a separator instead of _ and in regular English language ( #14635 )
2025-07-10 09:35:53 +02:00
José Valim
e55c61ffaf
Improve error message for protocols with no implementation, closes #14364
2025-07-10 09:30:34 +02:00
Eksperimental
fa51593cc6
Standardize "Examples" heading section levels in docs ( #14638 )
...
* Convert "Examples" 3rd level headings to 2nd level when not under a 2nd level
* Convert 1st level "Examples" heading to 2nd level
2025-07-09 20:09:07 +02:00
Eksperimental
f2804b96db
Correct grammar in structural sorting order section ( #14639 )
...
It is not required by the Elixir developer, but it is not required for them to know this by heart.
The former indicates that it is the Elixir developers who are not requiring this, the latter expresses
that they do not need to know this by heart.
2025-07-09 20:08:47 +02:00
Zach Daniel
e78f105f23
use simpler words in mix-and-otp guides ( #14630 )
2025-07-07 18:11:06 +02:00
José Valim
785ffcc7cd
Add TODO
2025-07-06 09:46:31 +02:00
José Valim
cfc43b37d4
Add notes to the code
2025-07-06 09:46:31 +02:00
José Valim
efcd164e38
Fix return type of phi, closes #14621
2025-07-04 09:34:28 +02:00
José Valim
b29c83a42f
Apply further fn optimizations and fixes ( #14619 )
...
Closes #14598
2025-07-03 15:58:17 +02:00
José Valim
d7bdea55de
Add required field back to struct info
...
Closes #14616 .
Closes #14617 .
Closes #14500 .
2025-07-03 12:21:39 +02:00
Guillaume Duboc
824fc3bc24
Perf optimizations and inferred intersections ( #14605 )
2025-07-03 11:39:54 +02:00
José Valim
cf8689e498
Remove specs which are pass through and from private modules
2025-07-01 10:44:03 +02:00
Łukasz Samson
e3f7759fde
Replace keyword with concrete keyword lists in specs ( #14611 )
2025-06-30 17:24:28 +02:00
José Valim
2fe44b747d
Fix warnings on Erlang/OTP 28
2025-06-30 11:57:23 +02:00
José Valim
32ed2c38b2
Remove Regex warning until Erlang/OTP 28.1
2025-06-30 10:55:16 +02:00
José Valim
ad524f528f
Improve URI docs
2025-06-29 16:21:32 +02:00
Art Kay
8172ff0775
Fix minor typo in the docs ( #14606 )
2025-06-26 07:17:16 +09:00
José Valim
08d3865fad
Transform the struct update syntax into a type assertion
...
This transforms the struct update into a type assertion,
requiring the type system to be sure the expression has
precisely the given struct type.
The struct update syntax may still be deprecated in the
future but this will provide a safer migration path and
allow us to engage in more conversations with the community.
2025-06-25 19:30:04 +02:00
Łukasz Samson
54489ef86f
Fix time unit in comment ( #14600 )
2025-06-24 07:09:23 +02:00
José Valim
54515bf48a
Distinguish source_anno from doc_anno, see #14595
2025-06-21 03:54:44 -07:00
José Valim
9d4c91be2a
Ensure block_keyword_or_binary_operator is handled in surround context, closes #14590
2025-06-21 03:25:36 -07:00
Guillaume Duboc
cc9a5e7682
Simplified tuple definitions by removing negations ( #14596 )
2025-06-20 05:20:08 -07:00
Łukasz Samson
b2587e8633
Handle error result from unescape_tokens in tokenizer ( #14587 )
2025-06-19 12:02:02 -07:00
Łukasz Samson
6ca0ad84b7
Consistently raise UnicodeConversionError in tokenizer ( #14589 )
2025-06-19 12:00:43 -07:00
Christopher Keele
66753a868b
Improve docs for "textual sigils" ( #14591 )
2025-06-19 11:10:55 -07:00
Łukasz Samson
972f9e46ed
Fix invalid warning on no parens call on true ( #14593 )
2025-06-19 05:56:47 -07:00
Łukasz Samson
f07bc7b3d5
Fix typo in elixir_erl_pass inline_pure_function decode_www_form ( #14592 )
2025-06-19 20:08:57 +09:00
José Valim
e27cd15715
Optimize empty_difference_subtype? for dynamic parts
2025-06-14 12:13:15 -07:00
Jean Klingler
d59f49aa54
Mark inlined function call result as generated ( #14581 )
2025-06-14 19:05:31 +09:00
Tobias Pfeiffer
7ad145082b
Document Map.fetch!/2 exception in its doc ( #14573 )
2025-06-12 10:53:06 +02:00
José Valim
fb9a9e97d8
Allow captures to be reconstructed on type system pretty printing
2025-06-11 13:51:24 +02:00
José Valim
e04444c42e
Warn when invalid fun typespec is used
2025-06-11 12:08:45 +02:00
José Valim
5946e8bb9d
Improve error message for bad/missing clauses, closes #14569
2025-06-10 14:38:30 +02:00
Joe Yates
46b5fabc63
Fix use of prefer with '-ing' ( #14568 )
2025-06-10 11:17:04 +02:00
José Valim
bff9f3ebbc
Point out module must be required before macro usage in match/guard
2025-06-10 10:13:50 +02:00
José Valim
ff4adca18a
Filter @compile debug_info when explicitly set to true
...
Closes #14567 .
2025-06-10 09:58:23 +02:00
Theodor-Alexandru Irimia
954133d64c
Clarify why and how to start second session for tests ( #14566 )
2025-06-09 22:26:53 +02:00
José Valim
319360ce9f
Fix logger function link in CHANGELOG
2025-06-09 22:26:31 +02:00
José Valim
52495ba8bc
Add tests for optional subtyping
2025-06-09 13:08:12 +02:00
José Valim
514fbbaf52
Update tables
2025-06-09 12:44:56 +02:00
Michał Łępicki
34cf44587c
Fix mistake in "Untracked compile-time dependencies" anti-pattern ( #14563 )
2025-06-09 12:07:18 +02:00
José Valim
09dcbf7566
Introduce deprecations scheduled for Elixir v1.20
2025-06-07 21:55:06 +02:00
José Valim
c001cbdd62
Start v1.20
2025-06-07 20:21:32 +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