pub(crate) struct RunnableDocTest<'a> {
full_test_code: String,
full_test_line_offset: usize,
test_opts: &'a IndividualTestOptions,
global_opts: &'a GlobalTestOptions,
langstr: LangString,
line: usize,
edition: Edition,
no_run: bool,
merged_test_runner_code: Option<String>,
}Expand description
Information needed for running a bundle of doctests.
This data structure contains the “full” test code, including the wrappers
(if multiple doctests are merged), main function,
and everything needed to calculate the compiler’s command-line arguments.
The # prefix on boring lines has also been stripped.
Fields§
§full_test_code: StringIn a merged test, this is the code for the “bundle” that contains the actual doctests. In a standalone test this is just the regular test code.
full_test_line_offset: usize§test_opts: &'a IndividualTestOptions§global_opts: &'a GlobalTestOptions§langstr: LangString§line: usize§edition: Edition§no_run: bool§merged_test_runner_code: Option<String>If Some, this is a merged test and the string is the code for the “runner” that contains
the test harness to invoke the doctests.
Implementations§
Source§impl RunnableDocTest<'_>
impl RunnableDocTest<'_>
fn path_for_merged_doctest_bundle(&self) -> PathBuf
fn path_for_merged_doctest_runner(&self) -> PathBuf
fn is_multiple_tests(&self) -> bool
Auto Trait Implementations§
impl<'a> DynSend for RunnableDocTest<'a>
impl<'a> DynSync for RunnableDocTest<'a>
impl<'a> Freeze for RunnableDocTest<'a>
impl<'a> RefUnwindSafe for RunnableDocTest<'a>
impl<'a> Send for RunnableDocTest<'a>
impl<'a> Sync for RunnableDocTest<'a>
impl<'a> Unpin for RunnableDocTest<'a>
impl<'a> UnsafeUnpin for RunnableDocTest<'a>
impl<'a> UnwindSafe for RunnableDocTest<'a>
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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> ⓘ
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§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 216 bytes