pub struct SelfModifier { /* private fields */ }Expand description
Manages self-modification proposals. Nothing is applied without approval.
Implementations§
Source§impl SelfModifier
impl SelfModifier
pub fn new() -> Self
Sourcepub fn propose(&self, kind: ProposalKind, reason: String) -> usize
pub fn propose(&self, kind: ProposalKind, reason: String) -> usize
Submit a proposal. Returns the proposal ID.
Sourcepub fn approve(&self, id: usize) -> bool
pub fn approve(&self, id: usize) -> bool
Approve a pending proposal. Returns true if it was pending.
Sourcepub fn reject(&self, id: usize) -> bool
pub fn reject(&self, id: usize) -> bool
Reject a pending proposal. Returns true if it was pending.
Sourcepub fn mark_applied(&self, id: usize) -> bool
pub fn mark_applied(&self, id: usize) -> bool
Mark an approved proposal as applied. Returns true if it was approved.
pub fn pending_proposals(&self) -> Vec<Proposal>
pub fn get(&self, id: usize) -> Option<Proposal>
pub fn proposal_count(&self) -> usize
pub fn pending_count(&self) -> usize
pub fn audit_entries(&self) -> Vec<AuditEntry>
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for SelfModifier
impl RefUnwindSafe for SelfModifier
impl Send for SelfModifier
impl Sync for SelfModifier
impl Unpin for SelfModifier
impl UnsafeUnpin for SelfModifier
impl UnwindSafe for SelfModifier
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.