diff options
Diffstat (limited to 'vendor/rustix/examples/hello.rs')
-rw-r--r-- | vendor/rustix/examples/hello.rs | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/vendor/rustix/examples/hello.rs b/vendor/rustix/examples/hello.rs deleted file mode 100644 index 16ce69bd6..000000000 --- a/vendor/rustix/examples/hello.rs +++ /dev/null @@ -1,43 +0,0 @@ -//! Hello world, via plain syscalls. - -#[cfg(all(feature = "std", not(windows)))] -fn main() -> std::io::Result<()> { - // The message to print. It includes an explicit newline because we're - // not using `println!`, so we have to include the newline manually. - let message = "Hello, world!\n"; - - // The bytes to print. The `write` syscall operates on byte buffers and - // returns a byte offset if it writes fewer bytes than requested, so we - // need the ability to compute substrings at arbitrary byte offsets. - let mut bytes = message.as_bytes(); - - // Safety: See [here] for the safety conditions for calling `stdout`. In - // this example, the code is inside `main` itself so we know how `stdout` - // is being used and we know that it's not dropped. - // - // [here]: https://docs.rs/rustix/*/rustix/io/fn.stdout.html#safety - let stdout = unsafe { rustix::io::stdout() }; - - while !bytes.is_empty() { - match rustix::io::write(&stdout, bytes) { - // `write` can write fewer bytes than requested. In that case, - // continue writing with the remainder of the bytes. - Ok(n) => bytes = &bytes[n..], - - // `write` can be interrupted before doing any work; if that - // happens, retry it. - Err(rustix::io::Errno::INTR) => (), - - // `write` can also fail for external reasons, such as running out - // of storage space. - Err(e) => return Err(e.into()), - } - } - - Ok(()) -} - -#[cfg(any(not(feature = "std"), windows))] -fn main() { - unimplemented!() -} |