Jean Klingler
ae752c7bb0
Fix dialyzer warning in Code.format_string!/2 ( #14928 )
...
* Fix dialyzer warning in Code.format_string!/2
Tentative fix for https://github.com/elixir-lang/elixir/issues/14927
* Add regression test for IO.inspect/2 opts
2025-11-20 19:39:55 +09:00
Jean Klingler
f9745a25cf
File.cp_r reports non-existing dest dir properly ( #14929 )
2025-11-20 19:35:54 +09:00
José Valim
1b92f3ac87
Bump checker version
2025-11-19 10:43:50 -08:00
Guillaume Duboc
d56546d81e
Change function representation ( #14923 )
2025-11-18 14:04:21 -08:00
José Valim
46807cfcdf
Clarify calendar add always converts to microseconds
2025-11-17 08:29:48 -08:00
Vincent Robinson
51e25fbf4a
Add Integer.ceil_div function ( #14913 )
2025-11-15 06:35:25 -08:00
Jean Klingler
cf454cd1f1
Add Regex.import/1 ( #14910 )
2025-11-15 06:18:33 -08:00
José Valim
c7a9d8544a
Skip warning on :re.import/1
2025-11-15 05:00:58 -08:00
Jack Smith
c80fc6da1a
Fix grammatical error in getting started docs ( #14911 )
2025-11-14 12:26:14 +09:00
Jean Klingler
cbb508600c
Fix since in doc for E regex modifier ( #14909 )
2025-11-14 07:48:01 +09:00
José Valim
f248994830
Share consulting logic between compile.app and release
2025-11-13 16:09:55 +01:00
Jean Klingler
b45853f043
Add 'E' modifier to Regex for :export option ( #14907 )
2025-11-13 21:37:25 +09:00
Luca Scalet
edb9431df6
Add command needed for :observer.start() within iex -S mix ( #14904 )
2025-11-12 15:19:15 +01:00
José Valim
06619c2fcc
Document how to implement Enumerable for lists, closes #14899
2025-11-10 20:09:03 +01:00
José Valim
4a8d4f29ae
Warn if non-protocol functions are defined in protocol modules
...
Previous approaches tried removing macros but they could always
be added back. Therefore we now check for non-protocol functions
in a before compile callback.
2025-11-04 12:31:53 +01:00
Ahmed Elawad
6402967c4b
Remove extra indentation ( #14886 )
2025-11-01 16:24:08 +01:00
Eksperimental
757ab8c456
Minor improvements in deprecation table ( #14881 )
2025-10-30 22:06:07 +01:00
José Valim
0fac5d5f4a
Remove line breaks from deprecations table
2025-10-30 21:59:45 +01:00
Leslie and wolfgang
9a1c722737
Fix struct update example in guide ( #14877 )
...
Co-authored-by: wolfgang <wolfgang.yin@gmail.com >
2025-10-30 22:52:31 +09:00
Jean Klingler
aef3dcecd1
Warn on deprecated ~~~ unary op in tokenizer ( #14870 )
2025-10-29 19:23:31 +09:00
Raúl R Pearson
25771dd347
Remove duplicates in Keyword.get_and_update/3 ( #14868 )
...
This commit also tweaks some variable names so that get_and_update/3 and
get_and_update!/3 implementations match a bit closer.
2025-10-29 07:44:54 +01:00
Jean Klingler
bd3b2f6e00
Fix dialyzer warning on IO.inspect :label ( #14865 )
2025-10-28 16:06:08 +09:00
Jérémy Aubé
5bcfbd38be
Fix typo ( #14859 )
2025-10-24 20:42:02 +02:00
hictamenvivit
7a1dde6034
Fix typo on task-and-gen-tcp.md ( #14854 )
2025-10-24 07:50:15 +02:00
José Valim
260149951e
Configure search engines in latest ExDoc
2025-10-23 21:00:49 +02:00
José Valim
dc6647c0e9
Pass signatures on the side instead of module map
2025-10-23 00:18:14 +02:00
José Valim
d18088a3b4
Do not include signatures twice in beam files
2025-10-22 23:58:33 +02:00
José Valim
22b47d7f48
Measure and optimize writing of .beam files in the compiler
...
This should provide meaningful benefits when working with
containers and network mounted drives.
2025-10-22 10:47:00 +02:00
José Valim
5d29d61890
Simplify always true and always false bdd nodes
2025-10-21 12:51:30 +02:00
José Valim
faa8d4722e
Make bdd functions public to aid debugging
2025-10-21 12:51:30 +02:00
Yinameah
809b035dcc
Fix typo in gen-tcp (Guide) ( #14845 )
2025-10-18 21:39:08 +02:00
José Valim
4e867b3775
Simplify computation of mismatched parts for error messages
...
Before we were doing:
common = intersection(actual, expected)
uncommon = difference(actual, common)
But the second clause is:
actual and not (actual and expected)
Which is literally the same as:
actual and not expected
But much faster as it avoids the large nesting of BDDs.
Closes #14836 .
2025-10-18 18:49:58 +02:00
José Valim
3992ad4ade
Improve protocol violation warnings
2025-10-18 18:31:35 +02:00
José Valim
9cc24c9d92
Perform expensive operation once
2025-10-18 10:48:15 +02:00
José Valim
43aeded377
Do not escape dbg options, closes #14839
2025-10-17 22:15:14 +02:00
José Valim
d596853211
More optimizations for differences
...
* when a1 < a2
* when a1 == a2 and c2 == bottom and d2 == bottom
* when a1 == a2 and u2 == bottom
2025-10-16 23:49:25 +02:00
José Valim
640275b8ba
Improve protocol type error to list possible root causes
2025-10-16 23:49:25 +02:00
José Valim
f4aa384d1b
Escape meta within existing quote extensions ( #14832 )
...
Closes #14829
Closes #14830
2025-10-14 13:07:05 +02:00
Eksperimental
33467dad7b
Fix typos ( #14825 )
2025-10-09 04:51:26 +09:00
José Valim
a4bbb96d7a
Include a hint for defimpl type checking
2025-10-08 18:26:36 +02:00
José Valim
0f597b7327
Update parallel compiler docs, closes #14821
2025-10-07 17:54:00 +02:00
Eksperimental
d792fe55f7
Improve Kernel.ParallelCompiler warning ( #14820 )
2025-10-07 17:50:03 +02:00
José Valim
06ef46ceb5
Add newline after inspection, closes #14819
2025-10-07 17:15:39 +02:00
Eksperimental
da20a70810
Elixir v1.19 introduces a warning related to structs, ( #14818 )
...
hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of:
user = some_fun()
%User{user | name: "John Doe"}
it is enough to write:
%User{} = user = some_fun()
%{user | name: "John Doe"}
Since this could be seen by new-comers to the language, offering a better user experience by avoiding abbreviations. Favoring the usage of "some_function" instead of "some_fun"
2025-10-07 15:59:08 +02:00
José Valim
e07f0117bd
Improve error message when escaping default values with custom rules in structs, closes #14817
2025-10-07 14:26:02 +02:00
José Valim
36b0a69d3c
Ensure escaping works within struct fields, closes #14817
2025-10-07 13:07:18 +02:00
Eksperimental
e7c121609e
Grammar correction: to warn of ( #14816 )
...
Use "to warn of something" instead of "to warn for something".
Some instances of "to warn on" and "to warn about" have been replaced.
2025-10-06 19:05:04 +02:00
Rafał Studnicki
fecb22116c
Add key-based partitioning to duplicate registries ( #14654 )
2025-10-06 18:58:03 +02:00
José Valim
e4d0a0d252
Fix optimizations for closed map checking ( #14813 )
2025-10-06 15:39:26 +02:00
Eksperimental
92a28606ac
Fix redundant warnings when implementing a callback of undefined behaviour ( #14814 )
2025-10-06 15:26:42 +02:00