canonical / canonical/wlcs

Throwing from a proxy-op handler is undefined behaviour

Open
#409 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
61
Forks
15
PR merge metrics
No merged PRs in 30d

Description

It's an undocumented requirement that the functor passed to `proxy->register_op()` must be `noexcept` or we might unwind across an `extern "C"` boundary.

This should be fixed, either by documenting it or by removing the `noexcept` requirement.

Contributor guide

No contributing guide indexed for this repository

Research direction

Locate the declaration and implementation of proxy-register_op and inspect how its functor crosses the extern "C" boundary. Determine whether the requirement should be documented or the noexcept restriction removed, then add or update coverage for a throwing handler and verify the resulting behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.