pub struct DeriveExamplePackSpec<'a, T: CompileToCrate + ?Sized> {
pub derive_crate_name: String,
pub trait_name: String,
pub spec: &'a T,
pub extra_consumer_imports: Vec<String>,
pub auxiliary_trait_crates: Vec<(String, String)>,
pub examples: Vec<Example>,
}Expand description
An example pack — a derive Spec + N worked examples.
Fields§
§derive_crate_name: String§trait_name: StringThe trait/derive identifier the consumer writes as #[derive(...)].
spec: &'a TThe derive Spec under test.
extra_consumer_imports: Vec<String>Imports the consumer needs in addition to the derive crate — e.g.
"use my_trait::Marker;" when the derive emits an impl whose
trait lives outside the derive crate. One per line.
auxiliary_trait_crates: Vec<(String, String)>Trait crates the consumer also needs. Path-deps in the consumer
Cargo.toml. Each tuple is (crate_name, src_lib_rs_contents).
examples: Vec<Example>The worked examples.
Implementations§
Source§impl<'a, T: CompileToCrate + ?Sized> DeriveExamplePackSpec<'a, T>
impl<'a, T: CompileToCrate + ?Sized> DeriveExamplePackSpec<'a, T>
Auto Trait Implementations§
impl<'a, T> Freeze for DeriveExamplePackSpec<'a, T>where
T: ?Sized,
impl<'a, T> RefUnwindSafe for DeriveExamplePackSpec<'a, T>where
T: RefUnwindSafe + ?Sized,
impl<'a, T> Send for DeriveExamplePackSpec<'a, T>
impl<'a, T> Sync for DeriveExamplePackSpec<'a, T>
impl<'a, T> Unpin for DeriveExamplePackSpec<'a, T>where
T: ?Sized,
impl<'a, T> UnsafeUnpin for DeriveExamplePackSpec<'a, T>where
T: ?Sized,
impl<'a, T> UnwindSafe for DeriveExamplePackSpec<'a, T>where
T: RefUnwindSafe + ?Sized,
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