-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
feat: get rid of lifetime GATs #5478
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🫡 c8bc881
bb4a972
to
382ca11
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
end of an era 🫡
/// Sealed trait to limit the implementors of the Database trait. | ||
pub trait Sealed: Sized {} | ||
#[allow(missing_debug_implementations)] | ||
pub struct Bounds<T>(T); | ||
impl<T> Sealed for Bounds<T> {} | ||
|
||
impl<DB: Database> Sealed for &DB {} | ||
impl<DB: Database> Sealed for Arc<DB> {} | ||
impl Sealed for DatabaseEnv {} | ||
impl Sealed for DatabaseMock {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any good reason to keep this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just to retain total control, but can be removed imo
blocked by #5476collapsed GAT traits into the traits that inherited those