Determine if types behind trait objects affect stability #96
seanmonstar
started this conversation in
API Guidelines
Replies: 2 comments
-
See also: #162 |
Beta Was this translation helpful? Give feedback.
0 replies
-
I'm of the opinion that it is indeed part of the public API, as things would not behave the same. Semver isn't supposed to be about whether the program still builds. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The specific case I have in mind is
&Error + Send + Sync + 'static
. A user can downcast the trait object, and if it were an error from an unstable crate, does that violate the stability guarantee. The stable crate changing it's internal dependency wouldn't cause end users' program to stop compiling, but instead to just silently stop catching the expected error.For an example: since a
reqwest:Error
could contain ahyper::Error
, which isn't stable yet, should the stable crate expose a trait object containing the unstable type?Specifically for
Error
, if it is determined that this violates stability, should those unstable errors not be returned at all?Beta Was this translation helpful? Give feedback.
All reactions