diff --git a/README.md b/README.md index b6ff6df0aec94..78a9f509bbcb4 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,7 @@ Windows build triples are: - `i686-pc-windows-msvc` - `x86_64-pc-windows-msvc` -The build triple can be specified by either specifying `--build=ABI` when +The build triple can be specified by either specifying `--build=` when invoking `x.py` commands, or by copying the `config.toml` file (as described in Building From Source), and modifying the `build` option under the `[build]` section. diff --git a/src/libproc_macro/lib.rs b/src/libproc_macro/lib.rs index 92386d6d06024..38665b403d6ab 100644 --- a/src/libproc_macro/lib.rs +++ b/src/libproc_macro/lib.rs @@ -246,9 +246,9 @@ pub enum TokenNode { pub enum Delimiter { /// `( ... )` Parenthesis, - /// `[ ... ]` - Brace, /// `{ ... }` + Brace, + /// `[ ... ]` Bracket, /// An implicit delimiter, e.g. `$var`, where $var is `...`. None, diff --git a/src/librustdoc/html/static/rustdoc.css b/src/librustdoc/html/static/rustdoc.css index ee94f0baeb9a3..26a64f6cd2245 100644 --- a/src/librustdoc/html/static/rustdoc.css +++ b/src/librustdoc/html/static/rustdoc.css @@ -126,6 +126,10 @@ p { margin: 0 0 .6em 0; } +summary { + outline: none; +} + code, pre { font-family: "Source Code Pro", Menlo, Monaco, Consolas, "DejaVu Sans Mono", Inconsolata, monospace; white-space: pre-wrap; diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index 880caa2ade5d8..30495f297453d 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -81,7 +81,7 @@ //! Note the documentation for the primitives [`str`] and [`[T]`][slice] (also //! called 'slice'). Many method calls on [`String`] and [`Vec`] are actually //! calls to methods on [`str`] and [`[T]`][slice] respectively, via [deref -//! coercions]. +//! coercions][deref-coercions]. //! //! Third, the standard library defines [The Rust Prelude], a small collection //! of items - mostly traits - that are imported into every module of every @@ -203,7 +203,7 @@ //! [`use`]: ../book/first-edition/crates-and-modules.html#importing-modules-with-use //! [crate root]: ../book/first-edition/crates-and-modules.html#basic-terminology-crates-and-modules //! [crates.io]: https://crates.io -//! [deref coercions]: ../book/first-edition/deref-coercions.html +//! [deref-coercions]: ../book/second-edition/ch15-02-deref.html#implicit-deref-coercions-with-functions-and-methods //! [files]: fs/struct.File.html //! [multithreading]: thread/index.html //! [other]: #what-is-in-the-standard-library-documentation diff --git a/src/libstd/path.rs b/src/libstd/path.rs index 680bb057858be..830b9dc475d6d 100644 --- a/src/libstd/path.rs +++ b/src/libstd/path.rs @@ -323,6 +323,11 @@ unsafe fn u8_slice_as_os_str(s: &[u8]) -> &OsStr { mem::transmute(s) } +// Detect scheme on Redox +fn has_redox_scheme(s: &[u8]) -> bool { + cfg!(target_os = "redox") && s.split(|b| *b == b'/').next().unwrap_or(b"").contains(&b':') +} + //////////////////////////////////////////////////////////////////////////////// // Cross-platform, iterator-independent parsing //////////////////////////////////////////////////////////////////////////////// @@ -1685,8 +1690,12 @@ impl Path { #[stable(feature = "rust1", since = "1.0.0")] #[allow(deprecated)] pub fn is_absolute(&self) -> bool { - // FIXME: Remove target_os = "redox" and allow Redox prefixes - self.has_root() && (cfg!(unix) || cfg!(target_os = "redox") || self.prefix().is_some()) + if !cfg!(target_os = "redox") { + self.has_root() && (cfg!(unix) || self.prefix().is_some()) + } else { + // FIXME: Allow Redox prefixes + has_redox_scheme(self.as_u8_slice()) + } } /// Returns `true` if the `Path` is relative, i.e. not absolute. @@ -2050,7 +2059,8 @@ impl Path { Components { path: self.as_u8_slice(), prefix, - has_physical_root: has_physical_root(self.as_u8_slice(), prefix), + has_physical_root: has_physical_root(self.as_u8_slice(), prefix) || + has_redox_scheme(self.as_u8_slice()), front: State::Prefix, back: State::Body, } diff --git a/src/libstd/primitive_docs.rs b/src/libstd/primitive_docs.rs index 6746754ebc344..76ef36cc9a733 100644 --- a/src/libstd/primitive_docs.rs +++ b/src/libstd/primitive_docs.rs @@ -188,9 +188,10 @@ mod prim_unit { } /// Working with raw pointers in Rust is uncommon, /// typically limited to a few patterns. /// -/// Use the [`null`] function to create null pointers, and the [`is_null`] method -/// of the `*const T` type to check for null. The `*const T` type also defines -/// the [`offset`] method, for pointer math. +/// Use the [`null`] and [`null_mut`] functions to create null pointers, and the +/// [`is_null`] method of the `*const T` and `*mut T` types to check for null. +/// The `*const T` and `*mut T` types also define the [`offset`] method, for +/// pointer math. /// /// # Common ways to create raw pointers /// @@ -261,6 +262,7 @@ mod prim_unit { } /// *[See also the `std::ptr` module](ptr/index.html).* /// /// [`null`]: ../std/ptr/fn.null.html +/// [`null_mut`]: ../std/ptr/fn.null_mut.html /// [`is_null`]: ../std/primitive.pointer.html#method.is_null /// [`offset`]: ../std/primitive.pointer.html#method.offset /// [`into_raw`]: ../std/boxed/struct.Box.html#method.into_raw diff --git a/src/libstd/thread/mod.rs b/src/libstd/thread/mod.rs index 83feb595bce51..ee103c803f542 100644 --- a/src/libstd/thread/mod.rs +++ b/src/libstd/thread/mod.rs @@ -374,7 +374,7 @@ impl Builder { { let Builder { name, stack_size } = self; - let stack_size = stack_size.unwrap_or(util::min_stack()); + let stack_size = stack_size.unwrap_or_else(util::min_stack); let my_thread = Thread::new(name); let their_thread = my_thread.clone(); diff --git a/src/test/run-pass/union/union-basic.rs b/src/test/run-pass/union/union-basic.rs index de744520cc6be..079f6a6b641e9 100644 --- a/src/test/run-pass/union/union-basic.rs +++ b/src/test/run-pass/union/union-basic.rs @@ -10,10 +10,6 @@ // aux-build:union.rs -// FIXME: This test case makes little-endian assumptions. -// ignore-s390x -// ignore-sparc - extern crate union; use std::mem::{size_of, align_of, zeroed}; @@ -39,7 +35,7 @@ fn local() { assert_eq!(w.b, 0); w.a = 1; assert_eq!(w.a, 1); - assert_eq!(w.b, 1); + assert_eq!(w.b.to_le(), 1); } } @@ -60,7 +56,7 @@ fn xcrate() { assert_eq!(w.b, 0); w.a = 1; assert_eq!(w.a, 1); - assert_eq!(w.b, 1); + assert_eq!(w.b.to_le(), 1); } }