Commit Graph
8532 Commits
Author SHA1 Message Date
Eksperimental cf4272d22c Style mention to operating systems (#9562)
Use:
- macOS, instead of MacOS X;
- Windows 7, instead of Win7
- Unix, instead of UNIX
- Unix-like operating system or Unix-like system, instead of just Unix
2019-11-19 16:54:07 +01:00
Eksperimental a4a2a6e2c1 [ci skip] Copyedit deprecations table (#9554) 2019-11-19 16:53:01 +01:00
José Valim aa7f19718c Return {:error, :unavalable} for ensure_compiled in a deadlock (#9543) 2019-11-19 09:12:40 +01:00
Eksperimental b468c456ae Explicitly mention that def and defmacro define public functions/macros (#9556) 2019-11-19 09:11:16 +01:00
Eksperimental b0d4288174 Use titlecase in Elixir, Erlang, EEx, Unicode, and Dialyzer (#9557) 2019-11-19 09:10:29 +01:00
Eksperimental 98daa2def1 Use argument instead of arg in error messages (#9561) 2019-11-19 09:09:10 +01:00
Eksperimental 3cd953a49d Example in defmodule shows the return value as mentioned in the bulleted list (#9555) 2019-11-19 09:08:14 +01:00
Eksperimental 2d6df90b37 Refer properly to Erlang datetime tuple in the docs (#9560)
[ci skip]
2019-11-19 13:21:07 +05:30
Eksperimental 6fb8efc648 Use "operating system" instead of OS (#9547) 2019-11-18 09:21:52 +01:00
José Valim ac4548f7cc 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 5d57c91174 Make the number of attempted function clauses in FunctionClauseError more obvious (#9544) 2019-11-17 15:19:05 +01:00
Eksperimental f40638d294 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 552b34a382 Add new types to Calendar.ISO (#9512) 2019-11-16 11:02:38 +01:00
Eksperimental 2e6c9c028f 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 0170bc8266 Improve Bitwise docs (#9538) 2019-11-16 11:01:24 +01:00
Eksperimental 123275eb92 Add specs for Bitwise (#9537) 2019-11-16 10:49:14 +01:00
José Valim 51801f769a Remove outdated TODO 2019-11-16 10:46:43 +01:00
José Valim 8ffb10309c Support profiling via elixirc 2019-11-16 02:57:42 +01:00
José Valim 2b05b8dcf3 Use version metadata in Erlang pass 2019-11-16 02:45:55 +01:00
Eric Meadows-Jönsson b3e48bc1cb 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 e1f347b75a Add async: true to tests using capture_io :stderr 2019-11-15 10:00:16 +01:00
José Valim d18f707dc9 Add patterns information to guards page 2019-11-14 12:33:53 +01:00
Fernando Tapia Rico 739de75187 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 941fbea976 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 1bfebe66a3 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 4713a734ad Improvements to MapSet moduledocs (#9531) 2019-11-14 07:46:04 +01:00
Eric Meadows-Jönsson d0a3fdbfd7 Use reverse rewrite in checker 2019-11-14 00:16:01 +01:00
Eric Meadows-Jönsson 1e4e05ef78 Change Bitwise macros to rewrites 2019-11-14 00:16:01 +01:00
Eric Meadows-Jönsson 5cfaf11478 Add reverse rewrite and inline rules 2019-11-14 00:16:01 +01:00
Eric Meadows-Jönsson 16730b59c0 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 095a3cc3bd Move unification to Infer module 2019-11-13 16:42:25 +01:00
Eric Meadows-Jönsson 45f29d226f Split Infer into Expr and Pattern modules 2019-11-13 16:42:25 +01:00
Eric Meadows-Jönsson 3cef2ccf14 Remove unused parameter from register_key (#9524) 2019-11-13 16:42:03 +01:00
Eric Meadows-Jönsson 7ccabcca0a Add --profile time flag to profile compilation steps (#9519) 2019-11-13 12:57:49 +01:00
Eric Meadows-Jönsson a58b74d1ac Add variable version to expanded meta (#9520) 2019-11-13 12:57:21 +01:00
Tomasz Marek Sulima fe2b3b09c2 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 8e7befb108 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 52f01c22bc Fix for default leftover in Enum.chunk/3 (#9507)
Closes #9506.
2019-11-08 14:51:30 +01:00
Eksperimental 9071853fe8 Improvements to Calendar docs, specs and guards (#9493) 2019-11-08 14:40:43 +01:00
José Valim 5b097ae638 Traverse args of remote functions when looking for undefined/deprecation warnings 2019-11-08 14:32:30 +01:00
José Valim e789d389be Do deprecation of Supervise.Spec in steps 2019-11-07 09:37:43 +01:00
Eksperimental b609add982 Use type-check when it's an adjective (#9502)
[ci skip]
2019-11-07 09:09:32 +01:00
Eksperimental 577797febb Copyedit the guards page (#9500) 2019-11-07 00:36:41 +01:00
Wojtek Mach c16cc7aa9d Link defguard/1 and defguardp/1 (#9501) 2019-11-06 23:18:17 +01:00
Eksperimental b169129315 Minor corrections to recently introduced changes in Guards page (#9499)
[ci skip]
2019-11-06 19:03:14 +01:00
José Valim 49d865b1a0 Ensure reassigned variables are properly carried forward 2019-11-06 19:00:36 +01:00
Vladimir Gorej 19f8951836 Fix a typo in Calendar docs (#9498) 2019-11-06 17:47:54 +01:00
Eric Meadows-Jönsson 8dbb3c7d92 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 9a145026eb 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 463b5d0888 Clarify evaluation rules for guards, closes #9495 2019-11-06 08:45:21 +01:00