Commit Graph

52242 Commits

Author SHA1 Message Date
Niko Matsakis
2c9dfafa57 fix various error messages 2016-04-12 14:05:29 -04:00
Niko Matsakis
47d3b801ef move regr test into same directory 2016-04-12 14:05:29 -04:00
Niko Matsakis
b023fcca32 move checking for unsized target type into cast
It is odd to have this logic strewn about.  This also means that all
calls to `type_is_known_to_be_sized` are encapsulated in the
cast code, in case we want to update that logic.
2016-04-12 14:05:28 -04:00
Niko Matsakis
a4e0e6bbf5 avoid "type must be known here" errors if tainted 2016-04-12 13:29:47 -04:00
Niko Matsakis
ccaa2f855e Suppress fallback and ambiguity errors
If the infcx has observed other errors, then suppress both default type
parameter fallback (which can be unreliable, as the full constraint set
is not available) and errors related to unresovled
variables (annoyingly, integer type variables cannot currently be
unified with error, so that has to be a separate mechanism). Also add a
flag to `infcx` to allow us to independently indicate when we have
observed an error and hence should trigger this suppression mode.
2016-04-12 13:29:46 -04:00
bors
933000613b 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
2016-04-12 07:14:55 -07:00
bors
bed32d83fc 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
2016-04-12 04:17:36 -07:00
bors
28c9fdafc0 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.
2016-04-11 22:14:04 -07:00
bors
c0221c8897 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:
2016-04-11 13:20:56 -07:00
Marcus Klaas
05e4116af2 Fix the span for try shorthand expressions 2016-04-11 21:22:37 +02:00
Alex Crichton
42bcb4047d 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
2016-04-11 09:26:59 -07:00
Alex Crichton
552eda70d3 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
2016-04-11 08:57:53 -07:00
Steve Klabnik
55e90bbd5e 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
2016-04-11 10:31:28 -04:00
Steve Klabnik
24c5c27702 Rollup merge of #32870 - jethrogb:patch-1, r=GuillaumeGomez
Fix Windows UNC paths in std::path docs
2016-04-11 10:31:28 -04:00
Steve Klabnik
c5842837b8 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
2016-04-11 10:31:28 -04:00
Steve Klabnik
7ba7e02b5e Rollup merge of #32854 - GuillaumeGomez:result_doc, r=steveklabnik
Add some missing commas and missing titles/formatting

Fixes #29373.

r? @steveklabnik
2016-04-11 10:31:28 -04:00
Steve Klabnik
c9c850997e 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
2016-04-11 10:31:28 -04:00
Steve Klabnik
9989a95fd2 Rollup merge of #32823 - pravic:target-json, r=alexcrichton
Read "is-like-msvc" target option from JSON

This is in reference to #32818.
2016-04-11 10:31:27 -04:00
Steve Klabnik
b5fc27cc81 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!
2016-04-11 10:31:27 -04:00
Steve Klabnik
47cc036948 Rollup merge of #32802 - nikomatsakis:issue-32505, r=eddyb
add regression test for #32505

Fixes #32505

r? @eddyb
2016-04-11 10:31:27 -04:00
Steve Klabnik
7eeb8c4eb8 Rollup merge of #32768 - GuillaumeGomez:slice_doc, r=steveklabnik
Add doc examples for Iter and IterMut

Fixes #29374.

r? @steveklabnik
2016-04-11 10:31:27 -04:00
bors
b622c3e085 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
2016-04-11 06:11:31 -07:00
bors
87e2eb1443 Auto merge of #32880 - Manishearth:fix, r=GuillaumeGomez
Review fixes for #32878

This contains review fixes for the PR.
2016-04-11 03:09:41 -07:00
Manish Goregaokar
69095bb023 Tibet does not have a space program. Peru does. 2016-04-11 15:30:22 +05:30
Manish Goregaokar
4805e1291a Review fixes for #32878 (which was accidentally merged) 2016-04-11 15:23:35 +05:30
Guillaume Gomez
49be3dd380 Add E0520 error code explanation 2016-04-11 11:31:51 +02:00
jethrogb
ed218f62b7 Match signed/unsigned integer type docs
* Copy documentation from signed implementation to unsigned implementation, where necessary.
* Use signed integers in signed documentation, where possible.
2016-04-10 22:34:37 -07:00
bors
23a7d30fc2 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.
2016-04-10 19:37:40 -07:00
bors
924da295c3 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`.
2016-04-10 16:36:28 -07:00
jethrogb
0fa0a6b679 Fix Windows UNC paths in std::path docs 2016-04-10 14:51:23 -07:00
Raph Levien
b2db97347b 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
2016-04-09 17:16:54 -07:00
bors
526f2bf5c5 Auto merge of #32786 - brson:cargotest, r=alexcrichton
Fix cargotest

Tested in dev.
2016-04-09 04:44:43 -07:00
bors
42ea682fc4 Auto merge of #32781 - michaelwoerister:dont-use-svh-in-debuginfo, r=alexcrichton
Use crate name/disambiguator instead of SVH for debuginfo typeid.
2016-04-09 00:31:49 -07:00
bors
c22302f53f Auto merge of #32773 - mitaa:rdoc-ttfn-json, r=alexcrichton
rustdoc: Remove the json-{input, output} format

(for reference #32698)

fixes #25108

r? @alexcrichton
2016-04-08 20:24:34 -07:00
Jeffrey Seyfried
6dd809e792 Add regression test for #26930 2016-04-09 02:38:50 +00:00
Jeffrey Seyfried
1707de2dca Add regression test for #24883 2016-04-09 02:35:38 +00:00
Jeffrey Seyfried
d1f28f62c7 Add regression test for #22146 2016-04-09 02:35:29 +00:00
Jeffrey Seyfried
44ddaa2cd5 Add regression test 2016-04-09 02:12:18 +00:00
Jeffrey Seyfried
178c396326 Update tests 2016-04-09 02:12:18 +00:00
Jeffrey Seyfried
2944fab398 Improve import resolution diagnostics 2016-04-09 02:12:15 +00:00
Guillaume Gomez
ca966b68e6 Add some missing commas and missing titles/formatting 2016-04-09 02:00:12 +02:00
bors
1779057037 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.
2016-04-08 15:36:34 -07:00
bors
bf44003c97 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).
2016-04-08 12:22:11 -07:00
Brian Anderson
94a387e326 Release notes for 1.8 2016-04-08 18:12:17 +00:00
Alec S
4d8fac078a Add data race to concurrency docs 2016-04-08 10:33:31 -05:00
bors
7e99694378 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.
2016-04-08 06:44:22 -07:00
bors
8694b4ffe9 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
2016-04-08 03:20:11 -07:00
pravic
a6e86ec4dd Read "is-like-msvc" target option from JSON
cc #32818
2016-04-08 11:24:19 +03:00
Eduard Burtescu
942d4c7e54 Blacklist fn item types from being used with variadic functions. 2016-04-08 08:13:29 +03:00
James Miller
cb1bec9096 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.
2016-04-08 15:37:56 +12:00