rust: types: make doctests compilable/testable

Rust documentation tests are going to be build/run-tested
with the KUnit integration added in a future patch, thus
update them to make them compilable/testable so that we
may start enforcing it.

Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Reviewed-by: David Gow <davidgow@google.com>
Reviewed-by: Björn Roy Baron <bjorn3_gh@protonmail.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
Miguel Ojeda 2023-07-18 07:27:50 +02:00 committed by Shuah Khan
parent bfa7dff036
commit ed615fb8ee

View file

@ -109,7 +109,7 @@ impl ForeignOwnable for () {
/// In the example below, we have multiple exit paths and we want to log regardless of which one is /// In the example below, we have multiple exit paths and we want to log regardless of which one is
/// taken: /// taken:
/// ``` /// ```
/// # use kernel::ScopeGuard; /// # use kernel::types::ScopeGuard;
/// fn example1(arg: bool) { /// fn example1(arg: bool) {
/// let _log = ScopeGuard::new(|| pr_info!("example1 completed\n")); /// let _log = ScopeGuard::new(|| pr_info!("example1 completed\n"));
/// ///
@ -127,7 +127,7 @@ impl ForeignOwnable for () {
/// In the example below, we want to log the same message on all early exits but a different one on /// In the example below, we want to log the same message on all early exits but a different one on
/// the main exit path: /// the main exit path:
/// ``` /// ```
/// # use kernel::ScopeGuard; /// # use kernel::types::ScopeGuard;
/// fn example2(arg: bool) { /// fn example2(arg: bool) {
/// let log = ScopeGuard::new(|| pr_info!("example2 returned early\n")); /// let log = ScopeGuard::new(|| pr_info!("example2 returned early\n"));
/// ///
@ -148,7 +148,7 @@ impl ForeignOwnable for () {
/// In the example below, we need a mutable object (the vector) to be accessible within the log /// In the example below, we need a mutable object (the vector) to be accessible within the log
/// function, so we wrap it in the [`ScopeGuard`]: /// function, so we wrap it in the [`ScopeGuard`]:
/// ``` /// ```
/// # use kernel::ScopeGuard; /// # use kernel::types::ScopeGuard;
/// fn example3(arg: bool) -> Result { /// fn example3(arg: bool) -> Result {
/// let mut vec = /// let mut vec =
/// ScopeGuard::new_with_data(Vec::new(), |v| pr_info!("vec had {} elements\n", v.len())); /// ScopeGuard::new_with_data(Vec::new(), |v| pr_info!("vec had {} elements\n", v.len()));