The main change was that yield_ is now only available for Scope<'scope, 'static, ...>. Is replacement for Scope<'scope, 'a, ...> is yield_unsafe, but the safety requirements are hard to evaluate, not having written this code. So now we call yield_with, because we didn't need the return value anyway (which is "the current para", whatever that means) and it's not unsafe.
The resulting code has one fewer compiler fence, which may have a very slight perf bonus but I don't think you'll be able to measure it.
Supersedes #157.
The main change was that
yield_
is now only available forScope<'scope, 'static, ...>
. Is replacement forScope<'scope, 'a, ...>
isyield_unsafe
, but the safety requirements are hard to evaluate, not having written this code. So now we callyield_with
, because we didn't need the return value anyway (which is "the current para", whatever that means) and it's not unsafe.The resulting code has one fewer compiler fence, which may have a very slight perf bonus but I don't think you'll be able to measure it.