diff options
author | Pierre-Clément Tosi <ptosi@google.com> | 2024-02-08 11:28:44 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2024-02-08 11:28:44 +0000 |
commit | 320bea9721ac714b355f7d72ca927136c8d5a888 (patch) | |
tree | 5fbd5ddd8774ca28a9cc56a7d1fb7d518207542c | |
parent | 3c4d2cde4f1e211afb15e2151c436637fdebb727 (diff) | |
parent | e2e12f853d3b318b44795b6a2b45f925e71bce54 (diff) | |
download | memoffset-320bea9721ac714b355f7d72ca927136c8d5a888.tar.gz |
Bring back upstream support for no_std in Android am: e2e12f853d
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/memoffset/+/2952668
Change-Id: I56dc710a95d3f714414648c571ed4e52b689ac40
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | Android.bp | 6 | ||||
-rw-r--r-- | Cargo.toml | 1 | ||||
-rw-r--r-- | cargo_embargo.json | 3 | ||||
-rw-r--r-- | patches/std.diff | 43 | ||||
-rw-r--r-- | src/lib.rs | 7 | ||||
-rw-r--r-- | src/span_of.rs | 3 |
6 files changed, 24 insertions, 39 deletions
@@ -25,7 +25,7 @@ rust_library { cargo_env_compat: true, cargo_pkg_version: "0.9.0", srcs: ["src/lib.rs"], - edition: "2015", + edition: "2018", features: ["default"], cfgs: [ "allow_clippy", @@ -34,6 +34,7 @@ rust_library { "raw_ref_macros", "stable_const", "tuple_ty", + "aosp_force_use_std", ], apex_available: [ "//apex_available:platform", @@ -56,7 +57,7 @@ rust_test { test_options: { unit_test: true, }, - edition: "2015", + edition: "2018", features: ["default"], cfgs: [ "allow_clippy", @@ -65,5 +66,6 @@ rust_test { "raw_ref_macros", "stable_const", "tuple_ty", + "aosp_force_use_std", ], } @@ -10,6 +10,7 @@ # See Cargo.toml.orig for the original contents. [package] +edition = "2018" # ANDROID: Required to build dylib in no_std. name = "memoffset" version = "0.9.0" authors = ["Gilad Naaman <gilad.naaman@gmail.com>"] diff --git a/cargo_embargo.json b/cargo_embargo.json index c458c58..0ff27f0 100644 --- a/cargo_embargo.json +++ b/cargo_embargo.json @@ -9,6 +9,9 @@ "variants": [ { "min_sdk_version": "29", + "extra_cfg": [ + "aosp_force_use_std" + ], "tests": true } ] diff --git a/patches/std.diff b/patches/std.diff index fc4bdbc..034f559 100644 --- a/patches/std.diff +++ b/patches/std.diff @@ -1,40 +1,21 @@ +diff --git a/Cargo.toml b/Cargo.toml +index 77fe68f..bc62b4a 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -10,4 +10,5 @@ + # See Cargo.toml.orig for the original contents. + + [package] ++edition = "2018" # ANDROID: Required to build dylib in no_std. + name = "memoffset" diff --git a/src/lib.rs b/src/lib.rs index c85fb01..25b0444 100644 --- a/src/lib.rs +++ b/src/lib.rs -@@ -56,7 +56,8 @@ +@@ -55,5 +55,5 @@ //! let checksum = crc16(checksum_range); //! ``` -#![no_std] -+// ANDROID: include standard library to build as a dylib -+//#![no_std] ++#![cfg_attr(not(aosp_force_use_std), no_std)] #![cfg_attr( - feature = "unstable_const", - feature( -@@ -78,9 +79,9 @@ - #[doc(hidden)] - pub mod __priv { - #[doc(hidden)] -- pub use core::mem; -+ pub use std::mem; // ANDROID: use std instead of core, since we're not building with no-std. - #[doc(hidden)] -- pub use core::ptr; -+ pub use std::ptr; // ANDROID: use std instead of core, since we're not building with no-std. - - /// Use type inference to obtain the size of the pointee (without actually using the pointer). - #[doc(hidden)] -diff --git a/src/span_of.rs b/src/span_of.rs -index 0592dbd..369e5c6 100644 ---- a/src/span_of.rs -+++ b/src/span_of.rs -@@ -155,7 +155,8 @@ macro_rules! span_of { - - #[cfg(test)] - mod tests { -- use core::mem; -+ // ANDROID: use std instead of core, since we're not building wiht no-std. -+ use std::mem; - - #[test] - fn span_simple() {
\ No newline at end of file @@ -55,8 +55,7 @@ //! let checksum = crc16(checksum_range); //! ``` -// ANDROID: include standard library to build as a dylib -//#![no_std] +#![cfg_attr(not(aosp_force_use_std), no_std)] #![cfg_attr( all(feature = "unstable_const", not(stable_const)), feature(const_ptr_offset_from) @@ -76,9 +75,9 @@ doctest!("../README.md"); #[doc(hidden)] pub mod __priv { #[doc(hidden)] - pub use std::mem; // ANDROID: use std instead of core, since we're not building with no-std. + pub use core::mem; #[doc(hidden)] - pub use std::ptr; // ANDROID: use std instead of core, since we're not building with no-std. + pub use core::ptr; /// Use type inference to obtain the size of the pointee (without actually using the pointer). #[doc(hidden)] diff --git a/src/span_of.rs b/src/span_of.rs index c2030b7..89fccce 100644 --- a/src/span_of.rs +++ b/src/span_of.rs @@ -155,8 +155,7 @@ macro_rules! span_of { #[cfg(test)] mod tests { - // ANDROID: use std instead of core, since we're not building wiht no-std. - use std::mem; + use core::mem; #[test] fn span_simple() { |