Not sure if there is a particular reason that it doesn't? (Nor am I sure if I understand enough to grasp the consequences, no_std?, but see tokio-rs/tracing#3033 (review) for context.)
Anyway, to me it seems like this can be a good thing for more cases and may be easier than creating another error type?