diff options
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/alloc.rs | 8 | ||||
| -rw-r--r-- | src/libstd/future.rs | 2 | ||||
| -rw-r--r-- | src/libstd/keyword_docs.rs | 21 | ||||
| -rw-r--r-- | src/libstd/lib.rs | 3 | ||||
| -rw-r--r-- | src/libstd/macros.rs | 2 | ||||
| -rw-r--r-- | src/libstd/panic.rs | 2 | ||||
| -rw-r--r-- | src/libstd/process.rs | 10 | ||||
| -rw-r--r-- | src/libstd/sys/windows/backtrace/mod.rs | 9 |
8 files changed, 49 insertions, 8 deletions
diff --git a/src/libstd/alloc.rs b/src/libstd/alloc.rs index b9aba1e9cab..6753ed4a3df 100644 --- a/src/libstd/alloc.rs +++ b/src/libstd/alloc.rs @@ -150,23 +150,23 @@ pub mod __default_lib_allocator { // linkage directives are provided as part of the current compiler allocator // ABI - #[no_mangle] #[rustc_std_internal_symbol] + #[cfg_attr(stage0, no_mangle)] pub unsafe extern fn __rdl_alloc(size: usize, align: usize) -> *mut u8 { let layout = Layout::from_size_align_unchecked(size, align); System.alloc(layout) } - #[no_mangle] #[rustc_std_internal_symbol] + #[cfg_attr(stage0, no_mangle)] pub unsafe extern fn __rdl_dealloc(ptr: *mut u8, size: usize, align: usize) { System.dealloc(ptr, Layout::from_size_align_unchecked(size, align)) } - #[no_mangle] #[rustc_std_internal_symbol] + #[cfg_attr(stage0, no_mangle)] pub unsafe extern fn __rdl_realloc(ptr: *mut u8, old_size: usize, align: usize, @@ -175,8 +175,8 @@ pub mod __default_lib_allocator { System.realloc(ptr, old_layout, new_size) } - #[no_mangle] #[rustc_std_internal_symbol] + #[cfg_attr(stage0, no_mangle)] pub unsafe extern fn __rdl_alloc_zeroed(size: usize, align: usize) -> *mut u8 { let layout = Layout::from_size_align_unchecked(size, align); System.alloc_zeroed(layout) diff --git a/src/libstd/future.rs b/src/libstd/future.rs index cadb5c0ba5d..d9657f691c7 100644 --- a/src/libstd/future.rs +++ b/src/libstd/future.rs @@ -12,7 +12,7 @@ use core::cell::Cell; use core::marker::Unpin; -use core::mem::PinMut; +use core::pin::PinMut; use core::option::Option; use core::ptr::NonNull; use core::task::{self, Poll}; diff --git a/src/libstd/keyword_docs.rs b/src/libstd/keyword_docs.rs index 4f6bda6cfe3..d70cf132b3c 100644 --- a/src/libstd/keyword_docs.rs +++ b/src/libstd/keyword_docs.rs @@ -56,3 +56,24 @@ mod fn_keyword { } /// /// [book]: https://doc.rust-lang.org/book/second-edition/ch03-01-variables-and-mutability.html mod let_keyword { } + +#[doc(keyword = "struct")] +// +/// The `struct` keyword. +/// +/// The `struct` keyword is used to define a struct type. +/// +/// Example: +/// +/// ``` +/// struct Foo { +/// field1: u32, +/// field2: String, +/// } +/// ``` +/// +/// There are different kinds of structs. For more information, take a look at the +/// [Rust Book][book]. +/// +/// [book]: https://doc.rust-lang.org/book/second-edition/ch05-01-defining-structs.html +mod struct_keyword { } diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index f8b425bc785..310475d31fd 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -273,6 +273,7 @@ #![feature(needs_panic_runtime)] #![feature(never_type)] #![cfg_attr(not(stage0), feature(nll))] +#![cfg_attr(not(stage0), feature(infer_outlives_requirements))] #![feature(exhaustive_patterns)] #![feature(on_unimplemented)] #![feature(optin_builtin_traits)] @@ -434,6 +435,8 @@ pub use alloc_crate::borrow; pub use alloc_crate::fmt; #[stable(feature = "rust1", since = "1.0.0")] pub use alloc_crate::format; +#[unstable(feature = "pin", issue = "49150")] +pub use alloc_crate::pin; #[stable(feature = "rust1", since = "1.0.0")] pub use alloc_crate::slice; #[stable(feature = "rust1", since = "1.0.0")] diff --git a/src/libstd/macros.rs b/src/libstd/macros.rs index f15494c5fd7..6945a41a5e7 100644 --- a/src/libstd/macros.rs +++ b/src/libstd/macros.rs @@ -230,7 +230,7 @@ macro_rules! await { loop { if let $crate::task::Poll::Ready(x) = $crate::future::poll_in_task_cx(unsafe { - $crate::mem::PinMut::new_unchecked(&mut pinned) + $crate::pin::PinMut::new_unchecked(&mut pinned) }) { break x; diff --git a/src/libstd/panic.rs b/src/libstd/panic.rs index b8c1c4f9e68..47547aedcbd 100644 --- a/src/libstd/panic.rs +++ b/src/libstd/panic.rs @@ -16,7 +16,7 @@ use any::Any; use cell::UnsafeCell; use fmt; use future::Future; -use mem::PinMut; +use pin::PinMut; use ops::{Deref, DerefMut}; use panicking; use ptr::{Unique, NonNull}; diff --git a/src/libstd/process.rs b/src/libstd/process.rs index 53babd449a9..58ac4e94408 100644 --- a/src/libstd/process.rs +++ b/src/libstd/process.rs @@ -626,6 +626,14 @@ impl Command { /// Sets the working directory for the child process. /// + /// # Platform-specific behavior + /// + /// If the program path is relative (e.g. `"./script.sh"`), it's ambiguous + /// whether it should be interpreted relative to the parent's working + /// directory or relative to `current_dir`. The behavior in this case is + /// platform specific and unstable, and it's recommended to use + /// [`canonicalize`] to get an absolute program path instead. + /// /// # Examples /// /// Basic usage: @@ -638,6 +646,8 @@ impl Command { /// .spawn() /// .expect("ls command failed to start"); /// ``` + /// + /// [`canonicalize`]: ../fs/fn.canonicalize.html #[stable(feature = "process", since = "1.0.0")] pub fn current_dir<P: AsRef<Path>>(&mut self, dir: P) -> &mut Command { self.inner.cwd(dir.as_ref().as_ref()); diff --git a/src/libstd/sys/windows/backtrace/mod.rs b/src/libstd/sys/windows/backtrace/mod.rs index f64cae810b9..70de4a6f2b6 100644 --- a/src/libstd/sys/windows/backtrace/mod.rs +++ b/src/libstd/sys/windows/backtrace/mod.rs @@ -152,7 +152,14 @@ type StackWalk64Fn = unsafe extern "system" fn( trait StackWalker { type Item: StackFrame; - fn walk(&self, c::DWORD, c::HANDLE, c::HANDLE, &mut Self::Item, &mut c::CONTEXT) -> c::BOOL; + fn walk( + &self, + _: c::DWORD, + _: c::HANDLE, + _: c::HANDLE, + _: &mut Self::Item, + _: &mut c::CONTEXT + ) -> c::BOOL; } impl StackWalker for StackWalkExFn { |
