Module

Typespec

Changes by version

Elixir 1.5.1

· 1 change

Bugfix Tool: Elixir

Ensure typespecs allow tuple to be used as variable names

Elixir 1.5.0

· 1 change

Enhancement Tool: Elixir

char_list/0 type is deprecated in favor of charlist/0

Elixir 1.3.0

· 4 changes

Enhancement Tool: Elixir

Add support for %{required(foo) => bar} and %{optional(foo) => bar} forms (Erlang 19 only)

Enhancement Tool: Elixir

Add support for @optional_callbacks to mark certain that certain callbacks may be optionally implemented

Enhancement Tool: Elixir

Introduce %{...} to mean any map (Erlang 19 only)

Enhancement Tool: Elixir

char_list is soft-deprecated in favor of charlist

Elixir 1.2.6

· 1 change

Bugfix Tool: Elixir

Correctly support <<_::size, _::_*unit>> syntax

Elixir 0.14.3

· 3 changes

Enhancement Tool: Elixir

Allow %Struct{} syntax to be used in typespecs

Enhancement Tool: Elixir

Allow record(:record, fields) syntax to be used in typespecs

Enhancement Tool: Elixir

Fix a bug where the list typespec was incorrectly rendered as []

Elixir 0.14.2

· 1 change

Enhancement Tool: Elixir

Delay typespec compilation to after expansion

Elixir 0.12.1

· 2 changes

Enhancement Tool: Elixir

Fix conversion of unary ops from typespec format to ast

Enhancement Tool: Elixir

Fix handling of tuple() and {}

Elixir 0.12.0

· 1 change

Enhancement Tool: Elixir

when clauses were moved to the outer part of the spec and should be in the keywords format. So add(a, b) when is_subtype(a, integer) and is_subtype(b, integer) :: integer should now be written as add(a, b) :: integer when a: integer, b: integer

Elixir 0.10.3

· 1 change

Enhancement Tool: Bug fixes

Guarantee typespecs error reports point to the proper line

Elixir 0.10.0

· 1 change

Enhancement Tool: Elixir

Improve error messages to contain file, line and the typespec itself