Closed novusnota closed 3 days ago
This modified contract fails to compile:
message(0b101010) Binary {}
message(0o52) Octal {}
contract Example {
receive(msg: Binary) { }
receive(msg: Octal) { }
}
Here is the error message:
Tact compilation failed
Error: Invalid allocation: Binary
Interesting, so we do recognize that 0b101010
and 0o52
are the same number when it comes to receivers
It was a parsing issue
Consider the following snippet:
This will produce (apart from other things) those snippets in
tact_Example.storage.fc
:Meanwhile, specifying the integer header in decimal with or without a leading zero, or in hexadecimal
0x2a
works fine — the resulting header in FunC matches the specified value. Notice, that having any fields in those Messages doesn't affect this issue.