std_traits/reference.rs
1use crate::primitive::Primitive;
2
3pub trait Reference: Primitive + Sized {
4 fn as_ref(&self) -> &Self;
5}
6
7impl<T: ?Sized> Primitive for &T {}
8impl<T: ?Sized> Reference for &T {
9 fn as_ref(&self) -> &Self {
10 self
11 }
12}
13impl<T: ?Sized> Primitive for &mut T {}
14impl<T: ?Sized> Reference for &mut T {
15 fn as_ref(&self) -> &Self {
16 self
17 }
18}