José Valim
472c4e1a24
Avoid crashes on diagnostics with tabs, closes #14073
2024-12-16 12:09:18 +01:00
José Valim
305d8e603c
Do not convert fun() into (... -> any()) and vice-versa in typespecs
2024-12-15 15:18:52 +01:00
Jonatan Kłosko
1c7fc86e9c
Make :source_path in docs chunk a charlist ( #14071 )
2024-12-13 16:57:54 +01:00
José Valim
617dc72759
Fix Range.new deprecation assertion
2024-12-13 10:14:47 +01:00
Jean Klingler
6c866e8ab2
Fix type warnings in pop_in/1 ( #14064 )
2024-12-12 17:47:23 +09:00
José Valim
55eca5dff5
Implement JSON.Encoder for Calendar types ( #14061 )
2024-12-12 00:38:44 +01:00
José Valim
a78f1715dc
Fix error message around single quote keywords
2024-12-10 19:30:39 +01:00
José Valim
793c114721
Add JSON encoding and decoding ( #14021 )
2024-12-10 12:14:30 +01:00
José Valim
4328b090ae
Add Duration.to_string ( #14028 )
2024-12-04 16:11:10 +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
e3bad83233
Move __deriving__ callback to the protocol
2024-11-27 18:38:48 +01:00
José Valim
1f98708649
Add @undefined_impl_description
2024-11-27 18:38:48 +01:00
José Valim
8eba863f8f
Properly track stab inside container_cursor_to_quoted, closes #13826
2024-11-25 14:46:23 +01:00
Dave Lucia
2f844fd77b
Move value in protocol errors to its own line ( #14003 )
2024-11-21 10:00:11 +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
Guillaume Duboc
d7f8578742
Add map normalization cases ( #13997 )
2024-11-15 19:22:24 +01:00
Jonatan Kłosko
3b01b2a632
Add separate metadata entry for every block parens ( #13996 )
2024-11-15 13:55:22 +01:00
Theodor Fiedler
9c7604ccf2
Ignore microsecond precision when validating shift date duration ( #13993 )
2024-11-14 15:14:47 +01:00
José Valim
a6ad2b8c03
Fix test which accidentally removed :throw
2024-11-14 12:28:13 +01:00
José Valim
a7c8be77e6
Ensure one arity catch is always expanded to :throw
2024-11-14 11:16:38 +01:00
José Valim
bb9ddb3317
Mark negation inside refute as generated, closes #13992
2024-11-13 23:11:01 +01:00
Guillaume Duboc
f869345e27
Add list normalization for printing ( #13989 )
2024-11-13 00:53:19 +01:00
José Valim
60bd0ae7e8
Simplify test by using automatic generation
2024-11-12 23:39:55 +01:00
José Valim
0182f7d146
Raise for undefined function within unused function
2024-11-12 23:19:41 +01:00
Guillaume Duboc
26318ebb0a
Improve perf of tuple_difference ( #13988 )
2024-11-12 23:19:28 +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
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
731e714b6f
Define fewer modules in aliases tests
2024-11-07 13:45:11 +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
José Valim
9197ce51fc
Handle precedence in =
2024-11-07 08:48:21 +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
Tobias Pfeiffer
e28a84ce2a
Fix bug with schemaless URI in URI.merge/2 ( #13970 )
...
Only occurs when mixing strings and URIs, but the docs seem to
encourage that.
Without the fix the test results in the following error:
```
1) test merge/2 (URITest)
test/elixir/uri_test.exs:376
** (KeyError) key :scheme not found in: "http://google.com/foo "
If you are using the dot syntax, such as map.field, make sure the left-hand side of the dot is a map
code: assert URI.merge("http://google.com/foo ", URI.new!("//example.com/baz"))
stacktrace:
(elixir 1.18.0-dev) lib/uri.ex:911: URI.merge/2
test/elixir/uri_test.exs:390: (test)
```
That's because that (one) particular clause didn't check for the
base to be a `%URI{}`.
2024-11-06 12:35:32 +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
José Valim
1ca06361b6
Type checking of stacktrace and error/raise functions
2024-11-05 13:13:59 +01:00
José Valim
3e9fb4d5ad
Type checking of case and receive
2024-11-05 13:13:59 +01:00
José Valim
2b687fe733
Type map and struct updates ( #13957 )
2024-11-05 11:46:55 +01:00
Guillaume Duboc
7abcb484f8
Add tuple_values to descr ( #13964 )
2024-11-05 11:38:48 +01:00
José Valim
7e1aaacf53
Add more tests around list hd/tl
2024-11-04 16:58:31 +01:00
Jonatan Kłosko
e54b87c181
Fix formatter adding extra escapes to remote call functions ( #13960 )
2024-11-04 14:37:46 +01:00
José Valim
ef56e81d34
Improve coverage over union calls
2024-11-04 14:36:53 +01:00
José Valim
1557d1db5f
Typecheck cond
2024-11-04 14:36:53 +01:00
Jean Klingler
5d626cb873
Improve validation of unquote_splicing AST ( #13961 )
2024-11-04 22:08:48 +09:00
José Valim
9bf8233f68
Improve error messages for bad funs
2024-11-04 09:31:09 +01:00