Commit Graph

62161 Commits

Author SHA1 Message Date
bors
0aeb9c1297 Auto merge of #40383 - ishitatsuyuki:easy-dist-analysis, r=alexcrichton
rustbuild: Make save-analysis an option

This makes save-analysis an option independent from the release channel.

The CI build scripts have been modified to enable the flag.

*Merge with caution.* I haven't tested this, and this can cause nightly breakage.
2017-03-15 13:50:13 +00:00
bors
11a33760ec Auto merge of #40212 - SimonSapin:utf8error-resume-from, r=aturon
Add Utf8Error::error_len, to help incremental and/or lossy decoding.

Without this, code outside of the standard library needs to reimplement most of the logic `from_utf8` to interpret the bytes after `valid_up_to()`.
2017-03-15 07:04:20 +00:00
bors
71d7b29475 Auto merge of #40009 - clarcharr:box_to_buf, r=alexcrichton
Leftovers from #39594; From<Box> impls

These are a few more impls that follow the same reasoning as those from #39594.

What's included:
* `From<Box<str>> for String`
* `From<Box<[T]>> for Vec<T>`
* `From<Box<CStr>> for CString`
* `From<Box<OsStr>> for OsString`
* `From<Box<Path>> for PathBuf`
* `Into<Box<str>> for String`
* `Into<Box<[T]>> for Vec<T>`
* `Into<Box<CStr>> for CString`
* `Into<Box<OsStr>> for OsString`
* `Into<Box<Path>> for PathBuf`
* `<Box<CStr>>::into_c_string`
* `<Box<OsStr>>::into_os_string`
* `<Box<Path>>::into_path_buf`
* Tracking issue for latter three methods + three from previous PR.

Currently, the opposite direction isn't doable with `From` (only `Into`) because of the separation between `liballoc` and `libcollections`. I'm holding off on those for a later PR.
2017-03-15 04:24:10 +00:00
bors
6f10e2f63d Auto merge of #39921 - cramertj:add-catch-to-ast, r=nikomatsakis
Add catch {} to AST

Part of #39849. Builds on #39864.
2017-03-14 10:40:09 +00:00
Simon Sapin
73370c543e Add tracking issue number for Utf8Error::error_len 2017-03-14 10:03:08 +01:00
Simon Sapin
b5f16a10e9 Replace Utf8Error::resume_from with Utf8Error::error_len
Their relationship is:

* `resume_from = error_len.map(|l| l + valid_up_to)`
* error_len is always one of None, Some(1), Some(2), or Some(3).

When I started using resume_from I almost always ended up subtracting
valid_up_to to obtain error_len.
Therefore the latter is what should be provided in the first place.
2017-03-14 10:02:55 +01:00
Simon Sapin
182044248c Add Utf8Error::resume_from, to help incremental and/or lossy decoding.
Without this, code outside of the standard library needs to reimplement
most of the logic `from_utf8` to interpret the bytes after `valid_up_to()`.
2017-03-14 10:02:45 +01:00
bors
fa53235cc4 Auto merge of #40488 - alexcrichton:appveyor-debug, r=brson
appveyor: Turn down sccache logging

Let's not have it be quite so verbose
2017-03-14 07:18:39 +00:00
Alex Crichton
f27bd73fd2 appveyor: Turn down sccache logging
Let's not have it be quite so verbose
2017-03-13 12:47:37 -07:00
bors
fd182c4010 Auto merge of #40329 - petrochenkov:llreuse, r=alexcrichton
rustbuild: Add option for enabling partial LLVM rebuilds

@alexcrichton , you probably didn't notice my [late comment](https://github.com/rust-lang/rust/pull/40236#issuecomment-284160749) on https://github.com/rust-lang/rust/pull/40236, but here's an implementation of that suggestion, it supersedes c652a4fb56.

r? @alexcrichton
2017-03-13 15:31:51 +00:00
bors
a5483a7f36 Auto merge of #40451 - ollie27:rustdoc_impls_js_escape, r=GuillaumeGomez
rustdoc: Fix string escaping in implementors js files

The generated HTML can contain quotes so we need to make sure they are
escaped before inserting into the js files.
2017-03-13 12:44:22 +00:00
bors
ddc1708b73 Auto merge of #40385 - arielb1:packed-again, r=eddyb
emit !align attributes on stores of operand pairs

This avoids another case of missing-align UB. cc #40373

r? @eddyb
2017-03-13 09:57:38 +00:00
Ariel Ben-Yehuda
32c9893432 emit !align attributes on stores of operand pairs
cc #40373
2017-03-13 11:52:41 +02:00
bors
40e5b18609 Auto merge of #40461 - stjepang:iterator-typo, r=frewsxcv
Fix a typo in Rev iterator docs

r? @GuillaumeGomez
2017-03-13 06:20:10 +00:00
bors
75fb56f152 Auto merge of #40448 - ollie27:rustbuild_docs_compiler, r=alexcrichton
rustbuild: Fix compiler docs

* Make sure std docs are generated before compiler docs so rustdoc uses
relative links.
* Don't document the rustc and rustdoc binary crates as they overwrite
the real rustc and rustdoc crates.

Fixes #40217

r? @alexcrichton
2017-03-13 02:24:16 +00:00
Stjepan Glavina
9eff235beb Fix a typo in Rev docs 2017-03-13 00:28:48 +01:00
bors
824c9ebbd5 Auto merge of #40450 - alexcrichton:fix-cargo, r=alexcrichton
Update Cargo to fix nightly channel

This commit updates Cargo with rust-lang/cargo#3820 which includes a fix for
rust-lang/cargo#3819. At the same time this also slightly tweaks how rustbuild
builds cargo to ensure that all the build information (including git info and
such) makes its way into the binary.

Closes rust-lang/cargo#3819
2017-03-12 19:24:24 +00:00
Alex Crichton
b5798a9be8 Update Cargo to fix nightly channel
This commit updates Cargo with rust-lang/cargo#3820 which includes a fix for
rust-lang/cargo#3819. At the same time this also slightly tweaks how rustbuild
builds cargo to ensure that all the build information (including git info and
such) makes its way into the binary.

Closes rust-lang/cargo#3820
2017-03-12 10:18:16 -07:00
bors
0066869dc0 Auto merge of #40455 - frewsxcv:rollup, r=frewsxcv
Rollup of 5 pull requests

- Successful merges: #40369, #40390, #40426, #40449, #40453
- Failed merges:
2017-03-12 16:50:00 +00:00
Corey Farwell
3b002a8ab5 Rollup merge of #40453 - tschottdorf:lint-deny-wording, r=alexcrichton
Improve wording in the -{W,A,F,D} options

This was so trivial that I'm wondering whether I'm missing something.

Fixes #28708.
2017-03-12 12:48:50 -04:00
Corey Farwell
c085be5f11 Rollup merge of #40449 - ollie27:docs_proc_macro, r=alexcrichton
Add doc attributes to proc_macro crate

This adds the same logo and favicon as the rest of the std docs.
2017-03-12 12:48:49 -04:00
Corey Farwell
36632f345d Rollup merge of #40426 - steveklabnik:update-mdbook, r=alexcrichton
Update mdbook to new version

This brings back playpen integration for the books.

It'd be nice to land this before beta, but realistically that's probably not going to happen...
2017-03-12 12:48:48 -04:00
Corey Farwell
38e4853573 Rollup merge of #40390 - F001:placementHashMap, r=nagisa
Implement placement-in protocol for `HashMap`

CC #30172

r? @nagisa
2017-03-12 12:48:47 -04:00
Corey Farwell
8d1c5700f0 Rollup merge of #40369 - petrochenkov:segspan, r=eddyb
Give spans to individual path segments in AST

And use these spans in path resolution diagnostics.

The spans are spans of identifiers in segments, not whole segments. I'm not sure what spans are more useful in general, but identifier spans are a better fit for resolve errors.

HIR still doesn't have spans.

Fixes https://github.com/rust-lang/rust/pull/38927#discussion_r95336667 https://github.com/rust-lang/rust/pull/38890#issuecomment-271731008

r? @nrc @eddyb
2017-03-12 12:48:46 -04:00
bors
f88b24b34c Auto merge of #40340 - petrochenkov:restricted, r=nikomatsakis
Update syntax for `pub(restricted)`

Update the syntax before stabilization.

cc https://github.com/rust-lang/rust/issues/32409
r? @nikomatsakis
2017-03-12 11:08:44 +00:00
Alex Crichton
4cda4d67f1 Allow cleaning llvm build dir to fail
It may not exist, so we don't want to spuriously generate an error.
2017-03-12 14:02:49 +03:00
Vadim Petrochenkov
362aa9a317 Default llvm.clean-rebuild to false 2017-03-12 14:02:49 +03:00
Vadim Petrochenkov
9b8b3b2b03 rustbuild: Add option for enabling partial LLVM rebuilds 2017-03-12 14:02:49 +03:00
Tobias Schottdorf
7bfc64ab0f Improve wording in the -{W,A,F,D} options
Fixes #28708.
2017-03-12 06:12:05 -04:00
bors
f84a517483 Auto merge of #40257 - pftbest:sret_msp430, r=alexcrichton
LLVM: Update submodule to include SRet support patch for MSP430.

This patch is needed to fix #38824 on MSP430.
I know that LLVM 4 is coming soon, but it would be great to have at least one working nightly before the update.

cc @awygle
r? @alexcrichton
2017-03-12 08:08:58 +00:00
Taylor Cramer
b1aa99352a Add compile-fail tests for catch expr in match or condition 2017-03-11 22:26:57 -08:00
Taylor Cramer
ea4e8b0a81 Temporarily prefix catch block with do keyword 2017-03-11 22:26:57 -08:00
Taylor Cramer
d95c543722 Add catch expr to AST and disallow catch as a struct name 2017-03-11 22:26:52 -08:00
bors
d9cf601ae8 Auto merge of #39770 - alexcrichton:configure-clean, r=brson
Delete more swaths of the configure script

This PR deletes more swaths of the `./configure` script which are either no longer necessary or already available in rustbuild (where an implementation is preferred)
2017-03-12 05:27:45 +00:00
Oliver Middleton
19e0505dc7 rustdoc: Fix string escaping in implementors js files
The generates HTML can contain quotes so we need to make sure they are
escaped before inserting into the js files.
2017-03-12 05:12:27 +00:00
Oliver Middleton
0e0bac914c rustbuild: Fix tests
Use the same step names as the actual build.
2017-03-12 05:09:10 +00:00
Oliver Middleton
74ccbec3ac Add doc attributes to proc_macro crate
This adds the same logo and favicon as the rest of the std docs.
2017-03-12 02:54:43 +00:00
bors
744e69663e Auto merge of #40446 - arielb1:rollup, r=alexcrichton
Rollup of 12 pull requests

- Successful merges: #40146, #40299, #40315, #40319, #40344, #40345, #40372, #40373, #40400, #40404, #40419, #40431
- Failed merges:
2017-03-12 02:50:17 +00:00
Alex Crichton
6a5fd0f7ee Merge branch 'more-sccache-debug' of https://github.com/alexcrichton/rust into rollup 2017-03-11 18:49:43 -08:00
Oliver Middleton
7b04f7fa63 rustbuild: Fix compiler docs
* Make sure std docs are generated before compiler docs so rustdoc uses
relative links.
* Don't document the rustc and rustdoc binary crates as they overwrite
the real rustc and rustdoc crates.
2017-03-12 02:45:20 +00:00
bors
1b19284ad9 Auto merge of #40220 - jseyfried:ast_macro_def, r=nrc
syntax: add `ast::ItemKind::MacroDef`, simplify hygiene info

This PR
 - adds a new variant `MacroDef` to `ast::ItemKind` for `macro_rules!` and eventually `macro` items,
 - [breaking-change] forbids macro defs without a name (`macro_rules! { () => {} }` compiles today),
 - removes `ast::MacroDef`, and
 - no longer uses `Mark` and `Invocation` to identify and characterize macro definitions.
   - We used to apply (at least) two `Mark`s to an expanded identifier's `SyntaxContext` -- the definition mark(s) and the expansion mark(s). We now only apply the latter.

r? @nrc
2017-03-11 22:48:14 +00:00
Ariel Ben-Yehuda
b1e03fe4bb Rollup merge of #40431 - fsasm:master, r=BurntSushi
rustc: Whitelist the FMA target feature

This commit adds the entry `"fma\0"` to the whitelist for the x86
target. LLVM already supports fma but rustc did not directly. Previously
rustc permitted `+fma` in the target-feature argument and enabled the use
of FMA instructions, but it did not list it in the configuration and
attributes.

fixes #40406
2017-03-11 21:57:50 +02:00
Ariel Ben-Yehuda
7b0caa58d9 Rollup merge of #40419 - GuillaumeGomez:fix-const-rendering, r=frewsxcv
Fix associated consts display

Fixes #40370.

r? @frewsxcv
2017-03-11 21:57:49 +02:00
Ariel Ben-Yehuda
d208b2de10 Rollup merge of #40404 - cengizIO:master, r=nikomatsakis
fix #40294 obligation cause.body_id is not always a NodeExpr

Hello!

This fixes #40294 and moves tests related to #38812 to a much more sensible directory.

Thanks to @nikomatsakis and @eddyb
2017-03-11 21:57:48 +02:00
Ariel Ben-Yehuda
25dcbca0ad Rollup merge of #40400 - TimNN:gdbr-updates, r=alexcrichton
Update gdbr tests

gdb will now reliably detect the lanugage as rust even before any code is run.
2017-03-11 21:57:47 +02:00
Ariel Ben-Yehuda
d75b9ad5f4 Rollup merge of #40373 - TimNN:test-ub-packed, r=arielb1
Fix UB in repr(packed) tests

r? @arielb1

cc #37609 and #27060
2017-03-11 21:57:46 +02:00
Ariel Ben-Yehuda
66436b5a2a Rollup merge of #40372 - nagisa:never-drop, r=eddyb
Do not bother creating StorageLive for TyNever

Keeps MIR cleaner, `StorageLive(_: !)` makes no sense anyway.

r? @eddyb
2017-03-11 21:57:45 +02:00
Ariel Ben-Yehuda
037e5067b1 Rollup merge of #40345 - Nashenas88:patch-1, r=estebank
Fix missing backtick typo

Fixes rendering of the end of the `Configure and Make` section.
2017-03-11 21:57:44 +02:00
Ariel Ben-Yehuda
8dc8f8fe53 Rollup merge of #40344 - nrc:save-container, r=eddyb
save-analysis: cope with lack of method data after a type error

Fixes #39957

r? @eddyb
2017-03-11 21:57:43 +02:00
Ariel Ben-Yehuda
c886815e94 Rollup merge of #40319 - eddyb:it's-"unsize"-not-"unsound", r=nikomatsakis
Disallow subtyping between T and U in T: Unsize<U>.

Because `&mut T` can be coerced to `&mut U`, `T` and `U` must be unified invariantly. Fixes #40288.
E.g. coercing `&mut [&'a X; N]` to `&mut [&'b X]` must require `'a` be equal to `'b`, otherwise you can convert between `&'a X` and `&'b X` (in either direction), potentially unsoundly lengthening lifetimes.

Subtyping here was introduced with `Unsize` in #24619 (landed in 1.1, original PR is #23785).
2017-03-11 21:57:42 +02:00