pub struct Problem<State: CheckingState> {Show 14 fields
pub sub_problem: bool,
pub uri: DocumentElementURI,
pub range: DocumentRange,
pub autogradable: bool,
pub points: Option<f32>,
pub solutions: LazyDocRef<Solutions>,
pub gnotes: State::Seq<LazyDocRef<GradingNote>>,
pub hints: State::Seq<DocumentRange>,
pub notes: State::Seq<LazyDocRef<Box<str>>>,
pub title: Option<DocumentRange>,
pub children: State::Seq<DocumentElement<State>>,
pub styles: Box<[Name]>,
pub preconditions: State::Seq<(CognitiveDimension, SymbolURI)>,
pub objectives: State::Seq<(CognitiveDimension, SymbolURI)>,
}
Fieldsยง
ยงsub_problem: bool
ยงuri: DocumentElementURI
ยงrange: DocumentRange
ยงautogradable: bool
ยงpoints: Option<f32>
ยงsolutions: LazyDocRef<Solutions>
ยงgnotes: State::Seq<LazyDocRef<GradingNote>>
ยงhints: State::Seq<DocumentRange>
ยงnotes: State::Seq<LazyDocRef<Box<str>>>
ยงtitle: Option<DocumentRange>
ยงchildren: State::Seq<DocumentElement<State>>
ยงstyles: Box<[Name]>
ยงpreconditions: State::Seq<(CognitiveDimension, SymbolURI)>
ยงobjectives: State::Seq<(CognitiveDimension, SymbolURI)>
Trait Implementationsยง
Sourceยงimpl<State: Debug + CheckingState> Debug for Problem<State>where
State::Seq<LazyDocRef<GradingNote>>: Debug,
State::Seq<DocumentRange>: Debug,
State::Seq<LazyDocRef<Box<str>>>: Debug,
State::Seq<DocumentElement<State>>: Debug,
State::Seq<(CognitiveDimension, SymbolURI)>: Debug,
impl<State: Debug + CheckingState> Debug for Problem<State>where
State::Seq<LazyDocRef<GradingNote>>: Debug,
State::Seq<DocumentRange>: Debug,
State::Seq<LazyDocRef<Box<str>>>: Debug,
State::Seq<DocumentElement<State>>: Debug,
State::Seq<(CognitiveDimension, SymbolURI)>: Debug,
Sourceยงimpl<'de> Deserialize<'de> for Problem<Unchecked>
Available on crate feature serde
only.
impl<'de> Deserialize<'de> for Problem<Unchecked>
Available on crate feature
serde
only.Sourceยงfn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
Sourceยงimpl NarrationTrait for Problem<Checked>
impl NarrationTrait for Problem<Checked>
fn children(&self) -> &[DocumentElement<Checked>]
fn from_element(e: &DocumentElement<Checked>) -> Option<&Self>where
Self: Sized,
fn find<T: NarrationTrait>(&self, steps: &[NameStep]) -> Option<&T>
Auto Trait Implementationsยง
impl<State> Freeze for Problem<State>where
<State as CheckingState>::Seq<LazyDocRef<GradingNote>>: Freeze,
<State as CheckingState>::Seq<DocumentRange>: Freeze,
<State as CheckingState>::Seq<LazyDocRef<Box<str>>>: Freeze,
<State as CheckingState>::Seq<DocumentElement<State>>: Freeze,
<State as CheckingState>::Seq<(CognitiveDimension, SymbolURI)>: Freeze,
impl<State> RefUnwindSafe for Problem<State>where
<State as CheckingState>::Seq<LazyDocRef<GradingNote>>: RefUnwindSafe,
<State as CheckingState>::Seq<DocumentRange>: RefUnwindSafe,
<State as CheckingState>::Seq<LazyDocRef<Box<str>>>: RefUnwindSafe,
<State as CheckingState>::Seq<DocumentElement<State>>: RefUnwindSafe,
<State as CheckingState>::Seq<(CognitiveDimension, SymbolURI)>: RefUnwindSafe,
impl<State> Send for Problem<State>where
<State as CheckingState>::Seq<LazyDocRef<GradingNote>>: Send,
<State as CheckingState>::Seq<DocumentRange>: Send,
<State as CheckingState>::Seq<LazyDocRef<Box<str>>>: Send,
<State as CheckingState>::Seq<DocumentElement<State>>: Send,
<State as CheckingState>::Seq<(CognitiveDimension, SymbolURI)>: Send,
impl<State> Sync for Problem<State>where
<State as CheckingState>::Seq<LazyDocRef<GradingNote>>: Sync,
<State as CheckingState>::Seq<DocumentRange>: Sync,
<State as CheckingState>::Seq<LazyDocRef<Box<str>>>: Sync,
<State as CheckingState>::Seq<DocumentElement<State>>: Sync,
<State as CheckingState>::Seq<(CognitiveDimension, SymbolURI)>: Sync,
impl<State> Unpin for Problem<State>where
<State as CheckingState>::Seq<LazyDocRef<GradingNote>>: Unpin,
<State as CheckingState>::Seq<DocumentRange>: Unpin,
<State as CheckingState>::Seq<LazyDocRef<Box<str>>>: Unpin,
<State as CheckingState>::Seq<DocumentElement<State>>: Unpin,
<State as CheckingState>::Seq<(CognitiveDimension, SymbolURI)>: Unpin,
impl<State> UnwindSafe for Problem<State>where
<State as CheckingState>::Seq<LazyDocRef<GradingNote>>: UnwindSafe,
<State as CheckingState>::Seq<DocumentRange>: UnwindSafe,
<State as CheckingState>::Seq<LazyDocRef<Box<str>>>: UnwindSafe,
<State as CheckingState>::Seq<DocumentElement<State>>: UnwindSafe,
<State as CheckingState>::Seq<(CognitiveDimension, SymbolURI)>: UnwindSafe,
Blanket Implementationsยง
ยงimpl<T> ArchivePointee for T
impl<T> ArchivePointee for T
ยงtype ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
ยงfn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
ยงimpl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
ยงfn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
ยงimpl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
ยงfn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.ยงfn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.ยงfn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
โs vtable from &Trait
โs.ยงfn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
โs vtable from &mut Trait
โs.ยงimpl<T> DowncastSend for T
impl<T> DowncastSend for T
ยงimpl<T> DowncastSync for T
impl<T> DowncastSync for T
Sourceยงimpl<T> Hexable for Twhere
T: Serialize + for<'de> Deserialize<'de>,
impl<T> Hexable for Twhere
T: Serialize + for<'de> Deserialize<'de>,
ยงimpl<T> Instrument for T
impl<T> Instrument for T
ยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
ยง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 more