no function clause matching became no case clause matching exception
Mon Dec 13 09:46:14 CET 2021
On Fri, Dec 10, 2021 at 3:52 PM Frans Schneider <fchschneider@REDACTED> wrote:
> The following list comprehension used to give a no function clause
> matching exception in previous version of Erlang. Now it will emit a no
> case clause matching exception. Is this expected behavior?
> [(fun(a) -> "a" end)(R) || R <- [a, b, c]]
It is an unintended consequence of the change that Peti Gömöri
mentioned (inlining of funs).
It is not a bug, because exactly which type of exception an error will
raise is not documented. Furthermore, we don't recommend matching
error reasons or stack traces (with the exception of the reason
'undef'; see the Warning box in
That said, the 'case_clause' exception is confusing, and we might fix
that in some future release, but not in OTP 24.
Björn Gustavsson, Erlang/OTP, Ericsson AB
More information about the erlang-questions