about summary refs log tree commit diff
path: root/src/libcore/alloc.rs
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2018-07-06 15:49:52 +0200
committerSimon Sapin <simon.sapin@exyr.org>2018-07-09 23:13:24 +0200
commit239ec7d2dce9c19de16c9ee64addbb834119397c (patch)
tree70a3ac0834334243abf684057a29cb292215021a /src/libcore/alloc.rs
parent872effa1183f404cc0df06e58034d05bf590cbad (diff)
downloadrust-239ec7d2dce9c19de16c9ee64addbb834119397c.tar.gz
rust-239ec7d2dce9c19de16c9ee64addbb834119397c.zip
Implement #[alloc_error_handler]
This to-be-stable attribute is equivalent to `#[lang = "oom"]`.
It is required when using the alloc crate without the std crate.
It is called by `handle_alloc_error`, which is in turned called
by "infallible" allocations APIs such as `Vec::push`.
Diffstat (limited to 'src/libcore/alloc.rs')
-rw-r--r--src/libcore/alloc.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libcore/alloc.rs b/src/libcore/alloc.rs
index 01221aecb62..b6ac248b79f 100644
--- a/src/libcore/alloc.rs
+++ b/src/libcore/alloc.rs
@@ -48,6 +48,7 @@ fn size_align<T>() -> (usize, usize) {
 /// use specific allocators with looser requirements.)
 #[stable(feature = "alloc_layout", since = "1.28.0")]
 #[derive(Copy, Clone, Debug, PartialEq, Eq)]
+#[cfg_attr(not(stage0), lang = "alloc_layout")]
 pub struct Layout {
     // size of the requested block of memory, measured in bytes.
     size_: usize,