13 - No Implicit Use For Function Call Arguments
From edition=13 onwards, function call arguments are no longer implicitly declared with use.
This was a rarely-used feature and was more likely to cause accidental bugs than to be useful.
What's changed?
Previously behavior:
SomethingWithASubblock(audience=that.Owner) { // implicit `use audience = ...`
PolygonSprite(...) // Receives `audience` from context. Result: BUG! Why can't I see my sprite?
}
In the code snippet above, previously the audience parameter would be implicitly declared with use
and so would affect the subblock, possibly in surprising and unintended ways.
Now the implicit use has been removed by default.
If you still want this functionality, make the use explicit:
SomethingWithASubblock(use audience=that.Owner) {
PolygonSprite(...)
}
Upgrade instructions
First, set edition=13 (or higher) in your easel.toml file:
[engine]
edition = 13