Commit Graph
8530 Commits
Author SHA1 Message Date
José Valim 685dd1a3e0 Return {:error, :unavalable} for ensure_compiled in a deadlock (#9543) 2019-11-19 09:12:40 +01:00
Eksperimental 00053dc00f Explicitly mention that def and defmacro define public functions/macros (#9556) 2019-11-19 09:11:16 +01:00
Eksperimental 0acab05f53 Use titlecase in Elixir, Erlang, EEx, Unicode, and Dialyzer (#9557) 2019-11-19 09:10:29 +01:00
Eksperimental 83ec6e3614 Use argument instead of arg in error messages (#9561) 2019-11-19 09:09:10 +01:00
Eksperimental 1d02b882b3 Example in defmodule shows the return value as mentioned in the bulleted list (#9555) 2019-11-19 09:08:14 +01:00
Eksperimental 209b02120c Refer properly to Erlang datetime tuple in the docs (#9560)
[ci skip]
2019-11-19 13:21:07 +05:30
Eksperimental fab82a99a7 Use "operating system" instead of OS (#9547) 2019-11-18 09:21:52 +01:00
José Valim b0e7bcd702 Deprecate Code.ensure_compiled?/1
There are many implications behind using Code.ensure_compiled?/1,
so we do not want to hide it behind a simple boolean check.
Instead use `Code.ensure_compiled/1` which is clearer about intent
and on return values.
2019-11-17 18:47:31 +01:00
Josh Price 9917d3920a Make the number of attempted function clauses in FunctionClauseError more obvious (#9544) 2019-11-17 15:19:05 +01:00
Eksperimental 2568ea2dc0 Introduce t:Calendar.ISO.microsecond/0 and fix t:Calendar.microsecond/0 (#9541)
The reasoning is that the `0..999_999` and `0..6` values only applied
to the Calendar.ISO calendar, and that could be restrictive for other
types of calendars. As discussed in
https://github.com/elixir-lang/elixir/pull/9493#pullrequestreview-312050446
2019-11-17 09:16:23 +01:00
Eksperimental ac79670925 Add new types to Calendar.ISO (#9512) 2019-11-16 11:02:38 +01:00
Eksperimental d0edd59cb1 Fix bug in Calendar.ISO.day_of_era/3 typespec (#9539)
Additionally, it introduces t:Calendar.day_of_era/0.
2019-11-16 11:01:55 +01:00
Eksperimental b67f18e9ea Improve Bitwise docs (#9538) 2019-11-16 11:01:24 +01:00
Eksperimental a6b473951e Add specs for Bitwise (#9537) 2019-11-16 10:49:14 +01:00
José Valim b81a84f862 Remove outdated TODO 2019-11-16 10:46:43 +01:00
José Valim db3f3ef174 Support profiling via elixirc 2019-11-16 02:57:42 +01:00
José Valim dbf8a7a9fe Use version metadata in Erlang pass 2019-11-16 02:45:55 +01:00
Eric Meadows-Jönsson 623a91936b Track variable version globally (#9536)
Instead of incrementing the version for each variable individually we increment it globally for all variables. This means we can uniquely identify each variable assignment with only the version.
2019-11-15 17:18:39 +01:00
José Valim 97076019e4 Add async: true to tests using capture_io :stderr 2019-11-15 10:00:16 +01:00
José Valim 19157377cc Add patterns information to guards page 2019-11-14 12:33:53 +01:00
Fernando Tapia Rico 1e9a781971 Exclude tests that require epmd on Windows (#9533)
Temporary disable those test on Windows since the empd daemon is
failing to start in some Windows setups.
2019-11-14 09:32:13 +01:00
Eksperimental 29574aa245 Documentation updates in Bitwise module and functions (#9528)
* Add "Allowed in guard tests. Inlined by the compiler." to Bitwise functions

* Update @moduledoc for Bitwise since macros are functions now

[ci skip]
2019-11-14 09:29:27 +01:00
Fernando Tapia Rico 084373846b Prevent calling non-async functions in async tests (#9455)
Capturing a named device other than `:stdio`, such as `:stderr`,
happens globally and requires `async: false`.
2019-11-14 08:11:02 +01:00
Eksperimental ed821750e8 Improvements to MapSet moduledocs (#9531) 2019-11-14 07:46:04 +01:00
Eric Meadows-Jönsson d2418152d0 Use reverse rewrite in checker 2019-11-14 00:16:01 +01:00
Eric Meadows-Jönsson 9587134429 Change Bitwise macros to rewrites 2019-11-14 00:16:01 +01:00
Eric Meadows-Jönsson 8ece599b6d Add reverse rewrite and inline rules 2019-11-14 00:16:01 +01:00
Eric Meadows-Jönsson 904ce121e2 Make unification directed
This is to support subtype unification with source and target types for expression checking. Pattern checking is bidirectional, meaning it always picks the subtype, we do this by flipping the source and target on unification failures.

We can also simplify trace collection by removing the variable inference stack.
2019-11-13 16:42:25 +01:00
Eric Meadows-Jönsson d2df63470f Move unification to Infer module 2019-11-13 16:42:25 +01:00
Eric Meadows-Jönsson 4ae121700a Split Infer into Expr and Pattern modules 2019-11-13 16:42:25 +01:00
Eric Meadows-Jönsson c65f9d1325 Remove unused parameter from register_key (#9524) 2019-11-13 16:42:03 +01:00
Eric Meadows-Jönsson 2e13e5d8a4 Add --profile time flag to profile compilation steps (#9519) 2019-11-13 12:57:49 +01:00
Eric Meadows-Jönsson a3fc4b3f9e Add variable version to expanded meta (#9520) 2019-11-13 12:57:21 +01:00
Tomasz Marek Sulima b108d3cfd7 Remove struct/0 from the basic types in the typespecs docs (#9523)
[ci skip]

Closes #9522.
2019-11-13 00:53:21 +01:00
José Valim 08d6fe8cb8 Add parens to static remote nullary calls
test/erlang/module_test.erl have also been removed
as they have been ported elsewhere.
2019-11-08 17:59:08 +01:00
Tomasz Marek Sulima 7ae8a96702 Fix for default leftover in Enum.chunk/3 (#9507)
Closes #9506.
2019-11-08 14:51:30 +01:00
Eksperimental 73eb15dd07 Improvements to Calendar docs, specs and guards (#9493) 2019-11-08 14:40:43 +01:00
José Valim c87b6307cd Traverse args of remote functions when looking for undefined/deprecation warnings 2019-11-08 14:32:30 +01:00
José Valim 1c864fca7d Do deprecation of Supervise.Spec in steps 2019-11-07 09:37:43 +01:00
Eksperimental ef5b0fb9ef Use type-check when it's an adjective (#9502)
[ci skip]
2019-11-07 09:09:32 +01:00
Eksperimental 8c72af6478 Copyedit the guards page (#9500) 2019-11-07 00:36:41 +01:00
Wojtek Mach d6666caa12 Link defguard/1 and defguardp/1 (#9501) 2019-11-06 23:18:17 +01:00
Eksperimental d4b0680f35 Minor corrections to recently introduced changes in Guards page (#9499)
[ci skip]
2019-11-06 19:03:14 +01:00
José Valim b423b9e2b9 Ensure reassigned variables are properly carried forward 2019-11-06 19:00:36 +01:00
Vladimir Gorej d814f09c1c Fix a typo in Calendar docs (#9498) 2019-11-06 17:47:54 +01:00
Eric Meadows-Jönsson 24cab18d2f Make distinction of guard expressions and functions/operators (#9497)
* Clarify distinction of guard expressions and functions and operators.
* Recommend using type-check guard functions.
* Reorder sections such that the "multiple guards" section immediately follows the "errors in guards" section.
2019-11-06 16:46:42 +01:00
Devon Estes 0e1dfc4edf Improve documentation around guards (#9496)
@eksperimental was right that while this was hinted at, this was never
specifically stated, so I added an explicit example since this functions
differently from other boolean checks (like `if` and such) in the
language.

Resolves #9495
2019-11-06 10:21:55 +01:00
José Valim f78841ae09 Clarify evaluation rules for guards, closes #9495 2019-11-06 08:45:21 +01:00
Cleidiano Oliveira a8b948c308 Fix a typo on System.build_info docs (#9491) 2019-11-05 13:43:25 +01:00
Eksperimental f92e36904f Updates on DynamicSupervisor.start_child/2 (#9434)
- Updates specs to include old_erlang_child_spec.
- Improve docs.
2019-11-05 08:55:09 +01:00