Harrison Chienjo
8302dbf519
Fix typos ( #14128 )
2024-12-29 19:42:09 +01:00
José Valim
c1c2cf8a65
Type checking of protocol dispatch ( #14117 )
2024-12-27 19:40:26 +01:00
Jonatan Kłosko
3ee2ecabff
Remove duplicated metadata in nested call AST ( #14122 )
2024-12-27 11:36:52 +01:00
José Valim
30764fe67d
Add type checking of protocol implementations ( #14115 )
2024-12-26 09:00:45 +01:00
José Valim
182e4b5304
Track source for warnings, closes #14093
2024-12-22 11:03:45 +01:00
José Valim
fe089dea56
Do not validate clauses of overridable functions, closes #14094
2024-12-22 09:55:05 +01:00
Jean Klingler
5882a52e73
Deprecate complex module expressions in &mod.fun/arity captures ( #14095 )
2024-12-22 16:22:42 +09:00
Jean Klingler
853e9ca7b9
Remove no_parens when using capture with arity ( #14090 )
2024-12-20 22:27:11 +09:00
José Valim
27a825aaf3
Annotate nifs to accumulate
2024-12-20 10:03:44 +01:00
José Valim
6443322382
Emit warnings for duplicate patterns instead of errors
2024-12-16 19:30:42 +01:00
José Valim
a506ebc257
Avoid crashes on diagnostics with tabs, closes #14073
2024-12-16 12:09:02 +01:00
Jonatan Kłosko
fb7f24e4d5
Make :source_path in docs chunk a charlist ( #14071 )
2024-12-13 16:57:40 +01:00
José Valim
3de7658489
Postpone requirement for pin on bitstring
2024-12-11 17:40:53 +01:00
José Valim
098c01a7ee
Introduce deprecations scheduled for v1.19
2024-12-11 11:59:36 +01:00
sobolevn
1ab6cdc2db
Deprecate single quotes in quoted atoms and calls ( #14047 )
...
Closes #13958 .
2024-12-10 19:31:11 +01:00
José Valim
77ea87ae29
Parse OTP release
2024-12-10 19:30:25 +01:00
José Valim
66c82a2361
Fix error message around single quote keywords
2024-12-10 19:29:32 +01:00
José Valim
ef7c11814f
Require Erlang/OTP 26+ ( #14045 )
2024-12-10 15:38:02 +01:00
José Valim
71441623cc
Update CHANGELOG and TODOs
2024-12-10 14:58:44 +01:00
José Valim
793c114721
Add JSON encoding and decoding ( #14021 )
2024-12-10 12:14:30 +01:00
Eksperimental
eadbd8bdf3
Fix typos ( #14023 )
...
The typos were detected by this app: https://pypi.org/project/typos/
running the following command
typos --exclude "lib/elixir/unicode/" --exclude "man/" --exclude "typos" --format brief
2024-12-01 16:59:24 +01:00
José Valim
8eba863f8f
Properly track stab inside container_cursor_to_quoted, closes #13826
2024-11-25 14:46:23 +01:00
José Valim
bb028b951f
Always consider Elixir modules on inference ( #14000 )
2024-11-19 13:40:16 +01:00
Jonatan Kłosko
8e1d0411ba
Add token metadata to distinguish between :nil and nil ( #13999 )
2024-11-18 09:32:15 +01:00
Jonatan Kłosko
3b01b2a632
Add separate metadata entry for every block parens ( #13996 )
2024-11-15 13:55:22 +01:00
José Valim
a7c8be77e6
Ensure one arity catch is always expanded to :throw
2024-11-14 11:16:38 +01:00
José Valim
52d6020787
Add functions to list of valid AST nodes
...
In theory we need to check if the function does not have
an environment but the goal of the check is not to be precise,
but rather to catch obvious mistakes.
2024-11-13 23:13:41 +01:00
José Valim
bfebc1e30b
Fix Dialyzer failures
2024-11-13 00:37:37 +01:00
José Valim
0182f7d146
Raise for undefined function within unused function
2024-11-12 23:19:41 +01:00
José Valim
cb2e03688e
Perform return type inference and application across local calls ( #13984 )
2024-11-11 23:06:31 +01:00
José Valim
485ca72ae2
Infer types and use them across remote calls ( #13981 )
...
This also unifies handling of deterministic builds with Erlang/OTP
as well as warnings_as_errors.
2024-11-09 18:00:27 +01:00
José Valim
9d1933b679
Use attributes field to compute behaviours
2024-11-08 12:33:08 +01:00
José Valim
57de6ea33a
Type behaviour_info, module_info, and __info__
2024-11-08 12:33:08 +01:00
José Valim
f44aa8d710
Allow aliases and imports to be enabled conditionally in module body, closes #13975
2024-11-07 17:09:44 +01:00
José Valim
3146c4a71a
Simplify metadata stored in ExCk chunk
...
The checker only runs on functions, so there is no need
to store macros. This reduces the amount of data serialized
and stored. In Livebook, it makes the group pass run about
30% faster.
2024-11-07 13:32:43 +01:00
Jonatan Kłosko
5b221a5545
Add AST metadata about assoc operator location ( #13978 )
2024-11-07 10:14:38 +01:00
Jonatan Kłosko
7d421b197c
Add parens meta to stab operator and empty block ( #13973 )
2024-11-06 13:55:04 +01:00
José Valim
c3dc6c86dd
Detect never matching clauses and patterns ( #13968 )
2024-11-06 13:51:04 +01:00
José Valim
01474e0cd4
Type checking of try
2024-11-05 19:08:18 +01:00
Jonatan Kłosko
d0f7c03744
Fix delimiter metadata for single quote atoms and remote calls ( #13966 )
2024-11-05 17:11:39 +01:00
Jonatan Kłosko
ee90126527
Add delimiter meta to demote calls with quoted identifier ( #13963 )
2024-11-05 13:14:20 +01:00
Jonatan Kłosko
e54b87c181
Fix formatter adding extra escapes to remote call functions ( #13960 )
2024-11-04 14:37:46 +01:00
Jean Klingler
5d626cb873
Improve validation of unquote_splicing AST ( #13961 )
2024-11-04 22:08:48 +09:00
Jonatan Kłosko
bd7d428ca0
Add metadata about single-expression block closing/opening ( #13940 )
2024-11-03 10:20:44 +01:00
Jean Klingler
cc68ad91cb
Add shallow validation when unquoting AST ( #13950 )
2024-11-03 17:20:33 +09:00
José Valim
91e76d311c
Keep compatibility with modules from archives
2024-10-30 19:38:39 +01:00
Jonatan Kłosko
1c19c60abb
Add source and behaviour information to docs chunk metadata ( #13914 )
2024-10-30 09:18:00 +01:00
José Valim
5c29b7e73e
Do not crash on preemptive errors with static atoms encoder, closes #13927
2024-10-30 08:31:06 +01:00
José Valim
b5eb309e07
Fix clause rewriting in typing violations on apply
2024-10-30 07:20:25 +01:00
José Valim
809971a690
Remove redundant warnings
2024-10-29 18:52:12 +01:00