Commit Graph
4711 Commits
Author SHA1 Message Date
Theodor Fiedler 79c19dcb04 Add Duration.from_iso8601/1 (#13473) 2024-05-27 11:48:07 +02:00
José Valim 772c7b0884 Add Keyword.intersect/2-3 2024-05-26 10:59:18 +02:00
José Valim 73d7762563 Avoid double tracing on captures 2024-05-25 11:13:29 +02:00
José Valim 582c4f304d Simplify use_stdio and remove output in test 2024-05-24 11:57:47 +02:00
kristofka 4e478b3752 Correctly Macro.escape :quote triplet without meta (#13594)
Closes #13593.
2024-05-24 11:33:03 +02:00
Antoine Bolvy 9651afab1e Add support for use_stdio option to System.shell and Mix.Shell.cmd (#13580) 2024-05-24 11:32:30 +02:00
José Valim 18db5220ce Check for exclamation marks on Windows (#13166)
Closes #13165.
2024-05-24 09:13:22 +02:00
José Valim 03d412f20e Handle bind_quoted with context correctly, closes #13590 2024-05-23 17:36:36 +02:00
José Valim 41cf575ec8 Hoist dynamic up on map creation (#13579) 2024-05-21 13:18:12 +02:00
José Valim 37d36f8bd6 Do not expand bind_quoted expressions twice 2024-05-20 18:01:02 +02:00
José Valim 92e0e34a1e Respect line property when file is given, closes #13542 2024-05-20 17:10:11 +02:00
José Valim a4429ac239 Do not crash on imports inside nested quotes, closes #13575 2024-05-20 13:13:07 +02:00
José Valim f9263fdc54 Do not crash on invalid imports metadata 2024-05-20 12:44:37 +02:00
José Valim 5f2f626a05 Do not raise on Macro.Env.expand_import, closes #13573 2024-05-20 10:55:18 +02:00
Łukasz Samson 64d6d3d345 Fix typo in meta key name in elixir_quote (#13570)
It seems the bug has been introduced in df64d5c6a1 (and 169595f534) where `import` meta has been renamed to `imports` but some places were missed
This bug was present since 1.14.0
2024-05-18 10:38:31 +02:00
Jean Klingler d11b41f65a Revert alias shadowing warning due to false positives (#13568)
* Revert "Fix false positive with nested shadowed alias (#13564)"

This reverts commit 8dc94db457.

* Revert "Warn on unused shadowed aliases (#13550)"

This reverts commit d1b3063050.
2024-05-18 17:00:13 +09:00
Bryan Paxton 496cb2c892 Add support for sigils containing integers (#13448) 2024-05-17 12:40:02 +02:00
Jean Klingler 8dc94db457 Fix false positive with nested shadowed alias (#13564) 2024-05-17 08:13:19 +09:00
José Valim d7ea2fa2e4 Handle cursor completion inside fn/rescue/catch/else/after 2024-05-14 17:04:57 +02:00
José Valim fb0356372c Return default value for persisted attributes, closes #13558 2024-05-14 13:17:18 +02:00
Cocoa 3d7f4dddbf Allow Date to accept year outside of -9999..9999 range (#13551) 2024-05-11 11:33:38 +02:00
Jean Klingler d1b3063050 Warn on unused shadowed aliases (#13550) 2024-05-10 22:28:12 +09:00
José Valim 203baf36af Raise on left-over __cursor__ 2024-05-10 15:17:35 +02:00
José Valim 2f19899af5 More tests around descr map_fetch 2024-05-07 18:25:08 +02:00
Theodor Fiedler a206284bb2 Fix random typos (#13543) 2024-05-07 13:23:46 +02:00
José Valim acd6aa75aa Add hints around exception handling 2024-05-06 19:38:59 +02:00
Theodor Fiedler bc5cf4c4db Consolidate spelling of life cycle (#13541) 2024-05-06 11:56:13 +02:00
José Valim 0043b1e1af Use dynamic(type) on pretty printing 2024-05-05 15:29:42 +02:00
José Valim 6b4291645c Warn on undefined exceptions 2024-05-04 20:41:51 +02:00
José Valim 5acdb97403 Type check rescued exceptions 2024-05-04 20:41:51 +02:00
José Valim 5cbea01734 Remove more hardcoded dynamic conversions 2024-05-04 17:37:23 +02:00
Jean Klingler 27164e33be Add Kernel.is_non_struct_map/1 guard (#13534) 2024-05-04 23:59:12 +09:00
José Valim 7489ce8572 Perform type checking across comparison operators (#13527) 2024-05-02 14:09:41 +02:00
José Valim a7673c6c7e Add initial type checking for guards and %expr{} in patterns 2024-05-02 10:05:41 +02:00
José Valim 426fe7dd67 Remove type hint added after rebase 2024-05-01 11:36:15 +02:00
José Valim ce922c2d8f Improve typing error messages 2024-05-01 09:04:03 +02:00
Jean Klingler e557b10c4f Remove dot hint when the issue is a missing key in a map (#13519) 2024-04-30 22:19:45 +02:00
José Valim 017481da6f Properly infer open and closed maps 2024-04-30 18:49:17 +02:00
José Valim d8906c3ddc Track simple variable assignment in type system 2024-04-30 15:59:58 +02:00
José Valim 514355f3d9 Type inference for structs and type checking for dot/remote (#13518)
We now warn:

* `expr.field` when `expr` may not be a map
* `expr.call()` when `expr` may not be an atom
* `expr.call(...)` when `expr` may not be an atom
* `&expr.foo/1` when `expr` may not be an atom

Furthermore, we lay down the ground work for checking undefined
and deprecation warnings across unions. For example, if you write
this code:

    mod = if something?, do: Foo, else: Bar
    mod.some_function()

In the future, it will warn if any of Foo OR Bar do not define the relevant function.
Finally, we improve pretty printing of maps and aliases in types.
2024-04-30 14:15:32 +02:00
José Valim a1743d49ff Return if the key is optional on map_get 2024-04-29 18:29:41 +02:00
José Valim e6254668e3 Use explicit open_map and closed_map functions 2024-04-29 16:36:40 +02:00
José Valim 1ea2dfa05c Fix unmatched branch in map emptiness check 2024-04-29 15:43:56 +02:00
Guillaume Duboc 5911a98c3c Map types representation (#13512) 2024-04-29 13:37:38 +02:00
Jean Klingler cb9c303bc0 Add GenServer.format_status/1 callback (#13511) 2024-04-25 00:08:22 +09:00
José Valim 67c3ad5196 Add brackets around keyword lists when formatting with when, closes #13503 2024-04-23 09:34:03 +02:00
José Valim 883e0c250b Fix warning on import test 2024-04-23 09:28:52 +02:00
José Valim 61cc5f6fcf Simplify internal storage of regex options 2024-04-15 21:56:33 +02:00
Jean Klingler dc6fa24edd Inline duration building in shift/2 functions (#13489)
* Inline duration building in shift/2 functions

* Rename __duration__! and define in all modules
2024-04-10 12:57:26 +09:00
Jean Klingler 98719ff200 Inline some pure functions calls (#13483) 2024-04-08 22:54:03 +09:00