rune-rs / rune

An embeddable dynamic programming language for Rust.
https://rune-rs.github.io
Apache License 2.0
1.7k stars 85 forks source link

First stab of flattening blocks during lowering #726

Closed udoprog closed 1 month ago

udoprog commented 2 months ago

This reworks lowering to handle one of the more complicated aspects of assembly: blocks.

This means that block assembly should only need to deal with a flat list of statements, followed by an optional expression indicating the implicit value of the block.

For now this breaks a bunch of things.