RepoJournal
Elixir & Phoenix

Elixir & Phoenix

Elixir, Phoenix, LiveView, and Ecto - the BEAM web stack

Keep up with Elixir & Phoenix in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

One email a day. Unsubscribe in one click.

Pick a date

Topics: Elixir & Phoenix Full archive →

The Wire · Showcase

ELIXIR FIXES PATTERN MATCHING OPTIMIZATION AND EXUNIT SPEC BUGS

By RepoJournal · Filed · About Elixir & Phoenix

1 person shipped this

The Elixir compiler now optimizes `x in []` pattern matching to compile directly to `false` instead of calling lists.member, while ExUnit's capture_log spec finally forbids the crash-inducing `formatter: nil` option that was never actually supported.

The most impactful fix lands in the core compiler [1], where pattern matching against empty lists now inlines during the Erlang pass instead of generating a runtime lists.member call. This closes a long-standing optimization gap and follows the same approach used in earlier compiler work. Meanwhile, ExUnit's capture_log just had its spec corrected [2] to accurately reflect that `formatter: nil` was never a valid option, even though the code would crash if you passed it. The same PR fixes the underlying issue in capture_server.ex so the option now properly rejects nil values. Documentation also got its due diligence: signal handling docs [3] now correctly note that SIGSTOP is untrappable on POSIX systems and SIGTERM is properly trapped, aligning with the actual erl_signal_handler implementation. A minor typo in JSON.Encoder's moduledoc rounds out the batch.

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] Inline in empty list in erlang pass ↗ elixir-lang/elixir
  2. [2] Fix spec of ex_unit capture_log options (#15417) elixir-lang/elixir
  3. [3] Fix trapped signal documentation (#15415) elixir-lang/elixir

Quick answers

What shipped in Elixir & Phoenix on May 24, 2026?
The Elixir compiler now optimizes `x in []` pattern matching to compile directly to `false` instead of calling lists.member, while ExUnit's capture_log spec finally forbids the crash-inducing `formatter: nil` option that was never actually supported. In total, 4 commits and 4 pull requests landed.
Who contributed to Elixir & Phoenix on May 24, 2026?
1 developer shipped this update, including sabiwara.
What were the notable Elixir & Phoenix updates?
Inline in empty list in erlang pass, Fix spec of ex_unit capture_log options (#15417), and Fix trapped signal documentation (#15415).

More from Elixir & Phoenix

Daily updates, in your inbox

Follow Elixir & Phoenix

Keep up with Elixir & Phoenix in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?