Crates.io | cargo-no-std-check |
lib.rs | cargo-no-std-check |
version | 0.1.3 |
source | src |
created_at | 2020-02-17 21:40:50.900921 |
updated_at | 2021-01-31 23:08:04.423772 |
description | Check that a crate builds without std |
homepage | |
repository | https://github.com/mystor/cargo-no-std-check |
max_upload_size | |
id | 210164 |
size | 34,558 |
cargo no-std-check is a wrapper for cargo check
, which ensures that your
library does not link against libstd
.
cargo no-std-check
can be built with any stable version of rust, but its
operation requires a nightly compiler.
$ cargo install cargo-no-std-check
Run this command on a crate to build it's lib target without access to std
.
Attempts to use std
in the final library's dependency hierarchy will produce a
build error.
$ cargo no-std-check --manifest-path nostd/Cargo.toml
Creating #![no_std] sysroot
Copying [============================================================] 154/154: done
Sysroot x86_64-unknown-linux-gnu (/tmp/nostd_sysroot.YhFkabJ2tXeK)
Finished dev [unoptimized + debuginfo] target(s) in 0.01s
$ cargo no-std-check --manifest-path withstd/Cargo.toml
Creating #![no_std] sysroot
Copying [============================================================] 154/154: done
Sysroot x86_64-unknown-linux-gnu (/tmp/nostd_sysroot.uYDnxo4ZNOLs)
Checking withstd v0.1.0 (/crates/withstd)
error[E0463]: can't find crate for `std`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0463`.
error: could not compile `withstd`.
To learn more, run the command again with --verbose.