]> git.lizzy.rs Git - rust.git/log
rust.git
8 years agoAuto merge of #32883 - sanxiyn:nameless-defkey, r=arielb1
bors [Thu, 14 Apr 2016 10:49:14 +0000 (03:49 -0700)]
Auto merge of #32883 - sanxiyn:nameless-defkey, r=arielb1

Do not encode name when encoding DefKey

Since name is encoded anyway, name in DefKey is redundant.

cc #32719.

8 years agoAuto merge of #32718 - timonvo:bootstrap-skip-docs, r=alexcrichton
bors [Thu, 14 Apr 2016 07:38:58 +0000 (00:38 -0700)]
Auto merge of #32718 - timonvo:bootstrap-skip-docs, r=alexcrichton

rustbuild: Skip generating docs if the config disables them.

r? @alexcrichton

8 years agoAuto merge of #32877 - oli-obk:const_err_multi, r=arielb1
bors [Thu, 14 Apr 2016 05:33:10 +0000 (22:33 -0700)]
Auto merge of #32877 - oli-obk:const_err_multi, r=arielb1

don't report errors in constants at every use site

partially fixes #32842

r? @arielb1
cc @retep998

I chose this way of implementing it, because the alternative (checking if the error span is inside the constant's expressions's span) would get confusing when combined with expression generating macros.

A next step would be to re-enable the re-reporting of errors if the original erroneous constant is in another crate.

8 years agorustbuild: Skip generating docs if the config disables them.
Timon Van Overveldt [Mon, 4 Apr 2016 04:09:19 +0000 (21:09 -0700)]
rustbuild: Skip generating docs if the config disables them.

It looks like before these config variables weren't actually taken
into account. This patch should make the build system skip over the
documentation steps correctly.

8 years agoAuto merge of #32944 - alexcrichton:add-to-gitignore, r=brson
bors [Thu, 14 Apr 2016 00:50:12 +0000 (17:50 -0700)]
Auto merge of #32944 - alexcrichton:add-to-gitignore, r=brson

Add /obj/ to .gitignore

This is the build directory our buildbots use, and right now the bots are
running `git clean -f -f -d` to remove all untracked files between runs and this
is accidentally deleting `obj`, so we're building LLVM a lot.

Hopefully this keeps the bots caching `obj` so we can clean it out manually and
leave LLVM around.

8 years agoAdd /obj/ to .gitignore
Alex Crichton [Thu, 14 Apr 2016 00:46:01 +0000 (17:46 -0700)]
Add /obj/ to .gitignore

This is the build directory our buildbots use, and right now the bots are
running `git clean -f -f -d` to remove all untracked files between runs and this
is accidentally deleting `obj`, so we're building LLVM a lot.

Hopefully this keeps the bots caching `obj` so we can clean it out manually and
leave LLVM around.

8 years agoAuto merge of #32592 - tbu-:pr_range_from_overflow, r=alexcrichton
bors [Wed, 13 Apr 2016 21:26:10 +0000 (14:26 -0700)]
Auto merge of #32592 - tbu-:pr_range_from_overflow, r=alexcrichton

Add a note about overflowing in the `RangeFrom` iterator

8 years agoAuto merge of #32780 - soltanmm:consider-the-following, r=nikomatsakis
bors [Wed, 13 Apr 2016 18:28:30 +0000 (11:28 -0700)]
Auto merge of #32780 - soltanmm:consider-the-following, r=nikomatsakis

Replace consider_unification_despite_ambiguity with new obligation variant

Is work towards #32730. Addresses part one of #32286. Addresses #24210 and #26046 to some degree.

r? @nikomatsakis

8 years agoAdd a note about overflowing in the `RangeFrom` iterator
Tobias Bucher [Tue, 29 Mar 2016 21:21:13 +0000 (23:21 +0200)]
Add a note about overflowing in the `RangeFrom` iterator

8 years agoFix obscure compilation error
Masood Malekghassemi [Wed, 13 Apr 2016 14:48:53 +0000 (07:48 -0700)]
Fix obscure compilation error

8 years agoAuto merge of #32828 - vadimcn:symlinks, r=alexcrichton
bors [Wed, 13 Apr 2016 14:16:20 +0000 (07:16 -0700)]
Auto merge of #32828 - vadimcn:symlinks, r=alexcrichton

Do not rely on file extensions after path canonicalization.

Rustc does not recognize libraries which are symlinked to files having extension other than .rlib. The problem is that find_library_crate calls fs::canonicalize on found library paths, but then the resulting path is passed to get_metadata_section, which assumes it will end in ".rlib" if it's an rlib (from https://internals.rust-lang.org/t/is-library-path-canonicalization-worth-it/3206).

cc #29433

8 years agoAuto merge of #32817 - jseyfried:warn_impl_param_defaults, r=nikomatsakis
bors [Wed, 13 Apr 2016 11:18:36 +0000 (04:18 -0700)]
Auto merge of #32817 - jseyfried:warn_impl_param_defaults, r=nikomatsakis

Warn for type parameter defaults on impl blocks

Warn for type parameter defaults on impl blocks (fixes #31543).
r? @nikomatsakis

8 years agoAuto merge of #32726 - asomers:master, r=alexcrichton
bors [Wed, 13 Apr 2016 08:20:15 +0000 (01:20 -0700)]
Auto merge of #32726 - asomers:master, r=alexcrichton

Fix stack overflow detection on FreeBSD

8 years agoAuto merge of #32814 - jseyfried:improve_duplicate_glob_detection, r=nikomatsakis
bors [Wed, 13 Apr 2016 05:21:23 +0000 (22:21 -0700)]
Auto merge of #32814 - jseyfried:improve_duplicate_glob_detection, r=nikomatsakis

resolve: Improve duplicate glob detection

This fixes a bug introduced in #31726 in which we erroneously allow multiple imports of the same item under some circumstances.

More specifically, we erroneously allow a module that is in a cycle of glob re-exports to have other re-exports (besides the glob from the cycle).
For example,
```rust
pub fn f() {}
mod foo {
    pub use f; // (1) This defines `foo::f`.
    pub use bar::*; // (3) This also defines `foo::f`, which should be a duplicate error but is currently allowed.
}
mod bar {
    pub use foo::*; // (2) This defines `bar::f`.
}
```

A module in a glob re-export cycle can still have `pub` items after this PR. For example,
```rust
mod foo {
    pub fn f() {}; // (1) This defines `foo::f`.
    pub use bar::*; // (3) This is not a duplicate error since items shadow glob-imported re-exports (cf #31337).
}
mod bar {
    pub use foo::*; // (2) This defines `bar::f`.
}
```
r? @nikomatsakis

8 years agoAuto merge of #32803 - eddyb:mir-debuginfo, r=nikomatsakis
bors [Wed, 13 Apr 2016 02:22:32 +0000 (19:22 -0700)]
Auto merge of #32803 - eddyb:mir-debuginfo, r=nikomatsakis

Initial implementation of debuginfo in MIR trans.

Progress is made towards #31005, but several issues remain, such as #32790.

8 years agoAuto merge of #32590 - alexcrichton:rustbuild-tidy-checks, r=brson
bors [Tue, 12 Apr 2016 23:24:33 +0000 (16:24 -0700)]
Auto merge of #32590 - alexcrichton:rustbuild-tidy-checks, r=brson

rustbuild: Migrate tidy checks to Rust

This commit rewrites all of the tidy checks we have, namely:

* featureck
* errorck
* tidy
* binaries

into Rust under a new `tidy` tool inside of the `src/tools` directory. This at
the same time deletes all the corresponding Python tidy checks so we can be sure
to only have one source of truth for all the tidy checks.

cc #31590

8 years agotidy: Add a check to ensure Cargo.toml is in sync
Alex Crichton [Tue, 5 Apr 2016 18:18:24 +0000 (11:18 -0700)]
tidy: Add a check to ensure Cargo.toml is in sync

This verifies that the crates listed in the `[dependencies]` section of
`Cargo.toml` are a subset of the crates listed in `lib.rs` for our in-tree
crates. This should help ensure that when we refactor crates over time we keep
these dependency lists in sync.

8 years agoAuto merge of #31963 - barosl:rename-doc, r=alexcrichton
bors [Tue, 12 Apr 2016 17:12:55 +0000 (10:12 -0700)]
Auto merge of #31963 - barosl:rename-doc, r=alexcrichton

Describe more platform-specific behaviors of `std::fs::rename`

I did some tests myself regarding the situation when both `from` and `to` exist, and the results were:

On Linux:

`from` | `to` | Result
---- | ---- | ----
Directory | Directory | Ok
Directory | File | Error
File | Directory | Error
File | File | Ok

On Windows:

`from` | `to` | Result
---- | ---- | ----
Directory | Directory | Error
Directory | File | Ok
File | Directory | Error
File | File | Ok

This is a bit against the official MSDN documentation, which says "(`MOVEFILE_REPLACE_EXISTING`) cannot be used if `lpNewFileName` or `lpExistingFileName` names a directory." As evidenced above, `lpExistingFileName` *can* be a directory.

I also mentioned the atomicity of the operation.

Fixes #31301.

8 years agorustbuild: Migrate tidy checks to Rust
Alex Crichton [Tue, 29 Mar 2016 20:14:52 +0000 (13:14 -0700)]
rustbuild: Migrate tidy checks to Rust

This commit rewrites all of the tidy checks we have, namely:

* featureck
* errorck
* tidy
* binaries

into Rust under a new `tidy` tool inside of the `src/tools` directory. This at
the same time deletes all the corresponding Python tidy checks so we can be sure
to only have one source of truth for all the tidy checks.

cc #31590

8 years agoAuto merge of #32811 - alexcrichton:check-lints, r=nrc
bors [Tue, 12 Apr 2016 14:14:55 +0000 (07:14 -0700)]
Auto merge of #32811 - alexcrichton:check-lints, r=nrc

rustdoc: Fix testing no_run code blocks

This was a regression introduced by #31250 where the compiler deferred returning
the results of compilation a little too late (after the `Stop` check was looked
at). This commit alters the stop point to first try to return an erroneous
`result` and only if it was successful return the sentinel `Err(0)`.

Closes #31576

8 years agoAuto merge of #32804 - alexcrichton:stabilize-1.9, r=brson
bors [Tue, 12 Apr 2016 11:17:36 +0000 (04:17 -0700)]
Auto merge of #32804 - alexcrichton:stabilize-1.9, r=brson

std: Stabilize APIs for the 1.9 release

This commit applies all stabilizations, renamings, and deprecations that the
library team has decided on for the upcoming 1.9 release. All tracking issues
have gone through a cycle-long "final comment period" and the specific APIs
stabilized/deprecated are:

Stable

* `std::panic`
* `std::panic::catch_unwind` (renamed from `recover`)
* `std::panic::resume_unwind` (renamed from `propagate`)
* `std::panic::AssertUnwindSafe` (renamed from `AssertRecoverSafe`)
* `std::panic::UnwindSafe` (renamed from `RecoverSafe`)
* `str::is_char_boundary`
* `<*const T>::as_ref`
* `<*mut T>::as_ref`
* `<*mut T>::as_mut`
* `AsciiExt::make_ascii_uppercase`
* `AsciiExt::make_ascii_lowercase`
* `char::decode_utf16`
* `char::DecodeUtf16`
* `char::DecodeUtf16Error`
* `char::DecodeUtf16Error::unpaired_surrogate`
* `BTreeSet::take`
* `BTreeSet::replace`
* `BTreeSet::get`
* `HashSet::take`
* `HashSet::replace`
* `HashSet::get`
* `OsString::with_capacity`
* `OsString::clear`
* `OsString::capacity`
* `OsString::reserve`
* `OsString::reserve_exact`
* `OsStr::is_empty`
* `OsStr::len`
* `std::os::unix::thread`
* `RawPthread`
* `JoinHandleExt`
* `JoinHandleExt::as_pthread_t`
* `JoinHandleExt::into_pthread_t`
* `HashSet::hasher`
* `HashMap::hasher`
* `CommandExt::exec`
* `File::try_clone`
* `SocketAddr::set_ip`
* `SocketAddr::set_port`
* `SocketAddrV4::set_ip`
* `SocketAddrV4::set_port`
* `SocketAddrV6::set_ip`
* `SocketAddrV6::set_port`
* `SocketAddrV6::set_flowinfo`
* `SocketAddrV6::set_scope_id`
* `<[T]>::copy_from_slice`
* `ptr::read_volatile`
* `ptr::write_volatile`
* The `#[deprecated]` attribute
* `OpenOptions::create_new`

Deprecated

* `std::raw::Slice` - use raw parts of `slice` module instead
* `std::raw::Repr` - use raw parts of `slice` module instead
* `str::char_range_at` - use slicing plus `chars()` plus `len_utf8`
* `str::char_range_at_reverse` - use slicing plus `chars().rev()` plus `len_utf8`
* `str::char_at` - use slicing plus `chars()`
* `str::char_at_reverse` - use slicing plus `chars().rev()`
* `str::slice_shift_char` - use `chars()` plus `Chars::as_str`
* `CommandExt::session_leader` - use `before_exec` instead.

Closes #27719
cc #27751 (deprecating the `Slice` bits)
Closes #27754
Closes #27780
Closes #27809
Closes #27811
Closes #27830
Closes #28050
Closes #29453
Closes #29791
Closes #29935
Closes #30014
Closes #30752
Closes #31262
cc #31398 (still need to deal with `before_exec`)
Closes #31405
Closes #31572
Closes #31755
Closes #31756

8 years agoDescribe more platform-specific behaviors of `std::fs::rename`
Barosl Lee [Mon, 29 Feb 2016 06:04:22 +0000 (15:04 +0900)]
Describe more platform-specific behaviors of `std::fs::rename`

Fixes #31301.

8 years agoAuto merge of #32711 - marcusklaas:try-shorthand-span-fix, r=nagisa
bors [Tue, 12 Apr 2016 05:14:04 +0000 (22:14 -0700)]
Auto merge of #32711 - marcusklaas:try-shorthand-span-fix, r=nagisa

Fix the span for try shorthand expressions

My five character contribution to the rust parser! Fixes https://github.com/rust-lang/rust/issues/32709.

8 years agoAuto merge of #32882 - steveklabnik:rollup, r=steveklabnik
bors [Mon, 11 Apr 2016 20:20:56 +0000 (13:20 -0700)]
Auto merge of #32882 - steveklabnik:rollup, r=steveklabnik

Rollup of 9 pull requests

- Successful merges: #32768, #32802, #32815, #32823, #32849, #32854, #32862, #32870, #32873
- Failed merges:

8 years agoAdd regression test for #32797 (fixes #32797)
Jeffrey Seyfried [Fri, 8 Apr 2016 01:35:51 +0000 (01:35 +0000)]
Add regression test for #32797 (fixes #32797)

8 years agoFix the span for try shorthand expressions
Marcus Klaas [Sun, 3 Apr 2016 20:30:21 +0000 (22:30 +0200)]
Fix the span for try shorthand expressions

8 years agoAdd comments
Jeffrey Seyfried [Mon, 11 Apr 2016 18:30:48 +0000 (18:30 +0000)]
Add comments

8 years agotests: update for MIR debuginfo.
Eduard Burtescu [Thu, 7 Apr 2016 19:43:46 +0000 (22:43 +0300)]
tests: update for MIR debuginfo.

8 years agotrans: initial implementation of MIR debuginfo.
Eduard Burtescu [Thu, 7 Apr 2016 19:35:11 +0000 (22:35 +0300)]
trans: initial implementation of MIR debuginfo.

8 years agomir: store the span of a scope in the ScopeData.
Eduard Burtescu [Wed, 6 Apr 2016 14:17:12 +0000 (17:17 +0300)]
mir: store the span of a scope in the ScopeData.

8 years agotrans: use DefKey directly in debuginfo for paths.
Eduard Burtescu [Wed, 6 Apr 2016 12:37:19 +0000 (15:37 +0300)]
trans: use DefKey directly in debuginfo for paths.

8 years agotrans: pass essential information from trans_closure to debuginfo.
Eduard Burtescu [Wed, 6 Apr 2016 07:49:50 +0000 (10:49 +0300)]
trans: pass essential information from trans_closure to debuginfo.

8 years agotrans: use Instance in trans_closure and FunctionContext::new.
Eduard Burtescu [Wed, 6 Apr 2016 05:34:03 +0000 (08:34 +0300)]
trans: use Instance in trans_closure and FunctionContext::new.

8 years agomir: print the scope and span for variables.
Eduard Burtescu [Tue, 5 Apr 2016 04:19:47 +0000 (07:19 +0300)]
mir: print the scope and span for variables.

8 years agoDo not encode name when encoding DefKey
Seo Sanghyeon [Mon, 11 Apr 2016 16:35:26 +0000 (01:35 +0900)]
Do not encode name when encoding DefKey

8 years agorustdoc: Fix testing no_run code blocks
Alex Crichton [Thu, 7 Apr 2016 23:47:12 +0000 (16:47 -0700)]
rustdoc: Fix testing no_run code blocks

This was a regression introduced by #31250 where the compiler deferred returning
the results of compilation a little too late (after the `Stop` check was looked
at). This commit alters the stop point to first try to return an erroneous
`result` and only if it was successful return the sentinel `Err(0)`.

Closes #31576

8 years agostd: Stabilize APIs for the 1.9 release
Alex Crichton [Thu, 7 Apr 2016 17:42:53 +0000 (10:42 -0700)]
std: Stabilize APIs for the 1.9 release

This commit applies all stabilizations, renamings, and deprecations that the
library team has decided on for the upcoming 1.9 release. All tracking issues
have gone through a cycle-long "final comment period" and the specific APIs
stabilized/deprecated are:

Stable

* `std::panic`
* `std::panic::catch_unwind` (renamed from `recover`)
* `std::panic::resume_unwind` (renamed from `propagate`)
* `std::panic::AssertUnwindSafe` (renamed from `AssertRecoverSafe`)
* `std::panic::UnwindSafe` (renamed from `RecoverSafe`)
* `str::is_char_boundary`
* `<*const T>::as_ref`
* `<*mut T>::as_ref`
* `<*mut T>::as_mut`
* `AsciiExt::make_ascii_uppercase`
* `AsciiExt::make_ascii_lowercase`
* `char::decode_utf16`
* `char::DecodeUtf16`
* `char::DecodeUtf16Error`
* `char::DecodeUtf16Error::unpaired_surrogate`
* `BTreeSet::take`
* `BTreeSet::replace`
* `BTreeSet::get`
* `HashSet::take`
* `HashSet::replace`
* `HashSet::get`
* `OsString::with_capacity`
* `OsString::clear`
* `OsString::capacity`
* `OsString::reserve`
* `OsString::reserve_exact`
* `OsStr::is_empty`
* `OsStr::len`
* `std::os::unix::thread`
* `RawPthread`
* `JoinHandleExt`
* `JoinHandleExt::as_pthread_t`
* `JoinHandleExt::into_pthread_t`
* `HashSet::hasher`
* `HashMap::hasher`
* `CommandExt::exec`
* `File::try_clone`
* `SocketAddr::set_ip`
* `SocketAddr::set_port`
* `SocketAddrV4::set_ip`
* `SocketAddrV4::set_port`
* `SocketAddrV6::set_ip`
* `SocketAddrV6::set_port`
* `SocketAddrV6::set_flowinfo`
* `SocketAddrV6::set_scope_id`
* `<[T]>::copy_from_slice`
* `ptr::read_volatile`
* `ptr::write_volatile`
* The `#[deprecated]` attribute
* `OpenOptions::create_new`

Deprecated

* `std::raw::Slice` - use raw parts of `slice` module instead
* `std::raw::Repr` - use raw parts of `slice` module instead
* `str::char_range_at` - use slicing plus `chars()` plus `len_utf8`
* `str::char_range_at_reverse` - use slicing plus `chars().rev()` plus `len_utf8`
* `str::char_at` - use slicing plus `chars()`
* `str::char_at_reverse` - use slicing plus `chars().rev()`
* `str::slice_shift_char` - use `chars()` plus `Chars::as_str`
* `CommandExt::session_leader` - use `before_exec` instead.

Closes #27719
cc #27751 (deprecating the `Slice` bits)
Closes #27754
Closes #27780
Closes #27809
Closes #27811
Closes #27830
Closes #28050
Closes #29453
Closes #29791
Closes #29935
Closes #30014
Closes #30752
Closes #31262
cc #31398 (still need to deal with `before_exec`)
Closes #31405
Closes #31572
Closes #31755
Closes #31756

8 years agoRollup merge of #32873 - jethrogb:patch-2, r=steveklabnik
Steve Klabnik [Mon, 11 Apr 2016 14:31:28 +0000 (10:31 -0400)]
Rollup merge of #32873 - jethrogb:patch-2, r=steveklabnik

Match signed/unsigned integer type docs

* Copy documentation from signed implementation to unsigned implementation, where necessary.

A few functions had elaborate docs in the signed version but not in the unsigned version. This probably happenned because the signed version is at the top and the author didn't realize they had to update the documentation in both locations.

* Use signed integers in signed documentation, where possible.

r? @steveklabnik

8 years agoRollup merge of #32870 - jethrogb:patch-1, r=GuillaumeGomez
Steve Klabnik [Mon, 11 Apr 2016 14:31:28 +0000 (10:31 -0400)]
Rollup merge of #32870 - jethrogb:patch-1, r=GuillaumeGomez

Fix Windows UNC paths in std::path docs

8 years agoRollup merge of #32862 - raphlinus:master, r=bluss
Steve Klabnik [Mon, 11 Apr 2016 14:31:28 +0000 (10:31 -0400)]
Rollup merge of #32862 - raphlinus:master, r=bluss

Bit-magic for faster is_char_boundary

The asm generated for b < 128 || b >= 192 is not ideal, as it computes
both sub-inequalities. This patch replaces it with bit magic.

Fixes #32471

8 years agoRollup merge of #32854 - GuillaumeGomez:result_doc, r=steveklabnik
Steve Klabnik [Mon, 11 Apr 2016 14:31:28 +0000 (10:31 -0400)]
Rollup merge of #32854 - GuillaumeGomez:result_doc, r=steveklabnik

Add some missing commas and missing titles/formatting

Fixes #29373.

r? @steveklabnik

8 years agoRollup merge of #32849 - jseyfried:import_resolution_diagnostics, r=eddyb
Steve Klabnik [Mon, 11 Apr 2016 14:31:28 +0000 (10:31 -0400)]
Rollup merge of #32849 - jseyfried:import_resolution_diagnostics, r=eddyb

resolve: import resolution diagnostics

This improves the diagnostics for failing import resolutions (fixes #32833).
r? @eddyb

8 years agoRollup merge of #32823 - pravic:target-json, r=alexcrichton
Steve Klabnik [Mon, 11 Apr 2016 14:31:27 +0000 (10:31 -0400)]
Rollup merge of #32823 - pravic:target-json, r=alexcrichton

Read "is-like-msvc" target option from JSON

This is in reference to #32818.

8 years agoRollup merge of #32815 - allonsy:master, r=GuillaumeGomez
Steve Klabnik [Mon, 11 Apr 2016 14:31:27 +0000 (10:31 -0400)]
Rollup merge of #32815 - allonsy:master, r=GuillaumeGomez

Adds data race in docs

Thanks for all your hard work!
This is in reference to #32733
I know there has been a discussion about this on PR #32538 so you are welcome to keep the code as is or merge my documentation in.
Let me know what you think and/or if you want me to modify anything!

8 years agoRollup merge of #32802 - nikomatsakis:issue-32505, r=eddyb
Steve Klabnik [Mon, 11 Apr 2016 14:31:27 +0000 (10:31 -0400)]
Rollup merge of #32802 - nikomatsakis:issue-32505, r=eddyb

add regression test for #32505

Fixes #32505

r? @eddyb

8 years agoRollup merge of #32768 - GuillaumeGomez:slice_doc, r=steveklabnik
Steve Klabnik [Mon, 11 Apr 2016 14:31:27 +0000 (10:31 -0400)]
Rollup merge of #32768 - GuillaumeGomez:slice_doc, r=steveklabnik

Add doc examples for Iter and IterMut

Fixes #29374.

r? @steveklabnik

8 years agoAuto merge of #32850 - jseyfried:add_tests, r=alexcrichton
bors [Mon, 11 Apr 2016 13:11:31 +0000 (06:11 -0700)]
Auto merge of #32850 - jseyfried:add_tests, r=alexcrichton

resolve: Add regression tests for fixed issues

This adds regression tests for fixed issues in resolve (closes #22146, closes #24883, closes #26930).
r? @eddyb

8 years agoAuto merge of #32880 - Manishearth:fix, r=GuillaumeGomez
bors [Mon, 11 Apr 2016 10:09:41 +0000 (03:09 -0700)]
Auto merge of #32880 - Manishearth:fix, r=GuillaumeGomez

Review fixes for #32878

This contains review fixes for the PR.

8 years agoTibet does not have a space program. Peru does.
Manish Goregaokar [Mon, 11 Apr 2016 10:00:22 +0000 (15:30 +0530)]
Tibet does not have a space program. Peru does.

8 years agoReview fixes for #32878 (which was accidentally merged)
Manish Goregaokar [Mon, 11 Apr 2016 09:53:35 +0000 (15:23 +0530)]
Review fixes for #32878 (which was accidentally merged)

8 years agoAdd E0520 error code explanation
Guillaume Gomez [Mon, 11 Apr 2016 09:31:51 +0000 (11:31 +0200)]
Add E0520 error code explanation

8 years agodon't report errors in constants at every use site
Oliver Schneider [Mon, 11 Apr 2016 08:41:48 +0000 (10:41 +0200)]
don't report errors in constants at every use site

8 years agoMatch signed/unsigned integer type docs
jethrogb [Mon, 11 Apr 2016 05:28:24 +0000 (22:28 -0700)]
Match signed/unsigned integer type docs

* Copy documentation from signed implementation to unsigned implementation, where necessary.
* Use signed integers in signed documentation, where possible.

8 years agoAuto merge of #32806 - brson:fix-features, r=alexcrichton
bors [Mon, 11 Apr 2016 02:37:40 +0000 (19:37 -0700)]
Auto merge of #32806 - brson:fix-features, r=alexcrichton

Set the version number for stabilization of braced_empty_structs

and augmented_assignment to 1.8.0.

Per the comments, the numbers in this table reflect the "current
status".

cc @rust-lang/libs @rust-lang/lang

Discovered this while hunting for 1.8 features. I'm afraid there may be more of these that are incorrect and we may have created a mess.

8 years agoAuto merge of #32816 - eddyb:variadic-fn-item, r=Aatch
bors [Sun, 10 Apr 2016 23:36:28 +0000 (16:36 -0700)]
Auto merge of #32816 - eddyb:variadic-fn-item, r=Aatch

Blacklist fn item types from being used with variadic functions.

Fixes #32201 by adding fn types to the variadic blacklist which currently includes `bool`, `i8`, `u8`, `i16`, `u16` and `f32`.

8 years agoFix Windows UNC paths in std::path docs
jethrogb [Sun, 10 Apr 2016 21:51:23 +0000 (14:51 -0700)]
Fix Windows UNC paths in std::path docs

8 years agoBit-magic for faster is_char_boundary
Raph Levien [Sun, 10 Apr 2016 00:11:20 +0000 (17:11 -0700)]
Bit-magic for faster is_char_boundary

The asm generated for b < 128 || b >= 192 is not ideal, as it computes
both sub-inequalities. This patch replaces it with bit magic.

Fixes #32471

8 years agoAuto merge of #32786 - brson:cargotest, r=alexcrichton
bors [Sat, 9 Apr 2016 11:44:43 +0000 (04:44 -0700)]
Auto merge of #32786 - brson:cargotest, r=alexcrichton

Fix cargotest

Tested in dev.

8 years agoAuto merge of #32781 - michaelwoerister:dont-use-svh-in-debuginfo, r=alexcrichton
bors [Sat, 9 Apr 2016 07:31:49 +0000 (00:31 -0700)]
Auto merge of #32781 - michaelwoerister:dont-use-svh-in-debuginfo, r=alexcrichton

Use crate name/disambiguator instead of SVH for debuginfo typeid.

8 years agoAuto merge of #32773 - mitaa:rdoc-ttfn-json, r=alexcrichton
bors [Sat, 9 Apr 2016 03:24:34 +0000 (20:24 -0700)]
Auto merge of #32773 - mitaa:rdoc-ttfn-json, r=alexcrichton

rustdoc: Remove the json-{input, output} format

(for reference #32698)

fixes #25108

r? @alexcrichton

8 years agoAdd regression test for #26930
Jeffrey Seyfried [Sat, 9 Apr 2016 02:38:50 +0000 (02:38 +0000)]
Add regression test for #26930

8 years agoAdd regression test for #24883
Jeffrey Seyfried [Sat, 9 Apr 2016 02:34:52 +0000 (02:34 +0000)]
Add regression test for #24883

8 years agoAdd regression test for #22146
Jeffrey Seyfried [Sat, 9 Apr 2016 02:31:03 +0000 (02:31 +0000)]
Add regression test for #22146

8 years agoAdd regression test
Jeffrey Seyfried [Sat, 9 Apr 2016 01:27:46 +0000 (01:27 +0000)]
Add regression test

8 years agoUpdate tests
Jeffrey Seyfried [Sat, 9 Apr 2016 01:27:36 +0000 (01:27 +0000)]
Update tests

8 years agoImprove import resolution diagnostics
Jeffrey Seyfried [Sat, 9 Apr 2016 01:06:57 +0000 (01:06 +0000)]
Improve import resolution diagnostics

8 years agoAdded a test
Vadim Chugunov [Sat, 9 Apr 2016 00:14:05 +0000 (17:14 -0700)]
Added a test

8 years agoAdd some missing commas and missing titles/formatting
Guillaume Gomez [Sat, 9 Apr 2016 00:00:12 +0000 (02:00 +0200)]
Add some missing commas and missing titles/formatting

8 years agoAuto merge of #32751 - alexcrichton:dist-docs, r=brson
bors [Fri, 8 Apr 2016 22:36:34 +0000 (15:36 -0700)]
Auto merge of #32751 - alexcrichton:dist-docs, r=brson

rustbuild: Support cross rust-docs packages

Right now if you configure multiple hosts rustbuild will only build
documentation for the build triple, but we've got all the support necessary to
build documentation for different architectures as well. This commit
reinterprets the `target` field of doc `Step` instances to be the target of the
documentation rather than the target of the rustdoc/tool being run.

This should enable `make dist` to start producing a bunch of `rust-docs`
packages for all the cross architectures that rustbuild is producing now.

8 years agoAuto merge of #32810 - brson:relnotes, r=brson
bors [Fri, 8 Apr 2016 19:22:11 +0000 (12:22 -0700)]
Auto merge of #32810 - brson:relnotes, r=brson

Release notes for 1.8

cc @steveklabnik to me the highlights are compound assignment overloading, 32-bit MSVC builds being ready for use, and the cargo improvements.

[Rendered](https://github.com/brson/rust/blob/relnotes/RELEASES.md).

8 years agoRelease notes for 1.8
Brian Anderson [Thu, 7 Apr 2016 23:16:35 +0000 (23:16 +0000)]
Release notes for 1.8

8 years agoAdd data race to concurrency docs
Alec S [Fri, 8 Apr 2016 04:50:37 +0000 (23:50 -0500)]
Add data race to concurrency docs

8 years agoAuto merge of #32738 - Aatch:mir-operand-fn-ret, r=arielb1
bors [Fri, 8 Apr 2016 13:44:22 +0000 (06:44 -0700)]
Auto merge of #32738 - Aatch:mir-operand-fn-ret, r=arielb1

Handle operand temps for function calls

Previously, all non-void function returns required an on-stack location for the value to be stored to. This code improves translation of function calls so this is no longer necessary.

8 years agoAuto merge of #32695 - sfackler:default-buf-size, r=alexcrichton
bors [Fri, 8 Apr 2016 10:20:11 +0000 (03:20 -0700)]
Auto merge of #32695 - sfackler:default-buf-size, r=alexcrichton

Drop the default buffer size to 8K

The 64k capacity was picked by me a couple of years ago in the initial
implementation of buffered IO adaptors:
https://github.com/rust-lang/rust/pull/9091/files#diff-b131eeef531ad098b32f49695a031008R62.
64K was picked for symmetry with libuv, which we no longer use.

64K is *way* larger than the default size of any other language that I
can find. C, C++, and Java default to 8K, and Go defaults to 4K. There
have been a variety of issues filed relating to this such as #31885.

Closes #31885

8 years agoRead "is-like-msvc" target option from JSON
pravic [Fri, 8 Apr 2016 08:24:19 +0000 (11:24 +0300)]
Read "is-like-msvc" target option from JSON

cc #32818

8 years agoDo not rely on file extensions after path canonicalization.
Vadim Chugunov [Fri, 8 Apr 2016 05:49:48 +0000 (22:49 -0700)]
Do not rely on file extensions after path canonicalization.

8 years agoWarn for type parameter defaults on impl blocks
Jeffrey Seyfried [Fri, 8 Apr 2016 05:26:50 +0000 (05:26 +0000)]
Warn for type parameter defaults on impl blocks

8 years agoBlacklist fn item types from being used with variadic functions.
Eduard Burtescu [Fri, 8 Apr 2016 05:13:29 +0000 (08:13 +0300)]
Blacklist fn item types from being used with variadic functions.

8 years agoFix some type-related bugs
James Miller [Fri, 8 Apr 2016 03:37:56 +0000 (15:37 +1200)]
Fix some type-related bugs

Some types weren't being properly monomorphised, and didn't have their
regions properly erased. This is now fixed.

Also fixes an issue where a temp was initialized in two separate
branches, but wasn't given an alloca.

8 years agoAdd test
Jeffrey Seyfried [Fri, 8 Apr 2016 01:52:11 +0000 (01:52 +0000)]
Add test

8 years agoDetect duplicate glob imports arising from glob cycles
Jeffrey Seyfried [Thu, 7 Apr 2016 22:14:44 +0000 (22:14 +0000)]
Detect duplicate glob imports arising from glob cycles

8 years agoAdd doc example for Iter and IterMut
Guillaume Gomez [Thu, 7 Apr 2016 23:56:45 +0000 (01:56 +0200)]
Add doc example for Iter and IterMut

8 years agoFix cargotest
Brian Anderson [Wed, 6 Apr 2016 18:03:42 +0000 (18:03 +0000)]
Fix cargotest

8 years agoAuto merge of #32800 - Manishearth:rollup, r=Manishearth
bors [Thu, 7 Apr 2016 22:40:47 +0000 (15:40 -0700)]
Auto merge of #32800 - Manishearth:rollup, r=Manishearth

Rollup of 7 pull requests

- Successful merges: #32687, #32729, #32731, #32732, #32734, #32737, #32741
- Failed merges:

8 years agoSet the version number for stabilization of braced_empty_structs
Brian Anderson [Thu, 7 Apr 2016 22:21:46 +0000 (22:21 +0000)]
Set the version number for stabilization of braced_empty_structs
and augmented_assignment to 1.8.0.

Per the comments, the numbers in this table reflect the "current
status".

8 years agoadd regression test for #32505
Niko Matsakis [Thu, 7 Apr 2016 19:12:13 +0000 (15:12 -0400)]
add regression test for #32505

8 years agoRollup merge of #32741 - tbu-:pr_remove_fixme_12808, r=bluss
Manish Goregaokar [Thu, 7 Apr 2016 17:56:19 +0000 (23:26 +0530)]
Rollup merge of #32741 - tbu-:pr_remove_fixme_12808, r=bluss

Remove strange names created by lack of privacy-conscious name lookup

The fixed issue that allowed this was #12808.

8 years agoRollup merge of #32737 - timonvo:arm-ehabi-backtraces, r=alexcrichton
Manish Goregaokar [Thu, 7 Apr 2016 17:56:18 +0000 (23:26 +0530)]
Rollup merge of #32737 - timonvo:arm-ehabi-backtraces, r=alexcrichton

Fix backtraces on ARM EHABI.

Before this patch, our `rust_eh_personality_catch` routine would cut
backtracing short at the `__rust_try` function, due to it not handling
the `_US_FORCE_UNWIND` bit properly, which is passed by libunwind
implementations on ARM EHABI.

Examples of where the `_US_FORCE_UNWIND` bit is passed to the PR:
- GCC's libunwind: https://github.com/gcc-mirror/gcc/blob/f1717362de1e56fe1ffab540289d7d0c6ed48b20/libgcc/unwind-arm-common.inc#L590
- LLVM's libunwind: https://github.com/llvm-mirror/libunwind/blob/61278584b5c84c422ff5da10f46c3235c54636c9/src/UnwindLevel1-gcc-ext.c#L153

8 years agoRollup merge of #32734 - tromey:dwarf-5-DW_LANG_Rust, r=michaelwoerister
Manish Goregaokar [Thu, 7 Apr 2016 17:56:18 +0000 (23:26 +0530)]
Rollup merge of #32734 - tromey:dwarf-5-DW_LANG_Rust, r=michaelwoerister

Use DWARF 5 value for DW_LANG_Rust

DWARF 5 has assigned a value for `DW_LANG_Rust`.  See [the relevant DWARF issue](http://www.dwarfstd.org/ShowIssue.php?issue=140129.1).  Although DWARF 5 is not yet released, it seems ok to use this value as both GCC and LLVM are already using other `DW_LANG_` constants assigned in this way.

8 years agoRollup merge of #32732 - dotdash:ext_arg, r=eddyb
Manish Goregaokar [Thu, 7 Apr 2016 17:56:18 +0000 (23:26 +0530)]
Rollup merge of #32732 - dotdash:ext_arg, r=eddyb

Handle integer-extending for C ABI

We need to supply sext/zext attributes to LLVM to ensure that arguments
are extended to the appropriate width in the correct way.

Most platforms extend integers less than 32 bits, though not all.

8 years agoRollup merge of #32731 - alexcrichton:known-bootstrap-key, r=brson
Manish Goregaokar [Thu, 7 Apr 2016 17:56:18 +0000 (23:26 +0530)]
Rollup merge of #32731 - alexcrichton:known-bootstrap-key, r=brson

mk: Hardcode the bootstrap key for each release

Starting with the 1.10.0 release we would like to bootstrap all compilers from
the previous stable release. For example the 1.10.0 compiler should bootstrap
from the literal 1.9.0 release artifacts. To do this, however, we need a way to
enable unstable features temporarily in a stable compiler (as the released
compiler is stable), but it turns out we already have a way to do that!

At compile time the configure script selects a `CFG_BOOTSTRAP_KEY` variable
value and then exports it into the makefiles. If the `RUSTC_BOOTSTRAP_KEY`
environment variable is set to this value, then the compiler is allowed to
"cheat" and use unstable features.

This method of choosing the bootstrap key, however, is problematic for the
intention of bootstrapping from the previous release. Each time a 1.9.0 compiler
is created, a new bootstrap key will be selected. That means that the 1.10.0
compiler will only compile from *our* literal release artifacts. Instead
distributions would like to bootstrap from their own compilers, so instead we
simply hardcode the bootstrap key for each release.

This patch uses the same `CFG_FILENAME_EXTRA` value (a hash of the release
string) as the bootstrap key. Consequently all 1.9.0 compilers, no matter where
they are compiled, will have the same bootstrap key. Additionally we won't need
to keep updating this as it'll be based on the release number anyway.

Once the 1.9.0 beta has been created, we can update the 1.10.0 nightly sources
(the `master` branch at that time) to bootstrap from that release using this
hard-coded bootstrap key. We will likely just hardcode into the makefiles what
the previous bootstrap key was and we'll change that whenever the stage0
compiler is updated.

8 years agoRollup merge of #32729 - pierzchalski:build_helper_suffix, r=alexcrichton
Manish Goregaokar [Thu, 7 Apr 2016 17:56:17 +0000 (23:26 +0530)]
Rollup merge of #32729 - pierzchalski:build_helper_suffix, r=alexcrichton

Change build helper to modify suffix

The current implementation of [gcc](https://crates.io/crates/gcc) defaults to using the ```CC``` environment variable to determine the compiler. The current global-find-replace in ```build_helper``` causes issues for projects using tools like ```ccache``` if they try to integrate libstd into their build system.

Almost all cross-compiler toolchains have the tool name as a suffix of the filename, so changing this to suffix-replacement instead of global-replacement should be fine.

8 years agoRollup merge of #32687 - mneumann:dragonfly_fix_libstd, r=alexcrichton
Manish Goregaokar [Thu, 7 Apr 2016 17:56:17 +0000 (23:26 +0530)]
Rollup merge of #32687 - mneumann:dragonfly_fix_libstd, r=alexcrichton

Fix libstd on DragonFly

Following changes:

* birthtime does not exist on DragonFly
* errno: __dfly_error is no more. Use #[thread_local] static errno.
* clock_gettime expects a c_ulong

These changes are required to build DragonFly snapshots again.

8 years agoAuto merge of #32016 - nikomatsakis:incr-comp-save, r=mw
bors [Thu, 7 Apr 2016 17:55:37 +0000 (10:55 -0700)]
Auto merge of #32016 - nikomatsakis:incr-comp-save, r=mw

Save/load incremental compilation dep graph

Contains the code to serialize/deserialize the dep graph to disk between executions. We also hash the item contents and compare to the new hashes. Also includes a unit test harness. There are definitely some known limitations, such as https://github.com/rust-lang/rust/issues/32014 and https://github.com/rust-lang/rust/issues/32015, but I am leaving those for follow-up work.

Note that this PR builds on https://github.com/rust-lang/rust/pull/32007, so the overlapping commits can be excluded from review.

r? @michaelwoerister

8 years agoargh, overlooked two extern crates
Niko Matsakis [Thu, 7 Apr 2016 17:09:00 +0000 (13:09 -0400)]
argh, overlooked two extern crates

8 years agoAuto merge of #32794 - Manishearth:rollup, r=Manishearth
bors [Thu, 7 Apr 2016 14:54:39 +0000 (07:54 -0700)]
Auto merge of #32794 - Manishearth:rollup, r=Manishearth

Rollup of 7 pull requests

- Successful merges: #32674, #32699, #32711, #32745, #32748, #32757, #32789
- Failed merges:

8 years agoRollup merge of #32789 - jseyfried:fix_duplicate_resolve_errors, r=eddyb
Manish Goregaokar [Thu, 7 Apr 2016 11:47:10 +0000 (17:17 +0530)]
Rollup merge of #32789 - jseyfried:fix_duplicate_resolve_errors, r=eddyb

resolve: Avoid emitting redundant path resolution errors

This PR avoids emitting redundant path resolution errors in `resolve` (fixes #32760).

r? @eddyb

8 years agoRollup merge of #32757 - taralx:patch-1, r=brson
Manish Goregaokar [Thu, 7 Apr 2016 11:47:10 +0000 (17:17 +0530)]
Rollup merge of #32757 - taralx:patch-1, r=brson

Fix typos in atomic compare_exchange.

Failure ordering can't be Release, not (not) Acquire. Seems like a typo copy-pasted all over.

8 years agoRollup merge of #32748 - aturon:simplified-spec, r=nikomatsakis
Manish Goregaokar [Thu, 7 Apr 2016 11:47:10 +0000 (17:17 +0530)]
Rollup merge of #32748 - aturon:simplified-spec, r=nikomatsakis

Reinstate fast_reject for overlap checking

The initial implementation of specialization did not use the
`fast_reject` mechanism when checking for overlap, which caused a
serious performance regression in some cases.

This commit modifies the specialization graph to use simplified types
for fast rejection when possible, and along the way refactors the logic
for building the specialization graph.

Closes #32499

r? @nikomatsakis

8 years agoRollup merge of #32745 - Amanieu:arc_fix, r=alexcrichton
Manish Goregaokar [Thu, 7 Apr 2016 11:47:10 +0000 (17:17 +0530)]
Rollup merge of #32745 - Amanieu:arc_fix, r=alexcrichton

Fix infinite loop in Arc::downgrade