Record definition order in R11-B0 - incompatibility

Rikard Johansson <>
Tue May 30 14:28:42 CEST 2006

Hi all, 

The example below works fine in older versions (R9C2 and R10B9 tested)
but fail to compile with R11B0.

$ /usr/local/lib/erlang-R11B0/bin/erlc rtest.erl
./rtest.erl:5: record r1 undefined

The reason is appearently to be that record r1 is referenced before it
is declared, if I swap the two definitions it compiles nicely.

Besides being questionable coding style, is there a way to make this
compile with R11 other than re-writing the code? 

-record(r2, {a=#r1{d=1}, b}).
-record(r1, {d, e}).

t(r1) ->
t(r2) ->



More information about the erlang-questions mailing list