mirror of
https://gitee.com/openharmony/third_party_rust_memoffset
synced 2024-12-04 05:21:47 +00:00
576166bb63
Since Rust 1.51.0, support for macro addr_of! has been stabilized[1], and this provides a way to get a raw pointer without potential UB in some cases. Memoffset alreadly uses the feature at the pre-stablilized stage (the macro was named as raw_const! then). Therefore, switch to use the stablilized version (and name) if Rust 1.51.0 and above is used, otherwise use the original fallback version, which works in a less technically correct way. [1]: https://github.com/rust-lang/rust/pull/72279 Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
23 lines
590 B
Rust
23 lines
590 B
Rust
extern crate autocfg;
|
|
|
|
fn main() {
|
|
let ac = autocfg::new();
|
|
|
|
// Check for a minimum version for a few features
|
|
if ac.probe_rustc_version(1, 20) {
|
|
println!("cargo:rustc-cfg=tuple_ty");
|
|
}
|
|
if ac.probe_rustc_version(1, 31) {
|
|
println!("cargo:rustc-cfg=allow_clippy");
|
|
}
|
|
if ac.probe_rustc_version(1, 36) {
|
|
println!("cargo:rustc-cfg=maybe_uninit");
|
|
}
|
|
if ac.probe_rustc_version(1, 40) {
|
|
println!("cargo:rustc-cfg=doctests");
|
|
}
|
|
if ac.probe_rustc_version(1, 51) {
|
|
println!("cargo:rustc-cfg=raw_ref_macros");
|
|
}
|
|
}
|