Skip to content

Commit 0ac779e

Browse files
committed
refactor(access): specify RestrictShared via RestrictAccess
Signed-off-by: Martin Kröning <[email protected]>
1 parent 5c5439b commit 0ac779e

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

src/access.rs

+5-7
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ pub trait Readable: Copy + Default + private::Sealed {
5959
type RestrictShared: Readable + Access;
6060
}
6161
impl<A: RestrictAccess<ReadOnly, Restricted = ReadOnly>> Readable for A {
62-
type RestrictShared = ReadOnly;
62+
type RestrictShared = <Self as RestrictAccess<ReadOnly>>::Restricted;
6363
}
6464

6565
/// Helper trait that is implemented by [`ReadWrite`] and [`WriteOnly`].
@@ -74,30 +74,28 @@ impl<A: RestrictAccess<ReadOnly, Restricted = Self>> Copyable for A {}
7474
#[derive(Debug, Default, Copy, Clone)]
7575
pub struct ReadWrite;
7676
impl Access for ReadWrite {
77-
#[allow(deprecated)]
78-
type RestrictShared = <Self as Readable>::RestrictShared;
77+
type RestrictShared = <Self as RestrictAccess<ReadOnly>>::Restricted;
7978
}
8079

8180
/// Zero-sized marker type for allowing only read access.
8281
#[derive(Debug, Default, Copy, Clone)]
8382
pub struct ReadOnly;
8483
impl Access for ReadOnly {
85-
#[allow(deprecated)]
86-
type RestrictShared = <Self as Readable>::RestrictShared;
84+
type RestrictShared = <Self as RestrictAccess<ReadOnly>>::Restricted;
8785
}
8886

8987
/// Zero-sized marker type for allowing only write access.
9088
#[derive(Debug, Default, Copy, Clone)]
9189
pub struct WriteOnly;
9290
impl Access for WriteOnly {
93-
type RestrictShared = NoAccess;
91+
type RestrictShared = <Self as RestrictAccess<ReadOnly>>::Restricted;
9492
}
9593

9694
/// Zero-sized marker type that grants no access.
9795
#[derive(Debug, Default, Copy, Clone)]
9896
pub struct NoAccess;
9997
impl Access for NoAccess {
100-
type RestrictShared = NoAccess;
98+
type RestrictShared = <Self as RestrictAccess<ReadOnly>>::Restricted;
10199
}
102100

103101
mod private {

0 commit comments

Comments
 (0)