Commit Graph

68776 Commits

Author SHA1 Message Date
bors
8b45c24b51 Auto merge of #45301 - ishitatsuyuki:llvm5-backport, r=alexcrichton
Backport ThinLTO LLVM 5 fixes

This makes building nightly more convenient on Arch.
2017-10-19 15:04:46 +00:00
bors
e3fb84e951 Auto merge of #45232 - zackmdavis:moar_lint_suggestions, r=estebank
code suggestions for non-shorthand field pattern, no-mangle lints

continuing in the spirit of #44942

![moar_lint_suggestions](https://user-images.githubusercontent.com/1076988/31485011-3b20cc80-aee7-11e7-993d-81267ab77732.png)

r? @estebank
2017-10-19 11:41:11 +00:00
Tatsuyuki Ishi
3efa00365f Update ThinLTO (internalization) for LLVM 5
Ref: ccb80b9c0f
2017-10-19 15:20:47 +09:00
bors
b7960878ba Auto merge of #45368 - kennytm:rollup, r=kennytm
Rollup of 10 pull requests

- Successful merges: #44138, #45082, #45098, #45181, #45217, #45281, #45325, #45326, #45340, #45354
- Failed merges:
2017-10-18 18:07:22 +00:00
kennytm
6b505d6a3f Rollup merge of #45354 - cuviper:unit_doc, r=QuietMisdreavus
rustdoc: add a primitive page for "unit"

In `src/libstd/primitive_docs.rs`, a `#[doc(primitive = "unit")]`
section has sat long neglected.  This patch teaches rustdoc to recognize
"unit", and steals its trait implementations away from the tuple page.
2017-10-19 01:59:54 +08:00
kennytm
c6892f470e Rollup merge of #45340 - stjepang:localkey-state-doc-skip-uninitialized, r=alexcrichton
Docs: a LocalKey might start in the Valid state

Add a comment to the docs for `LocalKey::state` explaining that some keys might skip the `Uninitialized` state and start in the `Valid` state.

cc #27716

r? @alexcrichton
2017-10-19 01:59:53 +08:00
kennytm
c77068a94b Rollup merge of #45326 - cuviper:min-llvm-3.9, r=alexcrichton
Bump the minimum LLVM to 3.9

Old LLVM bugs are reportedly cropping up harder, but 3.9 seems to be OK.

Fixes #45277.
2017-10-19 01:59:52 +08:00
kennytm
0d4dbbab46 Rollup merge of #45325 - spastorino:first_statement_index_with_macro, r=nikomatsakis
Generate FirstStatementIndex using newtype_index macro
2017-10-19 01:59:51 +08:00
kennytm
4913b92ff5 Rollup merge of #45281 - GuillaumeGomez:tab-selection, r=QuietMisdreavus
Save selected search tab

Fixes #45278.

r? @rust-lang/docs
2017-10-19 01:59:50 +08:00
kennytm
0350c2f783 Rollup merge of #45217 - SimonSapin:alloc-doc, r=steveklabnik
Fix out of date unstable book entries for `alloc_*` features.

The `alloc_jemalloc` crate does not provide a type to use with `#[global_allocator]`, and (according to Alex) `extern crate alloc_jemalloc;` alone became a no-op when `#[global_allocator]` was introduced.
2017-10-19 01:59:49 +08:00
kennytm
61c58c1584 Rollup merge of #45181 - Havvy:doc-unstable-lang-items, r=frewsxcv
List of all lang items in unstable book.

I don't know how to link to the source code correctly, so I just put the information aside the lang item name.
2017-10-19 01:59:48 +08:00
kennytm
578016b8b5 Rollup merge of #45098 - sunjay:breakingrustfmtrls, r=alexcrichton
Documenting the process for when rustfmt/rls break

**DO NOT MERGE YET**

I'm documenting what to do when rustfmt or rls break because of your changes. I'm currently going through this and will keep adding more as I figure out what all the steps are. This first commit is based on @alexcrichton's [comment on my original PR](https://github.com/rust-lang/rust/pull/44766#issuecomment-332653525).

[Rendered](https://github.com/sunjay/rust/blob/breakingrustfmtrls/CONTRIBUTING.md#breaking-tools-built-with-the-compiler)

Reviews are welcome, but as I mentioned, I will be revising this as I go.
2017-10-19 01:59:47 +08:00
kennytm
9dfb210761 Rollup merge of #45082 - jacwah:explain-E0382, r=steveklabnik
Mention Clone and refs in --explain E0382

I followed the discussion in #42446 and came up with these additions.

- Mention references before going into traits. They're probably more likely solutions.
- Mention `Clone` before `Copy`. Cloning has wider applicability and `#derive[Copy, Clone]` makes more sense after learning about `Clone`.

The language is not great, any suggestions there would be appreciated 
2017-10-19 01:59:46 +08:00
kennytm
ebdfe338e5 Rollup merge of #44138 - steveklabnik:rustdoc-deprecations, r=QuietMisdreavus
Deprecate several flags in rustdoc

Part of #44136

cc @rust-lang/dev-tools @rust-lang/docs

This is a very basic PR to start deprecating some flags; `rustdoc` doesn't really have fancy output options like `rustc` does, so I went with `eprintln!`. Happy to change it if people feel that's not appropriate.

Also, I have no idea if we can or should write tests here, so I didn't try. If someone feels strongly about it, then let's do it, but given that the only outcome here is a side effect...
2017-10-19 01:59:44 +08:00
Josh Stone
6309a475f9 Remove two obsolete min-llvm-version tests 2017-10-18 07:54:35 -07:00
bors
fc208bb62c Auto merge of #44573 - dotdash:dbg_bloat, r=arielb1
Avoid unnecessary allocas for indirect function arguments

The extra alloca was only necessary because it made LLVM implicitly
handle the necessary deref to get to the actual value. The same happens
for indirect arguments that have the byval attribute. But the Rust ABI
does not use the byval attribute and so we need to manually add the
deref operation to the debuginfo.
2017-10-18 13:36:17 +00:00
Björn Steinbrink
6bfecd41cc Avoid unnecessary allocas for indirect function arguments
The extra alloca was only necessary because it made LLVM implicitly
handle the necessary deref to get to the actual value. The same happens
for indirect arguments that have the byval attribute. But the Rust ABI
does not use the byval attribute and so we need to manually add the
deref operation to the debuginfo.
2017-10-18 12:58:15 +02:00
bors
7a4f39453c Auto merge of #44501 - nikomatsakis:issue-44137-non-query-data-in-tcx, r=eddyb
remove or encapsulate the remaining non-query data in tcx

I wound up removing the existing cache around inhabitedness since it didn't seem to be adding much value. I reworked const rvalue promotion, but not that much (i.e., I did not split the computation into bits, as @eddyb had tossed out as a suggestion). But it's now demand driven, at least.

cc @michaelwoerister -- see the `forbid_reads` change in last commit

r? @eddyb -- since the trickiest of this PR is the work on const rvalue promotion

cc #44137
2017-10-18 10:44:08 +00:00
Josh Stone
9fda05c0bc rustdoc: add a primitive page for "unit"
In `src/libstd/primitive_docs.rs`, a `#[doc(primitive = "unit")]`
section has sat long neglected.  This patch teaches rustdoc to recognize
"unit", and steals its trait implementations away from the tuple page.
2017-10-17 23:03:50 -07:00
Sunjay Varma
790604adad Updating the instructions for when a tool breaks to use the new toolstate feature 2017-10-17 23:05:45 -04:00
Sunjay Varma
3f90c3a2cf Added a section about updating submodules
The process for updating rustfmt is quite involved because of the way everything is configured. This section covers the steps for updating rustfmt and rationale behind them.
2017-10-17 23:05:45 -04:00
Sunjay Varma
bd4907d534 Documenting the process for when rustfmt/rls breakk because of your changes 2017-10-17 23:05:45 -04:00
steveklabnik
045ce183cc modify tests to use new flag 2017-10-17 15:38:52 -04:00
Niko Matsakis
7715f97279 break clippy 2017-10-17 11:24:52 -04:00
Niko Matsakis
0e67d17358 make erase_regions use a query instead of an ad-hoc cache 2017-10-17 11:24:46 -04:00
Santiago Pastorino
b8f981a149 Generate FirstStatementIndex using newtype_index macro 2017-10-17 12:06:20 -03:00
bors
f6d7514545 Auto merge of #45344 - kennytm:rollup, r=kennytm
Rollup of 10 pull requests

- Successful merges: #45097, #45151, #45307, #45308, #45310, #45315, #45321, #45329, #45338, #45339
- Failed merges:
2017-10-17 14:57:33 +00:00
steveklabnik
aad8787586 Create a new flag, --document-private-items
Fixes #44136
2017-10-17 10:54:27 -04:00
steveklabnik
4adf6aed69 Deprecate several flags in rustdoc
Part of #44136

Upgrades cargo due to https://github.com/rust-lang/cargo/pull/4451
2017-10-17 10:54:27 -04:00
Havvy
12873006f6 List of all lang items in unstable book. 2017-10-17 07:22:08 -07:00
kennytm
7f72b31165 Rollup merge of #45339 - xfix:patch-4, r=steveklabnik
Update array documentation for Clone trait changes

Just a note, for this to work, `T` doesn't have to `Copy`, `Clone` is sufficient. For instance, the following works.

```rust
fn x(a: &[String; 100]) -> [String; 100] {
    a.clone()
}
```
2017-10-17 22:21:05 +08:00
kennytm
e72c2a8299 Rollup merge of #45338 - ishitatsuyuki:boot-jemalloc, r=aidanhs
bootstrap: Avoid fetching jemalloc if it's disabled

Fix #45300

More conditions, more madness :) Tested locally.
2017-10-17 22:21:04 +08:00
kennytm
78080f11ad Rollup merge of #45329 - rust-lang:duplicate-word, r=QuietMisdreavus
Remove duplicated word

r? @rust-lang/docs
2017-10-17 22:21:03 +08:00
kennytm
b80bcadd01 Rollup merge of #45321 - alexcrichton:xcodeup, r=aidanhs
ci: Update Travis OSX builders

Looks like Travis [has announced][blog] that our current `xcode8.2` image is
being deprecated and the recommended Xcode 7 image is `xcode7.3`. This updates
us to these ahead of time to make sure we can shake out any bugs, if any.

[blog]: https://blog.travis-ci.com/2017-10-16-a-new-default-os-x-image-is-coming
2017-10-17 22:21:02 +08:00
kennytm
87729fcdba Rollup merge of #45315 - zackmdavis:expected_statement_after_outer_attr_after_inner_attr, r=petrochenkov
don't issue "expected statement after outer attr." after inner attr.

While an inner attribute here is in fact erroneous, that error ("inner
attribute is not permitted in this context") successfully gets set earlier;
this further admonition is nonsensical.

Resolves #45296.
2017-10-17 22:21:01 +08:00
kennytm
16167cbf73 Rollup merge of #45310 - gnzlbg:fix_aarch64, r=pnkfelix
aarch64 is not whitelisted for ARM features

This prevents the target feature `neon` from being enabled on aarch64.
2017-10-17 22:21:00 +08:00
kennytm
2ff1ad08ad Rollup merge of #45308 - dbrgn:headlines, r=steveklabnik
Rustdoc book: Add missing headlines

Some options were missing headlines, which looked a bit inconsistent.
2017-10-17 22:20:59 +08:00
kennytm
6b2027b500 Rollup merge of #45307 - dbrgn:fix-typo, r=QuietMisdreavus
Fix typo in rustdoc book

There was a tyop :P
2017-10-17 22:20:58 +08:00
kennytm
18f289559e Rollup merge of #45151 - Pirh:stdio_default_docs, r=frewsxcv
Document defaults for stdin, stdout, and stderr methods of Command

For #29370
2017-10-17 22:20:57 +08:00
kennytm
40d61f5982 Rollup merge of #45097 - nivkner:fixme_fixup2, r=estebank
address more FIXME whose associated issues were marked as closed

part of #44366
2017-10-17 22:20:55 +08:00
bors
0be6863a15 Auto merge of #45290 - GuillaumeGomez:fix-help, r=QuietMisdreavus
Hide help when search bar is focused

Fixes #45286

r? @rust-lang/docs
2017-10-17 12:18:25 +00:00
Stjepan Glavina
a50fe312dc Docs: a LocalKey might start in the Valid state 2017-10-17 11:02:25 +02:00
bors
611f375a86 Auto merge of #45311 - goffrie:issue-40003, r=alexcrichton
Add the test for #40003.

I checked that the test failed to compile on an older nightly (I tried 2017-09-29) and that it compiles against master.

Closes #40003.
2017-10-17 09:00:11 +00:00
Konrad Borowski
8528508aa0 Update array documentation for Clone trait changes 2017-10-17 08:29:29 +02:00
Tatsuyuki Ishi
cbe41168e0 bootstrap: Avoid fetching jemalloc if it's disabled
Fix #45300
2017-10-17 15:01:49 +09:00
Alex Crichton
56f5a19e45 Update ThinLTO for LLVM 5 2017-10-17 14:33:36 +09:00
bors
db80da1c1a Auto merge of #45179 - cuviper:result-intoiter-clone, r=BurntSushi
core: derive Clone for result::IntoIter

It appears to be a simple oversight that `result::IntoIter<T>` doesn't
implement `Clone` (where `T: Clone`).  We do already have `Clone` for
`result::Iter`, as well as the similar `option::IntoIter` and `Iter`.
2017-10-17 03:11:52 +00:00
bors
90691c8c1f Auto merge of #45138 - johnthagen:future_imports, r=nikomatsakis
Add more __future__ imports to increase compatibility with Python 3 in bootstrap

The functionality of the  `__future__` imports are described [here](https://docs.python.org/3/library/__future__.html).

 These will help ensure the bootstrap code stays compatible with Python 3. If changes are made in the future that use absolute imports, division, or the `print` function, this will be ensure that running it under Python 2 will pass or fail the same way as Python 3.

`Option` is made a [new-style class](https://docs.python.org/2/reference/datamodel.html#new-style-and-classic-classes), so that it behaves the same way in Python 2 and 3.

The `__future__ unicode_literals` import is not used, because that can change the semantics of the code in Python 2 in unwanted ways. For more information see [this article](http://python-future.org/unicode_literals.html).
2017-10-17 00:34:32 +00:00
Guillaume Gomez
cefaaf21ee Remove duplicated word 2017-10-17 00:19:25 +02:00
johnthagen
bd8497884c Merge branch 'master' into future_imports 2017-10-16 17:56:12 -04:00