Auto merge of #44058 - frewsxcv:rollup, r=frewsxcv
Rollup of 8 pull requests - Successful merges: #43631, #43977, #43983, #44016, #44039, #44043, #44047, #44054 - Failed merges:
This commit is contained in:
commit
2bb8fca182
8 changed files with 30 additions and 18 deletions
|
|
@ -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=<triple>` 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.
|
||||
|
|
|
|||
|
|
@ -246,9 +246,9 @@ pub enum TokenNode {
|
|||
pub enum Delimiter {
|
||||
/// `( ... )`
|
||||
Parenthesis,
|
||||
/// `[ ... ]`
|
||||
Brace,
|
||||
/// `{ ... }`
|
||||
Brace,
|
||||
/// `[ ... ]`
|
||||
Bracket,
|
||||
/// An implicit delimiter, e.g. `$var`, where $var is `...`.
|
||||
None,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@
|
|||
//! Note the documentation for the primitives [`str`] and [`[T]`][slice] (also
|
||||
//! called 'slice'). Many method calls on [`String`] and [`Vec<T>`] 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
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue