manifest/state/
dynamic_account.rs1#[derive(Clone)]
2pub struct DynamicAccount<Fixed, Dynamic> {
3 pub fixed: Fixed,
4 pub dynamic: Dynamic,
5}
6
7pub trait DerefOrBorrow<T: ?Sized> {
8 fn deref_or_borrow(&self) -> &T;
9}
10
11impl<T: ?Sized> DerefOrBorrow<T> for T {
12 fn deref_or_borrow(&self) -> &T {
13 self
14 }
15}
16
17impl<T: ?Sized> DerefOrBorrow<T> for &T {
18 fn deref_or_borrow(&self) -> &T {
19 self
20 }
21}
22
23impl<T: ?Sized> DerefOrBorrow<T> for &mut T {
24 fn deref_or_borrow(&self) -> &T {
25 self
26 }
27}
28
29impl<T: Sized> DerefOrBorrow<[T]> for Vec<T> {
30 fn deref_or_borrow(&self) -> &[T] {
31 self
32 }
33}
34
35pub trait DerefOrBorrowMut<T: ?Sized> {
36 fn deref_or_borrow_mut(&mut self) -> &mut T;
37}
38
39impl<T: ?Sized> DerefOrBorrowMut<T> for &mut T {
40 fn deref_or_borrow_mut(&mut self) -> &mut T {
41 self
42 }
43}
44
45impl<T: ?Sized> DerefOrBorrowMut<T> for T {
46 fn deref_or_borrow_mut(&mut self) -> &mut T {
47 self
48 }
49}
50
51impl<T: Sized> DerefOrBorrowMut<[T]> for Vec<T> {
52 fn deref_or_borrow_mut(&mut self) -> &mut [T] {
53 self
54 }
55}