| cargo-features = ["public-dependency"] | |
| [package] | |
| name = "std" | |
| version = "0.0.0" | |
| license = "MIT OR Apache-2.0" | |
| repository = "https://github.com/rust-lang/rust.git" | |
| description = "The Rust Standard Library" | |
| edition = "2024" | |
| autobenches = false | |
| [lib] | |
| crate-type = ["dylib", "rlib"] | |
| [dependencies] | |
| alloc = { path = "../alloc", public = true } | |
| # std no longer uses cfg-if directly, but the included copy of backtrace does. | |
| cfg-if = { version = "1.0", features = ['rustc-dep-of-std'] } | |
| panic_unwind = { path = "../panic_unwind", optional = true } | |
| panic_abort = { path = "../panic_abort" } | |
| core = { path = "../core", public = true } | |
| unwind = { path = "../unwind" } | |
| hashbrown = { version = "0.16.1", default-features = false, features = [ | |
| 'rustc-dep-of-std', | |
| ] } | |
| std_detect = { path = "../std_detect", public = true } | |
| # Dependencies of the `backtrace` crate | |
| rustc-demangle = { version = "0.1.27", features = ['rustc-dep-of-std'] } | |
| [target.'cfg(not(all(windows, target_env = "msvc", not(target_vendor = "uwp"))))'.dependencies] | |
| miniz_oxide = { version = "0.8.0", optional = true, default-features = false } | |
| addr2line = { version = "0.25.0", optional = true, default-features = false } | |
| [target.'cfg(not(all(windows, target_env = "msvc")))'.dependencies] | |
| libc = { version = "0.2.178", default-features = false, features = [ | |
| 'rustc-dep-of-std', | |
| ], public = true } | |
| [target.'cfg(all(not(target_os = "aix"), not(all(windows, target_env = "msvc", not(target_vendor = "uwp")))))'.dependencies] | |
| object = { version = "0.37.1", default-features = false, optional = true, features = [ | |
| 'read_core', | |
| 'elf', | |
| 'macho', | |
| 'pe', | |
| 'unaligned', | |
| 'archive', | |
| ] } | |
| [target.'cfg(target_os = "aix")'.dependencies] | |
| object = { version = "0.37.1", default-features = false, optional = true, features = [ | |
| 'read_core', | |
| 'xcoff', | |
| 'unaligned', | |
| 'archive', | |
| ] } | |
| [target.'cfg(any(windows, target_os = "cygwin"))'.dependencies.windows-link] | |
| path = "../windows_link" | |
| [dev-dependencies] | |
| rand = { version = "0.9.0", default-features = false, features = ["alloc"] } | |
| rand_xorshift = "0.4.0" | |
| [target.'cfg(any(all(target_family = "wasm", target_os = "unknown"), target_os = "xous", target_os = "vexos", all(target_vendor = "fortanix", target_env = "sgx")))'.dependencies] | |
| dlmalloc = { version = "0.2.10", features = ['rustc-dep-of-std'] } | |
| [target.x86_64-fortanix-unknown-sgx.dependencies] | |
| fortanix-sgx-abi = { version = "0.6.1", features = [ | |
| 'rustc-dep-of-std', | |
| ], public = true } | |
| [target.'cfg(target_os = "motor")'.dependencies] | |
| moto-rt = { version = "0.16", features = ['rustc-dep-of-std'], public = true } | |
| [target.'cfg(target_os = "hermit")'.dependencies] | |
| hermit-abi = { version = "0.5.0", features = [ | |
| 'rustc-dep-of-std', | |
| ], public = true } | |
| [target.'cfg(all(target_os = "wasi", target_env = "p1"))'.dependencies] | |
| wasi = { version = "0.11.0", features = [ | |
| 'rustc-dep-of-std', | |
| ], default-features = false } | |
| [target.'cfg(all(target_os = "wasi", target_env = "p2"))'.dependencies] | |
| wasip2 = { version = '0.14.4', features = [ | |
| 'rustc-dep-of-std', | |
| ], default-features = false, package = 'wasi' } | |
| [target.'cfg(all(target_os = "wasi", target_env = "p3"))'.dependencies] | |
| wasip2 = { version = '0.14.4', features = [ | |
| 'rustc-dep-of-std', | |
| ], default-features = false, package = 'wasi' } | |
| [target.'cfg(target_os = "uefi")'.dependencies] | |
| r-efi = { version = "5.2.0", features = ['rustc-dep-of-std'] } | |
| r-efi-alloc = { version = "2.0.0", features = ['rustc-dep-of-std'] } | |
| [target.'cfg(target_os = "vexos")'.dependencies] | |
| vex-sdk = { version = "0.27.0", features = [ | |
| 'rustc-dep-of-std', | |
| ], default-features = false } | |
| [features] | |
| backtrace = [ | |
| 'addr2line/rustc-dep-of-std', | |
| 'object/rustc-dep-of-std', | |
| 'miniz_oxide/rustc-dep-of-std', | |
| ] | |
| # Disable symbolization in backtraces. For use with -Zbuild-std. | |
| # FIXME: Ideally this should be an additive backtrace-symbolization feature | |
| backtrace-trace-only = [] | |
| panic-unwind = ["dep:panic_unwind"] | |
| compiler-builtins-c = ["alloc/compiler-builtins-c"] | |
| compiler-builtins-mem = ["alloc/compiler-builtins-mem"] | |
| llvm-libunwind = ["unwind/llvm-libunwind"] | |
| system-llvm-libunwind = ["unwind/system-llvm-libunwind"] | |
| # Choose algorithms that are optimized for binary size instead of runtime performance | |
| optimize_for_size = ["core/optimize_for_size", "alloc/optimize_for_size"] | |
| # Make `RefCell` store additional debugging information, which is printed out when | |
| # a borrow error occurs | |
| debug_refcell = ["core/debug_refcell"] | |
| llvm_enzyme = ["core/llvm_enzyme"] | |
| # Enable using raw-dylib for Windows imports. | |
| # This will eventually be the default. | |
| windows_raw_dylib = ["windows-link/windows_raw_dylib"] | |
| [package.metadata.fortanix-sgx] | |
| # Maximum possible number of threads when testing | |
| threads = 125 | |
| # Maximum heap size | |
| heap_size = 0x8000000 | |
| [[test]] | |
| name = "pipe-subprocess" | |
| path = "tests/pipe_subprocess.rs" | |
| harness = false | |
| [[test]] | |
| name = "sync" | |
| path = "tests/sync/lib.rs" | |
| [[test]] | |
| name = "floats" | |
| path = "tests/floats/lib.rs" | |
| [[test]] | |
| name = "thread_local" | |
| path = "tests/thread_local/lib.rs" | |
| [[bench]] | |
| name = "stdbenches" | |
| path = "benches/lib.rs" | |
| test = true | |
| [lints.rust.unexpected_cfgs] | |
| level = "warn" | |
| check-cfg = [ | |
| # std use #[path] imports to portable-simd `std_float` crate | |
| # and to the `backtrace` crate which messes-up with Cargo list | |
| # of declared features, we therefor expect any feature cfg | |
| 'cfg(feature, values(any()))', | |
| # Internal features aren't marked known config by default, we use these to | |
| # gate tests. | |
| 'cfg(target_has_reliable_f16)', | |
| 'cfg(target_has_reliable_f16_math)', | |
| 'cfg(target_has_reliable_f128)', | |
| 'cfg(target_has_reliable_f128_math)', | |
| ] |