Elixir v1.20 release candidate introduces type inference for all language constructs, marking progress toward a sound, gradual, set-theoretic type system. The release performs inference on patterns, guards, function calls, and expressions without requiring code changes. Three release candidates are planned through May 2026, progressively adding inference across clauses and dependencies. The type system uses dynamic() instead of any(), enabling warnings even with runtime types. Future milestones include typed structs and type signatures, with full implementation expected over the next 15 months through v1.22.

10m read timeFrom elixir-lang.org
Post cover image
Table of contents
Types, in my Elixir?Inference across Elixir releasesInference of guardsThe next ~15 weeksThe next ~15 monthsWrapping up

Sort: