Skip to content
Snippets Groups Projects
Commit 1185f3ea authored by Sergey Pepyakin's avatar Sergey Pepyakin Committed by GitHub
Browse files

Get rid of in-substrate usages of `core_intrinsics` feature (#4823)

* Remove usage of unneeded Rust feature core_intrinsics

* core::intrinsics::abort -> arch::wasm32::unreachable

* Don't publish `core::intrinsics`.

* Disable panic_handler and alloc_error_handler for no_std non wasm builds
parent c0af9953
No related merge requests found
......@@ -21,5 +21,9 @@ std = [ "full_crypto", "sp-core/std", "codec/std", "serde", "sp-std/std", "sp-io
# or Intel SGX.
# For the regular wasm runtime builds this should not be used.
full_crypto = [
"sp-core/full_crypto"
"sp-core/full_crypto",
# Don't add `panic_handler` and `alloc_error_handler` since they are expected to be provided
# by the user anyway.
"sp-io/disable_panic_handler",
"sp-io/disable_oom",
]
......@@ -20,7 +20,6 @@
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(not(feature = "std"), feature(alloc_error_handler))]
#![cfg_attr(not(feature = "std"), feature(core_intrinsics))]
#![cfg_attr(feature = "std",
doc = "Substrate runtime standard library as compiled when linked with Rust's standard library.")]
......@@ -892,7 +891,7 @@ pub fn panic(info: &core::panic::PanicInfo) -> ! {
unsafe {
let message = sp_std::alloc::format!("{}", info);
logging::log(LogLevel::Error, "runtime", message.as_bytes());
core::intrinsics::abort()
core::arch::wasm32::unreachable();
}
}
......@@ -902,7 +901,7 @@ pub fn panic(info: &core::panic::PanicInfo) -> ! {
pub fn oom(_: core::alloc::Layout) -> ! {
unsafe {
logging::log(LogLevel::Error, "runtime", b"Runtime memory exhausted. Aborting");
core::intrinsics::abort();
core::arch::wasm32::unreachable();
}
}
......
......@@ -36,7 +36,6 @@
#![warn(missing_docs)]
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(not(feature = "std"), feature(core_intrinsics))]
use sp_std::prelude::*;
......
......@@ -18,7 +18,7 @@
//! or client/alloc to be used with any code that depends on the runtime.
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(not(feature = "std"), feature(core_intrinsics))]
#![cfg_attr(feature = "std",
doc = "Substrate runtime standard library as compiled when linked with Rust's standard library.")]
......
......@@ -27,7 +27,6 @@ pub use core::convert;
pub use core::default;
pub use core::fmt;
pub use core::hash;
pub use core::intrinsics;
pub use core::iter;
pub use core::marker;
pub use core::mem;
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment