From 2415e63e17f1b383d344e7487b8ceac49570906a Mon Sep 17 00:00:00 2001 From: dybucc <149513579+dybucc@users.noreply.github.com> Date: Wed, 27 May 2026 18:05:02 +0200 Subject: [PATCH] refactor: annotate `ELAST` constants as unstable this patch annotates symbols that are known to have been the source of semver-breaking issues by using a macro for which another pr has been opened. these issues have been tracked thus far in rust-lang/libc#3131. --- src/unix/bsd/apple/mod.rs | 3 +++ src/unix/bsd/freebsdlike/dragonfly/mod.rs | 4 ++++ src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs | 3 +++ src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs | 3 +++ src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs | 3 +++ src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs | 3 +++ src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs | 3 +++ src/unix/bsd/netbsdlike/openbsd/mod.rs | 3 +++ 8 files changed, 25 insertions(+) diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs index f0bd543bf6df8..d8d78a1142b10 100644 --- a/src/unix/bsd/apple/mod.rs +++ b/src/unix/bsd/apple/mod.rs @@ -2143,6 +2143,9 @@ pub const ENOTRECOVERABLE: c_int = 104; pub const EOWNERDEAD: c_int = 105; pub const EQFULL: c_int = 106; pub const ENOTCAPABLE: c_int = 107; + +/// This symbols is prone to change across releases upstream. +/// See the [usage guidelines](crate::#usage-guidelines) for details and use. pub const ELAST: c_int = 107; pub const EAI_AGAIN: c_int = 2; diff --git a/src/unix/bsd/freebsdlike/dragonfly/mod.rs b/src/unix/bsd/freebsdlike/dragonfly/mod.rs index 22cb415f9b552..83f426c8703f8 100644 --- a/src/unix/bsd/freebsdlike/dragonfly/mod.rs +++ b/src/unix/bsd/freebsdlike/dragonfly/mod.rs @@ -548,7 +548,11 @@ pub const ENOMEDIUM: c_int = 93; pub const ENOTRECOVERABLE: c_int = 94; pub const EOWNERDEAD: c_int = 95; pub const EASYNC: c_int = 99; + +/// This symbols is prone to change across releases upstream. +/// See the [usage guidelines](crate::#usage-guidelines) for details and use. pub const ELAST: c_int = 99; + pub const RLIMIT_POSIXLOCKS: c_int = 11; #[deprecated(since = "0.2.64", note = "Not stable across OS versions")] pub const RLIM_NLIMITS: crate::rlim_t = 12; diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs index d9c8c82f32311..6b333560d9fb5 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs @@ -258,7 +258,10 @@ s! { } } +/// This symbols is prone to change across releases upstream. +/// See the [usage guidelines](crate::#usage-guidelines) for details and use. pub const ELAST: c_int = 96; + pub const RAND_MAX: c_int = 0x7fff_fffd; pub const KI_NSPARE_PTR: usize = 6; pub const MINCORE_SUPER: c_int = 0x20; diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs index 418c1b34f02b7..505e54b2d1e4e 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs @@ -304,6 +304,9 @@ s! { } pub const RAND_MAX: c_int = 0x7fff_fffd; + +/// This symbols is prone to change across releases upstream. +/// See the [usage guidelines](crate::#usage-guidelines) for details and use. pub const ELAST: c_int = 97; /// max length of devicename diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs index 3367a1e2be418..731362a58e0be 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs @@ -317,6 +317,9 @@ s! { } pub const RAND_MAX: c_int = 0x7fff_ffff; + +/// This symbols is prone to change across releases upstream. +/// See the [usage guidelines](crate::#usage-guidelines) for details and use. pub const ELAST: c_int = 97; pub const KF_TYPE_EVENTFD: c_int = 13; diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs index 61fa838b5b20e..b61df3b1be17e 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs @@ -319,6 +319,9 @@ s! { } pub const RAND_MAX: c_int = 0x7fff_ffff; + +/// This symbols is prone to change across releases upstream. +/// See the [usage guidelines](crate::#usage-guidelines) for details and use. pub const ELAST: c_int = 97; pub const KF_TYPE_EVENTFD: c_int = 13; diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs index ca2dcd5c8f4e8..7ea5c27eea34d 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs @@ -321,6 +321,9 @@ s! { } pub const RAND_MAX: c_int = 0x7fff_ffff; + +/// This symbols is prone to change across releases upstream. +/// See the [usage guidelines](crate::#usage-guidelines) for details and use. pub const ELAST: c_int = 97; pub const KF_TYPE_EVENTFD: c_int = 13; diff --git a/src/unix/bsd/netbsdlike/openbsd/mod.rs b/src/unix/bsd/netbsdlike/openbsd/mod.rs index 6242505420559..e4b3f2c509afa 100644 --- a/src/unix/bsd/netbsdlike/openbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/openbsd/mod.rs @@ -945,6 +945,9 @@ pub const EBADMSG: c_int = 92; pub const ENOTRECOVERABLE: c_int = 93; pub const EOWNERDEAD: c_int = 94; pub const EPROTO: c_int = 95; + +/// This symbols is prone to change across releases upstream. +/// See the [usage guidelines](crate::#usage-guidelines) for details and use. pub const ELAST: c_int = 95; pub const F_DUPFD_CLOEXEC: c_int = 10;