pub trait Sysvar:
SysvarId
+ Default
+ Sized
+ Serialize
+ DeserializeOwned {
// Provided methods
fn size_of() -> usize { ... }
fn from_account_info(
account_info: &AccountInfo<'_>,
) -> Result<Self, ProgramError> { ... }
fn to_account_info(&self, account_info: &mut AccountInfo<'_>) -> Option<()> { ... }
fn get() -> Result<Self, ProgramError> { ... }
}
Provided Methods§
fn size_of() -> usize
Sourcefn from_account_info(
account_info: &AccountInfo<'_>,
) -> Result<Self, ProgramError>
fn from_account_info( account_info: &AccountInfo<'_>, ) -> Result<Self, ProgramError>
Deserializes a sysvar from its AccountInfo
.
§Errors
If account_info
does not have the same ID as the sysvar
this function returns ProgramError::InvalidArgument
.
fn to_account_info(&self, account_info: &mut AccountInfo<'_>) -> Option<()>
fn get() -> Result<Self, ProgramError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.