Commit Graph
12097 Commits
Author SHA1 Message Date
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
Leslieandwolfgang 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