it seems that the newly-added typed throws variant of withTaskCancellationHandler uses the (also relatively new) builtins for task{Add|Remove}CancellationHandler. however, the other version of that function now contains conditional logic to only use the builtins based on a feature flag being enabled (BuiltinConcurrencyStackNesting). AFAICT the feature flag isn't enabled anywhere (though i could be wrong about this), so wondering if this might be a bug or if the difference is intentional/immaterial.
This looks like an accidental omission? [concurrency] Hide Concurrency StackNesting builtins behind a feature… · swiftlang/swift@7b9281f · GitHub was to resolve a condfail issue but wasn't applied to all places consistently it seems.
Here's a follow up: [Concurrency] Fix condfail since missing builtin call guard by ktoso · Pull Request #87272 · swiftlang/swift · GitHub
2 Likes
It actually wasn't an accidental omission. Code was added later after my fixes landed that re-exposed the cond_fail. We should just fix this.
1 Like
Thanks for confirming, landing that fixup then ![]()