Skip to content

Merge upstream#1698

Merged
EmelyanenkoK merged 12 commits intotestnetfrom
master
Jun 1, 2025
Merged

Merge upstream#1698
EmelyanenkoK merged 12 commits intotestnetfrom
master

Conversation

@EmelyanenkoK
Copy link
Member

No description provided.

tolk-vm and others added 12 commits May 28, 2025 14:42
Allow a variable be unassigned at declaration
if it is definitely assigned before the first usage
It holds internal/external/none addresses.
It's a slice at runtime, but a dedicated type
from the type system point of view.
Auto-serialization will easily pack/unpack it.
Operators == and != work on addresses.
This will help to create snake structs like
> struct Snake {
>     data: ...;
>     next: Cell<Snake?>;
> }
When `a.method()` is unknown, show a better error:
- maybe, it's a global function
- maybe, it exists for another type
> var p: Point = {
>     y: getY(),
>     x: getX()
> }
Now, `getY` will be evaluated first,
even though `x` is declared first in a struct.
A fully working auto-serialization is made
within a big single commit.
All types are supported.
fromCell, toCell, loadAny, storeAny, etc.
Typed cells, overflow detection, error messages,
postfixes and opcodes, and more.
Now this works:
> fun inc(x: int, by: int = 1)
Will be used for serialization options.
Allow to control fromCell/toCell behavior
It's considered as "release candidate"
(although there's still a lot of work ahead)
Tolk v0.13 (Release Candidate): Auto-packing to/from cells
@EmelyanenkoK EmelyanenkoK merged commit 46db154 into testnet Jun 1, 2025
17 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants