1
Fork 0

Auto merge of #49489 - kennytm:rollup, r=kennytm

Rollup of 10 pull requests

- Successful merges: #49443, #49445, #49446, #49463, #49464, #49466, #49468, #49473, #49484, #49486
- Failed merges:
This commit is contained in:
bors 2018-03-30 04:17:05 +00:00
commit d8a1bc73f7
20 changed files with 41 additions and 33 deletions

View file

@ -34,7 +34,7 @@ Libraries
- [Implement libstd for CloudABI.][47268] - [Implement libstd for CloudABI.][47268]
- [`Float::{from_bits, to_bits}` is now available in libcore.][46931] - [`Float::{from_bits, to_bits}` is now available in libcore.][46931]
- [Implement `AsRef<Path>` for Component][46985] - [Implement `AsRef<Path>` for Component][46985]
- [Implemented `Write` for `Cursor<&mut Vec<T>>`][46830] - [Implemented `Write` for `Cursor<&mut Vec<u8>>`][46830]
- [Moved `Duration` to libcore.][46666] - [Moved `Duration` to libcore.][46666]
Stabilized APIs Stabilized APIs
@ -47,8 +47,6 @@ eg. `static MINUTE: Duration = Duration::from_secs(60);`
- [`Duration::new`][47300] - [`Duration::new`][47300]
- [`Duration::from_secs`][47300] - [`Duration::from_secs`][47300]
- [`Duration::from_millis`][47300] - [`Duration::from_millis`][47300]
- [`Duration::from_micros`][47300]
- [`Duration::from_nanos`][47300]
Cargo Cargo
----- -----

View file

@ -288,6 +288,7 @@ pub fn symlink_dir(src: &Path, dest: &Path) -> io::Result<()> {
nOutBufferSize: DWORD, nOutBufferSize: DWORD,
lpBytesReturned: LPDWORD, lpBytesReturned: LPDWORD,
lpOverlapped: LPOVERLAPPED) -> BOOL; lpOverlapped: LPOVERLAPPED) -> BOOL;
fn CloseHandle(hObject: HANDLE) -> BOOL;
} }
fn to_u16s<S: AsRef<OsStr>>(s: S) -> io::Result<Vec<u16>> { fn to_u16s<S: AsRef<OsStr>>(s: S) -> io::Result<Vec<u16>> {
@ -341,11 +342,13 @@ pub fn symlink_dir(src: &Path, dest: &Path) -> io::Result<()> {
&mut ret, &mut ret,
ptr::null_mut()); ptr::null_mut());
if res == 0 { let out = if res == 0 {
Err(io::Error::last_os_error()) Err(io::Error::last_os_error())
} else { } else {
Ok(()) Ok(())
} };
CloseHandle(h);
out
} }
} }
} }

View file

@ -305,7 +305,7 @@ $ rustdoc src/lib.rs -Z unstable-options --themes theme.css
Giving this flag to `rustdoc` will make it copy your theme into the generated crate docs and enable Giving this flag to `rustdoc` will make it copy your theme into the generated crate docs and enable
it in the theme selector. Note that `rustdoc` will reject your theme file if it doesn't style it in the theme selector. Note that `rustdoc` will reject your theme file if it doesn't style
everything the "main" theme does. See `--theme-checker` below for details. everything the "light" theme does. See `--theme-checker` below for details.
### `--theme-checker`: verify theme CSS for validity ### `--theme-checker`: verify theme CSS for validity
@ -316,7 +316,7 @@ $ rustdoc -Z unstable-options --theme-checker theme.css
``` ```
Before including your theme in crate docs, `rustdoc` will compare all the CSS rules it contains Before including your theme in crate docs, `rustdoc` will compare all the CSS rules it contains
against the "main" theme included by default. Using this flag will allow you to see which rules are against the "light" theme included by default. Using this flag will allow you to see which rules are
missing if `rustdoc` rejects your theme. missing if `rustdoc` rejects your theme.
### `--resource-suffix`: modifying the name of CSS/JavaScript in crate docs ### `--resource-suffix`: modifying the name of CSS/JavaScript in crate docs
@ -330,7 +330,7 @@ $ rustdoc src/lib.rs -Z unstable-options --resource-suffix suf
When rendering docs, `rustdoc` creates several CSS and JavaScript files as part of the output. Since When rendering docs, `rustdoc` creates several CSS and JavaScript files as part of the output. Since
all these files are linked from every page, changing where they are can be cumbersome if you need to all these files are linked from every page, changing where they are can be cumbersome if you need to
specially cache them. This flag will rename all these files in the output to include the suffix in specially cache them. This flag will rename all these files in the output to include the suffix in
the filename. For example, `main.css` would become `main-suf.css` with the above command. the filename. For example, `light.css` would become `light-suf.css` with the above command.
### `--display-warnings`: display warnings when documenting or running documentation tests ### `--display-warnings`: display warnings when documenting or running documentation tests

View file

@ -62,7 +62,7 @@ use core::any::Any;
use core::borrow; use core::borrow;
use core::cmp::Ordering; use core::cmp::Ordering;
use core::fmt; use core::fmt;
use core::hash::{self, Hash, Hasher}; use core::hash::{Hash, Hasher};
use core::iter::FusedIterator; use core::iter::FusedIterator;
use core::marker::{self, Unpin, Unsize}; use core::marker::{self, Unpin, Unsize};
use core::mem::{self, Pin}; use core::mem::{self, Pin};
@ -508,7 +508,7 @@ impl<T: ?Sized + Eq> Eq for Box<T> {}
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl<T: ?Sized + Hash> Hash for Box<T> { impl<T: ?Sized + Hash> Hash for Box<T> {
fn hash<H: hash::Hasher>(&self, state: &mut H) { fn hash<H: Hasher>(&self, state: &mut H) {
(**self).hash(state); (**self).hash(state);
} }
} }

View file

@ -1599,8 +1599,8 @@ impl_spec_from_elem!(u64, |x| x == 0);
impl_spec_from_elem!(u128, |x| x == 0); impl_spec_from_elem!(u128, |x| x == 0);
impl_spec_from_elem!(usize, |x| x == 0); impl_spec_from_elem!(usize, |x| x == 0);
impl_spec_from_elem!(f32, |x: f32| x == 0. && x.is_sign_positive()); impl_spec_from_elem!(f32, |x: f32| x.to_bits() == 0);
impl_spec_from_elem!(f64, |x: f64| x == 0. && x.is_sign_positive()); impl_spec_from_elem!(f64, |x: f64| x.to_bits() == 0);
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Common trait implementations for Vec // Common trait implementations for Vec

View file

@ -20,7 +20,7 @@
any(from_method="from_error", from_method="from_ok"), any(from_method="from_error", from_method="from_ok"),
from_desugaring="?"), from_desugaring="?"),
message="the `?` operator can only be used in a \ message="the `?` operator can only be used in a \
function that returns `Result` \ function that returns `Result` or `Option` \
(or another type that implements `{Try}`)", (or another type that implements `{Try}`)",
label="cannot use the `?` operator in a function that returns `{Self}`"), label="cannot use the `?` operator in a function that returns `{Self}`"),
on(all(from_method="into_result", from_desugaring="?"), on(all(from_method="into_result", from_desugaring="?"),

View file

@ -2653,7 +2653,7 @@ impl<'a, T: ?Sized> From<NonNull<T>> for Unique<T> {
/// ///
/// Unlike `*mut T`, the pointer must always be non-null, even if the pointer /// Unlike `*mut T`, the pointer must always be non-null, even if the pointer
/// is never dereferenced. This is so that enums may use this forbidden value /// is never dereferenced. This is so that enums may use this forbidden value
/// as a discriminant -- `Option<NonNull<T>>` has the same size as `NonNull<T>`. /// as a discriminant -- `Option<NonNull<T>>` has the same size as `*mut T`.
/// However the pointer may still dangle if it isn't dereferenced. /// However the pointer may still dangle if it isn't dereferenced.
/// ///
/// Unlike `*mut T`, `NonNull<T>` is covariant over `T`. If this is incorrect /// Unlike `*mut T`, `NonNull<T>` is covariant over `T`. If this is incorrect

View file

@ -53,7 +53,7 @@ r##"<!DOCTYPE html>
id="mainThemeStyle"> id="mainThemeStyle">
{themes} {themes}
<link rel="stylesheet" type="text/css" href="{root_path}dark{suffix}.css"> <link rel="stylesheet" type="text/css" href="{root_path}dark{suffix}.css">
<link rel="stylesheet" type="text/css" href="{root_path}main{suffix}.css" id="themeStyle"> <link rel="stylesheet" type="text/css" href="{root_path}light{suffix}.css" id="themeStyle">
<script src="{root_path}storage{suffix}.js"></script> <script src="{root_path}storage{suffix}.js"></script>
{css_extension} {css_extension}

View file

@ -129,8 +129,8 @@ pub struct SharedContext {
pub sort_modules_alphabetically: bool, pub sort_modules_alphabetically: bool,
/// Additional themes to be added to the generated docs. /// Additional themes to be added to the generated docs.
pub themes: Vec<PathBuf>, pub themes: Vec<PathBuf>,
/// Suffix to be added on resource files (if suffix is "-v2" then "main.css" becomes /// Suffix to be added on resource files (if suffix is "-v2" then "light.css" becomes
/// "main-v2.css"). /// "light-v2.css").
pub resource_suffix: String, pub resource_suffix: String,
} }
@ -743,7 +743,7 @@ fn write_shared(cx: &Context,
write(cx.dst.join(&format!("rustdoc{}.css", cx.shared.resource_suffix)), write(cx.dst.join(&format!("rustdoc{}.css", cx.shared.resource_suffix)),
include_bytes!("static/rustdoc.css"))?; include_bytes!("static/rustdoc.css"))?;
// To avoid "main.css" to be overwritten, we'll first run over the received themes and only // To avoid "light.css" to be overwritten, we'll first run over the received themes and only
// then we'll run over the "official" styles. // then we'll run over the "official" styles.
let mut themes: HashSet<String> = HashSet::new(); let mut themes: HashSet<String> = HashSet::new();
@ -761,9 +761,9 @@ fn write_shared(cx: &Context,
write(cx.dst.join(&format!("brush{}.svg", cx.shared.resource_suffix)), write(cx.dst.join(&format!("brush{}.svg", cx.shared.resource_suffix)),
include_bytes!("static/brush.svg"))?; include_bytes!("static/brush.svg"))?;
write(cx.dst.join(&format!("main{}.css", cx.shared.resource_suffix)), write(cx.dst.join(&format!("light{}.css", cx.shared.resource_suffix)),
include_bytes!("static/themes/main.css"))?; include_bytes!("static/themes/light.css"))?;
themes.insert("main".to_owned()); themes.insert("light".to_owned());
write(cx.dst.join(&format!("dark{}.css", cx.shared.resource_suffix)), write(cx.dst.join(&format!("dark{}.css", cx.shared.resource_suffix)),
include_bytes!("static/themes/dark.css"))?; include_bytes!("static/themes/dark.css"))?;
themes.insert("dark".to_owned()); themes.insert("dark".to_owned());

View file

@ -109,7 +109,6 @@ h3.impl, h3.method, h4.method, h3.type, h4.type, h4.associatedconstant {
position: relative; position: relative;
} }
h3.impl, h3.method, h3.type { h3.impl, h3.method, h3.type {
margin-top: 15px;
padding-left: 15px; padding-left: 15px;
} }
@ -470,7 +469,10 @@ h4 > code, h3 > code, .invisible > code {
font-size: 0.8em; font-size: 0.8em;
} }
.content .methods > div:not(.important-traits) { margin-left: 40px; } .content .methods > div:not(.important-traits) {
margin-left: 40px;
margin-bottom: 15px;
}
.content .impl-items .docblock, .content .impl-items .stability { .content .impl-items .docblock, .content .impl-items .stability {
margin-bottom: .6em; margin-bottom: .6em;

View file

@ -67,4 +67,4 @@ function switchTheme(styleElem, mainStyleElem, newTheme) {
} }
} }
switchTheme(currentTheme, mainTheme, getCurrentValue('rustdoc-theme') || 'main'); switchTheme(currentTheme, mainTheme, getCurrentValue('rustdoc-theme') || 'light');

View file

@ -267,8 +267,8 @@ pub fn opts() -> Vec<RustcOptGroup> {
unstable("resource-suffix", |o| { unstable("resource-suffix", |o| {
o.optopt("", o.optopt("",
"resource-suffix", "resource-suffix",
"suffix to add to CSS and JavaScript files, e.g. \"main.css\" will become \ "suffix to add to CSS and JavaScript files, e.g. \"light.css\" will become \
\"main-suffix.css\"", \"light-suffix.css\"",
"PATH") "PATH")
}), }),
] ]
@ -322,7 +322,7 @@ pub fn main_args(args: &[String]) -> isize {
let to_check = matches.opt_strs("theme-checker"); let to_check = matches.opt_strs("theme-checker");
if !to_check.is_empty() { if !to_check.is_empty() {
let paths = theme::load_css_paths(include_bytes!("html/static/themes/main.css")); let paths = theme::load_css_paths(include_bytes!("html/static/themes/light.css"));
let mut errors = 0; let mut errors = 0;
println!("rustdoc: [theme-checker] Starting tests!"); println!("rustdoc: [theme-checker] Starting tests!");
@ -393,7 +393,7 @@ pub fn main_args(args: &[String]) -> isize {
let mut themes = Vec::new(); let mut themes = Vec::new();
if matches.opt_present("themes") { if matches.opt_present("themes") {
let paths = theme::load_css_paths(include_bytes!("html/static/themes/main.css")); let paths = theme::load_css_paths(include_bytes!("html/static/themes/light.css"));
for (theme_file, theme_s) in matches.opt_strs("themes") for (theme_file, theme_s) in matches.opt_strs("themes")
.iter() .iter()

View file

@ -13,6 +13,7 @@
// ignore-mips // ignore-mips
// ignore-mips64 // ignore-mips64
// ignore-powerpc // ignore-powerpc
// ignore-s390x
// ignore-wasm // ignore-wasm
// ignore-emscripten // ignore-emscripten
// ignore-windows // ignore-windows

View file

@ -12,6 +12,8 @@
// ignore-aarch64 // ignore-aarch64
// ignore-mips // ignore-mips
// ignore-mips64 // ignore-mips64
// ignore-powerpc
// ignore-s390x
// ignore-wasm // ignore-wasm
// ignore-cloudabi no processes // ignore-cloudabi no processes
// ignore-emscripten no processes // ignore-emscripten no processes

View file

@ -12,6 +12,8 @@
// ignore-aarch64 // ignore-aarch64
// ignore-mips // ignore-mips
// ignore-mips64 // ignore-mips64
// ignore-powerpc
// ignore-s390x
// ignore-wasm // ignore-wasm
// ignore-cloudabi no processes // ignore-cloudabi no processes
// ignore-emscripten no processes // ignore-emscripten no processes

View file

@ -6,7 +6,7 @@ LL | x?; //~ the trait bound
| |
= note: required by `std::convert::From::from` = note: required by `std::convert::From::from`
error[E0277]: the `?` operator can only be used in a function that returns `Result` (or another type that implements `std::ops::Try`) error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `std::ops::Try`)
--> $DIR/try-on-option.rs:23:5 --> $DIR/try-on-option.rs:23:5
| |
LL | x?; //~ the `?` operator LL | x?; //~ the `?` operator

View file

@ -1,4 +1,4 @@
error[E0277]: the `?` operator can only be used in a function that returns `Result` (or another type that implements `std::ops::Try`) error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `std::ops::Try`)
--> $DIR/try-operator-on-main.rs:19:5 --> $DIR/try-operator-on-main.rs:19:5
| |
LL | std::fs::File::open("foo")?; //~ ERROR the `?` operator can only LL | std::fs::File::open("foo")?; //~ ERROR the `?` operator can only

View file

@ -61,8 +61,8 @@ impl Formatter for HTMLFormatter {
<head> <head>
<title>Rust Compiler Error Index</title> <title>Rust Compiler Error Index</title>
<meta charset="utf-8"> <meta charset="utf-8">
<!-- Include rust.css after main.css so its rules take priority. --> <!-- Include rust.css after light.css so its rules take priority. -->
<link rel="stylesheet" type="text/css" href="main.css"/> <link rel="stylesheet" type="text/css" href="light.css"/>
<link rel="stylesheet" type="text/css" href="rust.css"/> <link rel="stylesheet" type="text/css" href="rust.css"/>
<style> <style>
.error-undescribed {{ .error-undescribed {{

View file

@ -13,7 +13,7 @@ use std::fs::read_dir;
use std::path::Path; use std::path::Path;
use std::process::{Command, exit}; use std::process::{Command, exit};
const FILES_TO_IGNORE: &[&str] = &["main.css"]; const FILES_TO_IGNORE: &[&str] = &["light.css"];
fn get_folders<P: AsRef<Path>>(folder_path: P) -> Vec<String> { fn get_folders<P: AsRef<Path>>(folder_path: P) -> Vec<String> {
let mut ret = Vec::with_capacity(10); let mut ret = Vec::with_capacity(10);