errors.As calls SignalError.As when it cannot match the concrete type
directly, e.g. for `var target SignalError; errors.As(err, &target)`.
The previous implementation matched target's type and returned true
but never wrote to it, so callers got a successful errors.As result
with a zero-valued SignalError and no indication the signal was lost.
Add a regression test asserting the target is actually populated.
errors.As calls SignalError.As when it cannot match the concrete type
directly, e.g. for `var target SignalError; errors.As(err, &target)`.
The previous implementation matched target's type and returned true
but never wrote to it, so callers got a successful errors.As result
with a zero-valued SignalError and no indication the signal was lost.
Add a regression test asserting the target is actually populated.