diff options
| author | Jiri Kosina <jkosina@suse.cz> | 2023-06-27 22:37:24 +0200 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2023-06-27 22:37:24 +0200 |
| commit | e80b500370e71b8cd7dd64be4080cee0a3e5068f (patch) | |
| tree | 130b5288bf5f8420482a1aaf021f2054b5687f04 /samples/rust/rust_print.rs | |
| parent | 177d591aba3838abc13968a25a3b339b420d97ca (diff) | |
| parent | 72e49cadea390556ca60fad973740ddc5587e408 (diff) | |
Merge branch 'for-6.5/apple' into for-linus
- improved support for Keychron K8 keyboard (Lasse Brun)
Diffstat (limited to 'samples/rust/rust_print.rs')
| -rw-r--r-- | samples/rust/rust_print.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/samples/rust/rust_print.rs b/samples/rust/rust_print.rs index 8b39d9cef6d1..67ed8ebf8e8e 100644 --- a/samples/rust/rust_print.rs +++ b/samples/rust/rust_print.rs @@ -15,6 +15,30 @@ module! { struct RustPrint; +fn arc_print() -> Result { + use kernel::sync::*; + + let a = Arc::try_new(1)?; + let b = UniqueArc::try_new("hello, world")?; + + // Prints the value of data in `a`. + pr_info!("{}", a); + + // Uses ":?" to print debug fmt of `b`. + pr_info!("{:?}", b); + + let a: Arc<&str> = b.into(); + let c = a.clone(); + + // Uses `dbg` to print, will move `c` (for temporary debugging purposes). + dbg!(c); + + // Pretty-prints the debug formatting with lower-case hexadecimal integers. + pr_info!("{:#x?}", a); + + Ok(()) +} + impl kernel::Module for RustPrint { fn init(_module: &'static ThisModule) -> Result<Self> { pr_info!("Rust printing macros sample (init)\n"); @@ -43,6 +67,8 @@ impl kernel::Module for RustPrint { pr_cont!(" is {}", "continued"); pr_cont!(" with {}\n", "args"); + arc_print()?; + Ok(RustPrint) } } |