-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make error types usable in more contexts #1297
Comments
joshlf
added a commit
that referenced
this issue
May 18, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Makes progress on #1297
joshlf
added a commit
that referenced
this issue
May 18, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Makes progress on #1297
joshlf
added a commit
that referenced
this issue
May 18, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Makes progress on #1297
joshlf
added a commit
that referenced
this issue
May 18, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Makes progress on #1297
joshlf
added a commit
that referenced
this issue
May 18, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Also make all errors `Send + Sync` regardless of `Dst`, which only exists at the type level, but is never instantiated. Makes progress on #1297
joshlf
added a commit
that referenced
this issue
May 18, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Also make all errors `Send + Sync` regardless of `Dst`, which only exists at the type level, but is never instantiated. Makes progress on #1297
joshlf
added a commit
that referenced
this issue
May 18, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Also make all errors `Send + Sync` regardless of `Dst`, which only exists at the type level, but is never instantiated. Makes progress on #1297
joshlf
added a commit
that referenced
this issue
May 18, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Also make all errors `Send + Sync` regardless of `Dst`, which only exists at the type level, but is never instantiated. Makes progress on #1297
joshlf
added a commit
that referenced
this issue
May 18, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Also make all errors `Send + Sync` regardless of `Dst`, which only exists at the type level, but is never instantiated. Makes progress on #1297
joshlf
added a commit
that referenced
this issue
May 18, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Also make all errors `Send + Sync` regardless of `Dst`, which only exists at the type level, but is never instantiated. Makes progress on #1297
jswrenn
pushed a commit
that referenced
this issue
May 18, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Also make all errors `Send + Sync` regardless of `Dst`, which only exists at the type level, but is never instantiated. Makes progress on #1297
joshlf
added
the
blocking-next-release
This issue should be resolved before we release on crates.io
label
May 30, 2024
joshlf
added a commit
that referenced
this issue
Jun 24, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Also make all errors `Send + Sync` regardless of `Dst`, which only exists at the type level, but is never instantiated. Finally, make `Display`'s verbosity conditional on `debug_assertions`. Makes progress on #1297 Co-authored-by: John Wrenn <[email protected]>
joshlf
added a commit
that referenced
this issue
Jun 24, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Also make all errors `Send + Sync` regardless of `Dst`, which only exists at the type level, but is never instantiated. Finally, make `Display`'s verbosity conditional on `debug_assertions`. Makes progress on #1297 Co-authored-by: John Wrenn <[email protected]>
joshlf
added a commit
that referenced
this issue
Jun 24, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Also make all errors `Send + Sync` regardless of `Dst`, which only exists at the type level, but is never instantiated. Finally, make `Display`'s verbosity conditional on `debug_assertions`. Makes progress on #1297 Co-authored-by: John Wrenn <[email protected]>
joshlf
added a commit
that referenced
this issue
Jun 24, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Also make all errors `Send + Sync` regardless of `Dst`, which only exists at the type level, but is never instantiated. Finally, make `Display`'s verbosity conditional on `debug_assertions`. Makes progress on #1297 Co-authored-by: John Wrenn <[email protected]>
github-merge-queue bot
pushed a commit
that referenced
this issue
Jun 26, 2024
While we're here, also relax `Dispaly for AlignmentError<Src, Dst>` to permit `Dst: ?Sized` in exchange for `Dst: KnownLayout`. This is an important relaxation since our APIs permit performing conversions into unsized destination types with runtime alignment checking. Also make all errors `Send + Sync` regardless of `Dst`, which only exists at the type level, but is never instantiated. Finally, make `Display`'s verbosity conditional on `debug_assertions`. Makes progress on #1297 Co-authored-by: John Wrenn <[email protected]>
joshlf
added
blocking-next-release-publicization
and removed
blocking-next-release
This issue should be resolved before we release on crates.io
labels
Jul 1, 2024
jswrenn
added a commit
that referenced
this issue
Sep 19, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Per #1288 (comment):
Implementing
std::error::Error
is implemented in #1298.Supporting
Send + Sync
may be harder, since the containedSrc
type may not beSend
orSync
. We may need to provide a way to discard theSrc
type, and we will need to consider how discoverable this mechanism is for people who are encountering a trait-not-satisfied error. I could see a few options:Error<Src> -> Error<()>
conversiontype Foo = Error<()>
so that type signatures are cleanerDst
right now)The text was updated successfully, but these errors were encountered: