Type.builtin/1and switches to macros for each type.
Type.builtin/1which can serve as bridging functionality.
- changes union behaviour to ignore
t:none(), with an opt-in for explicitness
- adds merging behaviour for bitstrings and functions
- adds essays on deviations from erlang and Elixir
Type.normalize/1which takes deviations and conforms them to dialyzer forms.
- removes inferred field on
- supports pinned types on top of min-arity tuples, changes tuple struct implementation for these combined purposes.
non_neg_integer()from a true builtin to an aliased builtin.
integer()from a true builtin to an aliased builtin
- fixes tuple union merging rules and makes function union merging rules
- changes how
t:Type.Tuple.t/1works, by introducing minimum arity tuples
- makes inspecting types that could be confused as native terms less precarious
by using parallelism with
- overhaul of how union merging works
Type.fetch_type/3use a sane call pattern
- support for types of multiply-specced functions
- support for composed type module pipelines
- doc improvements contributed by @mbuhot and @kianmeng
- remove lambda examples from tests
- add better support for aliased/composite builtins
- better intro documentation
- support for fictional
String.t/1type; this will probably be pulled out into a plugin in the future.
initial push, with full functionality across most of elixir standard library