Confirmed. With compilation, the behaviour changed somewhere between 23.0.3:
$ erl
Erlang/OTP 23 [erts-11.0.3] [source] [64-bit] [smp:12:12]
[ds:12:12:10] [async-threads:1]
Eshell V11.0.3 (abort with ^G)
1> c(t).
t.erl:2: Warning: export_all flag enabled - all functions will be exported
{ok,t}
2> t:t().
** exception error: no function clause matching t:'-t/0-fun-1-'(b)
(t.erl, line 4)
in function t:'-t/0-lc$^0/1-0-'/1 (t.erl, line 4)
in call from t:'-t/0-lc$^0/1-0-'/1 (t.erl, line 4)
...and 24.1.7:
$ source ~/.kerl/erlangs/OTP-24.1.7/activate
$ erl
Erlang/OTP 24 [erts-12.1.5] [source] [64-bit] [smp:12:12]
[ds:12:12:10] [async-threads:1] [jit]
Eshell V12.1.5 (abort with ^G)
1> c(t).
t.erl:2:2: Warning: export_all flag enabled - all functions will be exported
% 2| -compile(export_all).
% | ^
{ok,t}
2> t:t().
** exception error: no case clause matching {b}
in function t:'-t/0-lc$^0/1-0-'/1 (t.erl, line 4)
in call from t:'-t/0-lc$^0/1-0-'/1 (t.erl, line 4)