Youssef Shoaib [MOD]
07/16/2026, 12:27 PM@RestrictsSuspension to track the local lifetime, and some type parameters to actually give a name to such lifetimes and be able to put constraints on them.CLOVIS
07/16/2026, 1:00 PM.fix was removed, if I remember correctlyCLOVIS
07/16/2026, 1:00 PMYoussef Shoaib [MOD]
07/16/2026, 1:02 PMCLOVIS
07/16/2026, 1:03 PMlocal modifier on lambdas is a very good first step, I think that's perfectly obvious. Not sure how to scale that to full blown sub-lifetime things.Youssef Shoaib [MOD]
07/16/2026, 1:07 PMlocal modifier, and a bit of _{foo} on return types, and that's that.
I'm not in love with all the syntax in the KEEP, but it's just design notes, so it's perfectly acceptable. At the very least, it's much better than the monstrosity I have to do in Kotlin right now to express the same conceptsCLOVIS
07/16/2026, 1:09 PMI'm not in love with all the syntax in the KEEP, but it's just design notes, so it's perfectly acceptable.100%. The first step of the design notes is figuring out whether it works, can be made safe, and how it interacts semantically with the rest of the language. Syntax is the 2nd step, but it's still a massive step.
CLOVIS
07/16/2026, 1:10 PMYoussef Shoaib [MOD]
07/16/2026, 1:17 PMCLOVIS
07/16/2026, 1:19 PMCLOVIS
07/16/2026, 1:20 PMCLOVIS
07/16/2026, 1:20 PMYoussef Shoaib [MOD]
07/16/2026, 1:26 PMsuspend-based DSL will now suspend itself precisely to where its "handler" is (I.e. the DSL block, like Flow), so you don't get confusion between that and e.g. launch
Finally, it also lets you pass around non-local control (I.e.basic return and also suspend, as previously mentioned), so you get Raise for free!
So basically, it eliminated use-after-free bugs, and makes your code more "compositional" and modularCLOVIS
07/16/2026, 1:29 PMCLOVIS
07/16/2026, 1:29 PMhfhbd
07/16/2026, 3:15 PMYoussef Shoaib [MOD]
07/16/2026, 3:17 PM