@@ -21,7 +21,7 @@ mod sealed {
2121
2222 impl < ' a , const ACCOUNTS_LEN : usize > Sealed for crate :: ConstAccounts < ' a , ACCOUNTS_LEN > { }
2323 impl < ' a > Sealed for crate :: SliceAccounts < ' a > { }
24- impl < ' a , T , Account > Sealed for crate :: Invoker < ' a , T , Account > { }
24+ impl < ' a , T , Account > Sealed for crate :: Invoker < & ' a T , Account > { }
2525 impl < T > Sealed for T where T : crate :: CanInvoke { }
2626}
2727
@@ -44,7 +44,7 @@ pub trait CanInvoke {
4444 ) -> ProgramResult ;
4545
4646 #[ inline]
47- fn as_invoker < ' a > ( & ' a self ) -> Invoker < ' a , Self , & ' a Self :: Accounts >
47+ fn as_invoker < ' a > ( & ' a self ) -> Invoker < & ' a Self , & ' a Self :: Accounts >
4848 where
4949 Self : Sized ,
5050 {
@@ -60,12 +60,12 @@ pub trait Invoke: sealed::Sealed {
6060 fn invoke_signed ( & self , signers : & [ Signer ] ) -> ProgramResult ;
6161}
6262
63- pub struct Invoker < ' a , T , Account > {
64- inner : & ' a T ,
63+ pub struct Invoker < T , Account > {
64+ inner : T ,
6565 account_ty : PhantomData < Account > ,
6666}
6767
68- impl < ' a , const ACCOUNTS_LEN : usize , T > Invoke for Invoker < ' a , T , & ConstAccounts < ' a , ACCOUNTS_LEN > >
68+ impl < ' a , const ACCOUNTS_LEN : usize , T > Invoke for Invoker < & ' a T , & ConstAccounts < ' a , ACCOUNTS_LEN > >
6969where
7070 T : CanInvoke < Accounts = ConstAccounts < ' a , ACCOUNTS_LEN > > ,
7171{
9696 }
9797}
9898
99- impl < ' a , T > Invoke for Invoker < ' a , T , & SliceAccounts < ' a > >
99+ impl < ' a , T > Invoke for Invoker < & ' a T , & SliceAccounts < ' a > >
100100where
101101 T : CanInvoke < Accounts = SliceAccounts < ' a > > ,
102102{
0 commit comments