Skip to content

Rollup of 11 pull requests #34470

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 23 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
64137c4
Parameters in doc comment should be formatted code-like.
frewsxcv Jun 22, 2016
03f9dd2
Fix typo in bootstrap README
Vogtinator Jun 22, 2016
eb17527
Switched tense to clarify what is happening in the example
Jun 22, 2016
bbc33ac
Add example for `std::thread::sleep`.
frewsxcv Jun 22, 2016
2d7bac7
Improve diagnostics E0425: `use` (public) items
liigo Jun 20, 2016
5215acc
Fix typo in future incompatible lint
sanxiyn Jun 23, 2016
0187aec
Renames "lets_do_this" macro more appropriately.
pyjarrett Jun 24, 2016
6e848be
Indicate how the `JoinHandle` struct is created.
frewsxcv Jun 23, 2016
5e9b75e
Add examples in docs for `JoinHandle`.
frewsxcv Jun 24, 2016
fd388d4
Add doc example for `std::thread::Builder::name`.
frewsxcv Jun 25, 2016
c55f092
Add hyperlinks to `std::fs` functions from `std::path`.
frewsxcv Jun 25, 2016
f300faf
Indicate how the `std::path::Components` struct is created.
frewsxcv Jun 25, 2016
6b949e9
Rollup merge of #34379 - liigo:patch-11, r=GuillaumeGomez
GuillaumeGomez Jun 25, 2016
dfbf619
Rollup merge of #34406 - frewsxcv:sleep-ex, r=GuillaumeGomez
GuillaumeGomez Jun 25, 2016
7526190
Rollup merge of #34410 - frewsxcv:code-like, r=apasel422
GuillaumeGomez Jun 25, 2016
4d7dac0
Rollup merge of #34411 - Vogtinator:patch-1, r=sanxiyn
GuillaumeGomez Jun 25, 2016
50164ab
Rollup merge of #34414 - alfiedotwtf:patch-1, r=steveklabnik
GuillaumeGomez Jun 25, 2016
0ee27da
Rollup merge of #34435 - sanxiyn:typo, r=apasel422
GuillaumeGomez Jun 25, 2016
d05a9c5
Rollup merge of #34438 - frewsxcv:joinhandle, r=GuillaumeGomez
GuillaumeGomez Jun 25, 2016
0934fc1
Rollup merge of #34445 - pyjarrett:lang_item_table_macro_rename, r=js…
GuillaumeGomez Jun 25, 2016
7fc9b3b
Rollup merge of #34465 - frewsxcv:builder-name-example, r=GuillaumeGomez
GuillaumeGomez Jun 25, 2016
43b388f
Rollup merge of #34468 - frewsxcv:doc-links, r=GuillaumeGomez
GuillaumeGomez Jun 25, 2016
a4a4f1f
Rollup merge of #34469 - frewsxcv:path-components, r=GuillaumeGomez
GuillaumeGomez Jun 25, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/bootstrap/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ compiler. What actually happens when you invoke rustbuild is:
1. The entry point script, `src/bootstrap/bootstrap.py` is run. This script is
responsible for downloading the stage0 compiler/Cargo binaries, and it then
compiles the build system itself (this folder). Finally, it then invokes the
actual `boostrap` binary build system.
actual `bootstrap` binary build system.
2. In Rust, `bootstrap` will slurp up all configuration, perform a number of
sanity checks (compilers exist for example), and then start building the
stage0 artifacts.
Expand Down
2 changes: 1 addition & 1 deletion src/doc/book/patterns.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ Here, we bind the first and last element of the tuple to `x` and `z`, but
ignore the middle element.

It’s worth noting that using `_` never binds the value in the first place,
which means a value may not move:
which means that the value does not move:

```rust
let tuple: (u32, String) = (5, String::from("five"));
Expand Down
4 changes: 2 additions & 2 deletions src/librustc/middle/lang_items.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ use hir;

// The actual lang items defined come at the end of this file in one handy table.
// So you probably just want to nip down to the end.
macro_rules! lets_do_this {
macro_rules! language_item_table {
(
$( $variant:ident, $name:expr, $method:ident; )*
) => {
Expand Down Expand Up @@ -269,7 +269,7 @@ pub fn collect_language_items(session: &Session,
}
}

lets_do_this! {
language_item_table! {
// Variant name, Name, Method name;
CharImplItem, "char", char_impl;
StrImplItem, "str", str_impl;
Expand Down
2 changes: 1 addition & 1 deletion src/librustc_lint/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ pub fn register_builtins(store: &mut lint::LintStore, sess: Option<&Session>) {
},
FutureIncompatibleInfo {
id: LintId::of(INVALID_TYPE_PARAM_DEFAULT),
reference: "PR 30742 <https://github.com/rust-lang/rust/pull/30724>",
reference: "PR 30724 <https://github.com/rust-lang/rust/pull/30724>",
},
FutureIncompatibleInfo {
id: LintId::of(SUPER_OR_SELF_IN_GLOBAL_PATH),
Expand Down
11 changes: 11 additions & 0 deletions src/librustc_resolve/diagnostics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -843,6 +843,17 @@ Or:
let unknown_variable = 12u32;
let x = unknown_variable; // ok!
```

If the item is not defined in the current module, it must be imported using a
`use` statement, like so:

```ignore
use foo::bar;
bar();
```

If the item you are importing is not defined in some super-module of the
current module, then it must also be declared as public (e.g., `pub fn`).
"##,

E0426: r##"
Expand Down
24 changes: 19 additions & 5 deletions src/libstd/path.rs
Original file line number Diff line number Diff line change
Expand Up @@ -579,6 +579,8 @@ impl<'a> AsRef<OsStr> for Component<'a> {
/// See the module documentation for an in-depth explanation of components and
/// their role in the API.
///
/// This `struct` is created by the [`path::Path::components`] method.
///
/// # Examples
///
/// ```
Expand All @@ -590,6 +592,8 @@ impl<'a> AsRef<OsStr> for Component<'a> {
/// println!("{:?}", component);
/// }
/// ```
///
/// [`path::Path::components`]: struct.Path.html#method.components
#[derive(Clone)]
#[stable(feature = "rust1", since = "1.0.0")]
pub struct Components<'a> {
Expand Down Expand Up @@ -1781,15 +1785,19 @@ impl Path {
/// This function will traverse symbolic links to query information about the
/// destination file.
///
/// This is an alias to `fs::metadata`.
/// This is an alias to [`fs::metadata`].
///
/// [`fs::metadata`]: ../fs/fn.metadata.html
#[stable(feature = "path_ext", since = "1.5.0")]
pub fn metadata(&self) -> io::Result<fs::Metadata> {
fs::metadata(self)
}

/// Query the metadata about a file without following symlinks.
///
/// This is an alias to `fs::symlink_metadata`.
/// This is an alias to [`fs::symlink_metadata`].
///
/// [`fs::symlink_metadata`]: ../fs/fn.symlink_metadata.html
#[stable(feature = "path_ext", since = "1.5.0")]
pub fn symlink_metadata(&self) -> io::Result<fs::Metadata> {
fs::symlink_metadata(self)
Expand All @@ -1798,15 +1806,19 @@ impl Path {
/// Returns the canonical form of the path with all intermediate components
/// normalized and symbolic links resolved.
///
/// This is an alias to `fs::canonicalize`.
/// This is an alias to [`fs::canonicalize`].
///
/// [`fs::canonicalize`]: ../fs/fn.canonicalize.html
#[stable(feature = "path_ext", since = "1.5.0")]
pub fn canonicalize(&self) -> io::Result<PathBuf> {
fs::canonicalize(self)
}

/// Reads a symbolic link, returning the file that the link points to.
///
/// This is an alias to `fs::read_link`.
/// This is an alias to [`fs::read_link`].
///
/// [`fs::read_link`]: ../fs/fn.read_link.html
#[stable(feature = "path_ext", since = "1.5.0")]
pub fn read_link(&self) -> io::Result<PathBuf> {
fs::read_link(self)
Expand All @@ -1817,7 +1829,9 @@ impl Path {
/// The iterator will yield instances of `io::Result<DirEntry>`. New errors may
/// be encountered after an iterator is initially constructed.
///
/// This is an alias to `fs::read_dir`.
/// This is an alias to [`fs::read_dir`].
///
/// [`fs::read_dir`]: ../fs/fn.read_dir.html
#[stable(feature = "path_ext", since = "1.5.0")]
pub fn read_dir(&self) -> io::Result<fs::ReadDir> {
fs::read_dir(self)
Expand Down
66 changes: 62 additions & 4 deletions src/libstd/thread/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,21 @@ impl Builder {

/// Names the thread-to-be. Currently the name is used for identification
/// only in panic messages.
///
/// # Examples
///
/// ```rust
/// use std::thread;
///
/// let builder = thread::Builder::new()
/// .name("foo".into());
///
/// let handler = builder.spawn(|| {
/// assert_eq!(thread::current().name(), Some("foo"))
/// }).unwrap();
///
/// handler.join().unwrap();
/// ```
#[stable(feature = "rust1", since = "1.0.0")]
pub fn name(mut self, name: String) -> Builder {
self.name = Some(name);
Expand Down Expand Up @@ -379,6 +394,19 @@ pub fn sleep_ms(ms: u32) {
/// signal being received or a spurious wakeup. Platforms which do not support
/// nanosecond precision for sleeping will have `dur` rounded up to the nearest
/// granularity of time they can sleep for.
///
/// # Examples
///
/// ```
/// use std::{thread, time};
///
/// let ten_millis = time::Duration::from_millis(10);
/// let now = time::Instant::now();
///
/// thread::sleep(ten_millis);
///
/// assert!(now.elapsed() >= ten_millis);
/// ```
#[stable(feature = "thread_sleep", since = "1.4.0")]
pub fn sleep(dur: Duration) {
imp::Thread::sleep(dur)
Expand Down Expand Up @@ -423,10 +451,10 @@ pub fn park() {
/// the specified duration has been reached (may wake spuriously).
///
/// The semantics of this function are equivalent to `park()` except that the
/// thread will be blocked for roughly no longer than *ms*. This method
/// thread will be blocked for roughly no longer than `ms`. This method
/// should not be used for precise timing due to anomalies such as
/// preemption or platform differences that may not cause the maximum
/// amount of time waited to be precisely *ms* long.
/// amount of time waited to be precisely `ms` long.
///
/// See the module doc for more detail.
#[stable(feature = "rust1", since = "1.0.0")]
Expand All @@ -439,10 +467,10 @@ pub fn park_timeout_ms(ms: u32) {
/// the specified duration has been reached (may wake spuriously).
///
/// The semantics of this function are equivalent to `park()` except that the
/// thread will be blocked for roughly no longer than *dur*. This method
/// thread will be blocked for roughly no longer than `dur`. This method
/// should not be used for precise timing due to anomalies such as
/// preemption or platform differences that may not cause the maximum
/// amount of time waited to be precisely *dur* long.
/// amount of time waited to be precisely `dur` long.
///
/// See the module doc for more detail.
///
Expand Down Expand Up @@ -610,6 +638,36 @@ impl<T> JoinInner<T> {
/// Due to platform restrictions, it is not possible to `Clone` this
/// handle: the ability to join a child thread is a uniquely-owned
/// permission.
///
/// This `struct` is created by the [`thread::spawn`] function and the
/// [`thread::Builder::spawn`] method.
///
/// # Examples
///
/// Creation from [`thread::spawn`]:
///
/// ```rust
/// use std::thread;
///
/// let join_handle: thread::JoinHandle<_> = thread::spawn(|| {
/// // some work here
/// });
/// ```
///
/// Creation from [`thread::Builder::spawn`]:
///
/// ```rust
/// use std::thread;
///
/// let builder = thread::Builder::new();
///
/// let join_handle: thread::JoinHandle<_> = builder.spawn(|| {
/// // some work here
/// }).unwrap();
/// ```
///
/// [`thread::spawn`]: fn.spawn.html
/// [`thread::Builder::spawn`]: struct.Builder.html#method.spawn
#[stable(feature = "rust1", since = "1.0.0")]
pub struct JoinHandle<T>(JoinInner<T>);

Expand Down