Is there a reason iolist_size/1 is not a guard BIF like length/1, byte_size/1 and bit_size/1?
Cheers,
Mark
Is there a reason iolist_size/1 is not a guard BIF like length/1, byte_size/1 and bit_size/1?
Cheers,
Mark
There are a couple of strict and some not-so-strict rules that decide whether something should be a guard BIF or not.
iodata()
)iolist_size/1
breaks rule #3 and #4, so therefore it should not be a guard bif.
There used to be a technical reason for iolist_size/1
to not be a guard bif, but that limitation was removed a couple of releases ago.