Commit Graph

62158 Commits

Author SHA1 Message Date
Clar Charr 0739ecec61 Removes Default for Box<Path>. 2017-03-15 11:36:13 -04: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 https://github.com/rust-lang/rust/pull/40236/commits/c652a4fb566ac4bec1d62c66769dd055ad239df6.

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