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