1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
[]
= "bytemuck"
= "A crate for mucking around with piles of bytes."
= "1.20.0"
= ["Lokathor <zefria@gmail.com>"]
= "https://github.com/Lokathor/bytemuck"
= "README.md"
= ["transmute", "bytes", "casting"]
= ["encoding", "no-std"]
= "2018"
= "Zlib OR Apache-2.0 OR MIT"
= ["/pedantic.bat"]
[]
# In v2 we'll fix these names to be more "normal".
# Enable deriving the various `bytemuck` traits.
= ["bytemuck_derive"]
# Enable features requiring items from `extern crate alloc`.
= []
# Enable features requiring items from `extern crate std`.
= ["extern_crate_alloc"]
# Implement `Zeroable` for `MaybeUninit`.
= []
# Implement `Zeroable` for `std::sync::atomic` types.
= []
# All MSRV notes below are GUIDELINES and future versions may require even more
# MSRV on any feature.
# MSRV 1.36: Use `align_offset` method instead of casting to `usize` to check
# alignment of pointers, this *may* improve codegen in some cases (but it has
# never been formally benchmarked!)
= []
= [] # MSRV 1.51: support arrays via min_const_generics
= [] # MSRV 1.54.0: support wasm simd types
= [] # MSRV 1.59.0: support aarch64 simd types
= [] # MSRV 1.64.0: support the `must` module.
# Adds `TransparentWrapper` impls for stdlib types newer than bytemuck's base MSRV.
# Current MSRV 1.74.0: `core::num::Saturating`.
# MSRV may increase if impls are added for newer types.
= []
= [] # MSRV 1.75.0: support const `zeroed()`
= [] # MSRV 1.82.0: support `zeroed_*rc*`
# Do not use if you can avoid it, because this is **unsound**!!!!
= []
# MSRV 1.46.0: adds the `#[track_caller]` attribute to functions which may panic
= []
# Enables all features that are both sound and supported on the latest stable
# version of Rust, with the exception of `extern_crate_alloc` and
# `extern_crate_std`.
# Note: Enabling this feature opts out of any MSRV guarantees!
= [
# Keep this list sorted.
"aarch64_simd",
"align_offset",
"alloc_uninit",
"const_zeroed",
"derive",
"min_const_generics",
"must_cast",
"track_caller",
"wasm_simd",
"zeroable_atomics",
"zeroable_maybe_uninit",
]
# ALL FEATURES BELOW THIS ARE NOT SEMVER SUPPORTED! TEMPORARY ONLY!
# Enable support for `std::simd` types.
= []
# Enable support for unstable `std::arch` types (such as the AVX512 types).
= []
# Enable `f16` and `f128`
= []
# Improved documentation using the nightly toolchain
= []
[]
= { = "1.4", = "derive", = true }
[]
= { = "deny", = ['cfg(target_arch, values("spirv"))'] }
[]
# Note(Lokathor): Don't use all-features or it would use `unsound_ptr_pod_impl` too.
= [
"nightly_docs",
"latest_stable_rust",
"extern_crate_alloc",
"extern_crate_std",
]
[]
# Note(Lokathor): Don't use all-features or it would use `unsound_ptr_pod_impl` too.
= [
"latest_stable_rust",
"extern_crate_alloc",
"extern_crate_std",
]