Skip to content

Commit

Permalink
Add rustc-check-cfg to serde build.rs
Browse files Browse the repository at this point in the history
  • Loading branch information
osiewicz committed May 22, 2024
1 parent 1868dad commit ffe914d
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 3 deletions.
14 changes: 14 additions & 0 deletions serde/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,20 @@ fn main() {
None => return,
};

if minor >= 77 {
println!("cargo:rustc-check-cfg=cfg(no_core_cstr)");
println!("cargo:rustc-check-cfg=cfg(no_core_num_saturating)");
println!("cargo:rustc-check-cfg=cfg(no_core_try_from)");
println!("cargo:rustc-check-cfg=cfg(no_float_copysign)");
println!("cargo:rustc-check-cfg=cfg(no_num_nonzero_signed)");
println!("cargo:rustc-check-cfg=cfg(no_relaxed_trait_bounds)");
println!("cargo:rustc-check-cfg=cfg(no_serde_derive)");
println!("cargo:rustc-check-cfg=cfg(no_std_atomic)");
println!("cargo:rustc-check-cfg=cfg(no_std_atomic64)");
println!("cargo:rustc-check-cfg=cfg(no_systemtime_checked_add)");
println!("cargo:rustc-check-cfg=cfg(no_target_has_atomic)");
}

// TryFrom was stabilized in Rust 1.34:
// https://blog.rust-lang.org/2019/04/11/Rust-1.34.0.html#tryfrom-and-tryinto
if minor < 34 {
Expand Down
2 changes: 1 addition & 1 deletion serde_derive_internals/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "serde_derive_internals"
version = "0.29.0"
version = "0.29.1"
authors = ["Erick Tryzelaar <[email protected]>", "David Tolnay <[email protected]>"]
description = "AST representation used by Serde derive macros. Unstable."
documentation = "https://docs.rs/serde_derive_internals"
Expand Down
8 changes: 8 additions & 0 deletions serde_derive_internals/build.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
use std::path::Path;

fn main() {
// Warning: build.rs is not published to crates.io.

println!("cargo:rerun-if-changed=build.rs");
println!("cargo:rerun-if-changed=src/mod.rs");

println!("cargo:rustc-cfg=check_cfg");
println!("cargo:rustc-check-cfg=cfg(check_cfg)");
println!("cargo:rustc-check-cfg=cfg(exhaustive)");
println!("cargo:rustc-check-cfg=cfg(serde_build_from_git)");
println!("cargo:rustc-check-cfg=cfg(feature, values(\"deserialize_in_place\"))");

// Sometimes on Windows the git checkout does not correctly wire up the
// symlink from serde_derive_internals/src to serde_derive/src/internals.
// When this happens we'll just build based on relative paths within the git
Expand Down
3 changes: 2 additions & 1 deletion serde_derive_internals/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#![doc(html_root_url = "https://docs.rs/serde_derive_internals/0.29.0")]
#![doc(html_root_url = "https://docs.rs/serde_derive_internals/0.29.1")]
#![cfg_attr(not(check_cfg), allow(unexpected_cfgs))]
// Ignored clippy lints
#![allow(
clippy::cognitive_complexity,
Expand Down
1 change: 0 additions & 1 deletion test_suite/tests/test_de_error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1524,7 +1524,6 @@ fn test_systemtime_overflow_struct() {
);
}

#[cfg(systemtime_checked_add)]
#[test]
fn test_systemtime_overflow() {
assert_de_tokens_error::<SystemTime>(
Expand Down

0 comments on commit ffe914d

Please sign in to comment.