Commit graph

21447 commits

Author SHA1 Message Date
Felix S. Klock II
9e33d57517 Added expected (compile-time) outputs.
* In the case of `derive-same-struct`, it seemed cleaner to add the
  output than to try to modify the macro itself (which is where the
  output is coming from).

* In the case of `custom-derive-partial-eq`, it was just easier to add
  the output than to attempt to port the test to use a procedural
  macro.
2018-09-21 16:21:40 +02:00
Felix S. Klock II
3a44115a72 Add Rustc prefixes to derive(Decodable, Encodable).
As a bit of a hack, make `rustc_serialize` an alias of the private
`serialize` crate, just so the new derive continues working.

Fix #54287.
2018-09-21 16:21:39 +02:00
Felix S. Klock II
43061d3a78 Allow various lints in src/test/run-pass-fulldeps/ so that it can continue under ui test mode.
(One of them led me to file rust-lang/rust#54288.)
2018-09-21 16:21:39 +02:00
Felix S. Klock II
2664db235c Run the newly ui-ified run-pass tests under compare-mode=nll as well.
Fix #53764.
2018-09-21 16:21:38 +02:00
Felix S. Klock II
6219448af6 Add expected output for compiler to tests of optimization-fuel-{0,1}.rs. 2018-09-21 16:21:38 +02:00
Felix S. Klock II
5def991033 Ignore the output itself on rustc-rust-log.rs (added in rust-lang/rust#42737). 2018-09-21 16:21:38 +02:00
Felix S. Klock II
371fffdbed Workaround rust-lang/rust#54222 by just ignoring the warning about the linker flag. 2018-09-21 16:21:37 +02:00
Felix S. Klock II
c9f2c2de92 Allow various lints as part of ui-ifying src/test/run-pass suite. 2018-09-21 16:21:37 +02:00
bors
2fa1390f6c Auto merge of #54389 - kennytm:rollup, r=kennytm
Rollup of 15 pull requests

Successful merges:

 - #52813 (Duration div mul extras)
 - #53470 (Warn about metadata loader errors)
 - #54233 (Remove LLVM 3.9 workaround.)
 - #54257 (Switch wasm math symbols to their original names)
 - #54258 (Enable fatal warnings for the wasm32 linker)
 - #54266 (Update LLVM to fix "bool" arguments on PPC32)
 - #54290 (Switch linker for aarch64-pc-windows-msvc from LLD to MSVC)
 - #54292 (Suggest array indexing when tuple indexing on an array)
 - #54295 (A few cleanups and minor improvements to rustc/traits)
 - #54298 (miri: correctly compute expected alignment for field)
 - #54333 (Update The Book to latest)
 - #54337 (Remove unneeded clone() from tests in librustdoc)
 - #54346 (rustc: future-proof error reporting for polymorphic constants in types.)
 - #54362 (Pass --batch to gdb)
 - #54367 (Add regression test for thread local static mut borrows)
2018-09-20 22:47:34 +00:00
kennytm
ec085962c6
Rollup merge of #54367 - spastorino:add-thread-local-static-borrow-test, r=pnkfelix
Add regression test for thread local static mut borrows

FIXME(#54366) - We probably shouldn't allow `#[thread_local] static mut` to get a `'static` lifetime, but for now, we should at least test the behavior that `rustc` currently has.
2018-09-20 23:28:08 +08:00
bors
3bc2ca7e4f Auto merge of #53162 - QuietMisdreavus:crouching-impl-hidden-trait, r=GuillaumeGomez
rustdoc: collect trait impls as an early pass

Fixes https://github.com/rust-lang/rust/issues/52545, fixes https://github.com/rust-lang/rust/issues/41480, fixes https://github.com/rust-lang/rust/issues/36922

Right now, rustdoc pulls all its impl information by scanning a crate's HIR for any items it finds. However, it doesn't recurse into anything other than modules, preventing it from seeing trait impls that may be inside things like functions or consts. Thanks to https://github.com/rust-lang/rust/pull/53002, now these items actually *exist* for rustdoc to see, but they still weren't getting collected for display.

But there was a secret. Whenever we pull in an item from another crate, we don't have any of its impls in the local HIR, so instead we ask the compiler for *everything* and filter out after the fact. This process is only triggered if there's a cross-crate re-export in the crate being documented, which can sometimes leave this info out of the docs. This PR instead moves this collection into an early pass, which occurs immediately after crate cleaning, so that that collection occurs regardless. In addition, by including the HIR's own `trait_impls` in addition to the existing `all_trait_implementations` calls, we can collect all these tricky trait impls without having to scan for them!
2018-09-20 14:32:26 +00:00
kennytm
cf06e03506
Rollup merge of #54292 - memoryruins:issue-53712, r=estebank
Suggest array indexing when tuple indexing on an array

Closes #53712

r? @varkor
cc @estebank
2018-09-20 21:36:26 +08:00
QuietMisdreavus
1106577116 fix intra-links for trait impls 2018-09-20 05:54:31 -05:00
QuietMisdreavus
e854d39929 don't index trait impls if the trait isn't also documented 2018-09-20 05:42:36 -05:00
QuietMisdreavus
7e70fee0c7 add more tests for traits-in-non-module-scope 2018-09-20 05:42:35 -05:00
QuietMisdreavus
e79780f18f don't check visibility when inlining local impls
those get handled properly in strip-hidden anyway
2018-09-20 05:42:33 -05:00
QuietMisdreavus
457efc111a ignore rustdoc/doc-proc-macro on stage1 2018-09-20 05:42:22 -05:00
QuietMisdreavus
02bea3c581 rustdoc: collect trait impls as an early pass 2018-09-20 05:42:20 -05:00
bors
f7f4c500b4 Auto merge of #54255 - spastorino:use-of-moved-value-error, r=nikomatsakis
Inspect parents paths when checking for moves

Closes #52669
2018-09-20 09:02:46 +00:00
Santiago Pastorino
ae42e537db
Add regression test for thread local static mut borrows 2018-09-19 17:54:24 -03:00
bors
4f3ff5a97b Auto merge of #54101 - osa1:issue_54099, r=nikomatsakis
Fix camel case type warning for types with trailing underscores

Fixes #54099
2018-09-19 09:20:36 +00:00
bors
1e21c9a297 Auto merge of #53877 - withoutboats:compositional-pin, r=aturon
Update to a new pinning API.

~~Blocked on #53843 because of method resolution problems with new pin type.~~

@r? @cramertj

cc @RalfJung @pythonesque anyone interested in #49150
2018-09-19 06:56:19 +00:00
bors
8f376771cf Auto merge of #53995 - davidtwco:issue-53807, r=nikomatsakis
NLL: Deduplicate errors for incorrect move in loop

Fixes #53807.

r? @nikomatsakis
2018-09-19 00:01:51 +00:00
memoryruins
73fdc81b39 Use expr's span 2018-09-18 15:35:04 -04:00
memoryruins
dff1bc1260 Set diagnostic applicability based on array length 2018-09-18 14:41:34 -04:00
David Wood
88ca3412e2
Switched from FxHashMap to BTreeMap to preserve ordering when iterating. 2018-09-18 13:55:27 +02:00
David Wood
783bad4295
De-duplicate moved variable errors.
By introducing a new map that tracks the errors reported and the
`Place`s that spawned those errors against the move out that the error
was referring to, we are able to silence duplicate errors by emitting
only the error which corresponds to the most specific `Place` (that which
other `Place`s which reported errors are prefixes of).

This generally is an improvement, however there is a case -
`liveness-move-in-while` - where the output regresses.
2018-09-18 13:51:41 +02:00
bors
79fcc58b24 Auto merge of #54034 - pnkfelix:issue-15287-bind-by-move-pattern-guards, r=nikomatsakis
Add feature to enable bind by move pattern guards

Implement #15287 as described on https://github.com/rust-lang/rust/issues/15287#issuecomment-404827419
2018-09-18 11:39:51 +00:00
bors
f004cae536 Auto merge of #54319 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 9 pull requests

Successful merges:

 - #53522 (Add doc for impl From for Addr)
 - #54097 (rustdoc: Remove namespace for keywords)
 - #54205 (Add treat-err-as-bug flag in rustdoc)
 - #54225 (Regression test for rust-lang/rust#53675.)
 - #54232 (add `-Z dont-buffer-diagnostics`)
 - #54273 (Suggest to change numeric literal instead of casting)
 - #54299 (Issue 54246)
 - #54311 (Remove README with now-out-of-date docs about docs.)
 - #54313 (OsStr: Document that it's not NUL terminated)

Failed merges:

r? @ghost
2018-09-18 09:06:42 +00:00
Taylor Cramer
403d12d696 Remove outdated rustdoc PinBox tests 2018-09-18 01:42:27 -07:00
Guillaume Gomez
50b9694af9
Rollup merge of #54299 - snaedis:issue-54246, r=varkor
Issue 54246

I added the option of providing a help message for deprecated features, that takes precedence over the default `help: remove this attribute` message, along with messages for the features that mention replacements in the reason for deprecation.

Fixes #54246.
2018-09-18 10:21:41 +02:00
Guillaume Gomez
5f1a123c20
Rollup merge of #54273 - csmoe:lint_ty_lit, r=estebank
Suggest to change numeric literal instead of casting

Closes #54160
r? @estebank
2018-09-18 10:21:40 +02:00
Guillaume Gomez
cdd90343b3
Rollup merge of #54225 - pnkfelix:issue-53675-add-test-called-panic, r=petrochenkov
Regression test for rust-lang/rust#53675.

(Includes a couple variations on the theme. I confirmed that the ones
in `in_expression_position` and `what_if_we_use_panic_directly_in_expr`
both failed back on "rustc 1.30.0-nightly (0f063aef6 2018-09-03)".)

Fix #53675
2018-09-18 10:21:37 +02:00
Guillaume Gomez
6aed133ebd
Rollup merge of #54097 - GuillaumeGomez:remove-keyword-namespace, r=QuietMisdreavus
rustdoc: Remove namespace for keywords

Fixes #54084.

r? @QuietMisdreavus
2018-09-18 10:21:35 +02:00
bors
36c0ee97b9 Auto merge of #53900 - davidtwco:issue-53771, r=nikomatsakis
NLL regresses diagnostic for impl-trait/static-return-lifetime-infered.rs

Fixes #53771.

r? @nikomatsakis
cc @pnkfelix @estebank
2018-09-18 06:24:56 +00:00
Taylor Cramer
3ec1810e32 Cleanup and fix method resolution issue 2018-09-17 16:31:33 -07:00
bors
354a29a5f1 Auto merge of #54277 - petrochenkov:afterder, r=alexcrichton
Temporarily prohibit proc macro attributes placed after derives

... and also proc macro attributes used together with `#[test]`/`#[bench]`.

Addresses item 6 from https://github.com/rust-lang/rust/pull/50911#issuecomment-411605393.

The end goal is straightforward predictable left-to-right expansion order for attributes.
Right now derives are expanded last regardless of their relative ordering with macro attributes and right now it's simpler to temporarily prohibit macro attributes placed after derives than changing the expansion order.
I'm not sure whether the new beta is already released or not, but if it's released, then this patch needs to be backported, so the solution needs to be minimal.

How to fix broken code (derives):
- Move macro attributes above derives. This won't change expansion order, they are expanded before derives anyway.

Using attribute macros on same items with `#[test]` and `#[bench]` is prohibited for similar expansion order reasons, but this one is going to be reverted much sooner than restrictions on derives.

How to fix broken code (test/bench):
- Enable `#![feature(plugin)]` (don't ask why).

r? @ghost
2018-09-17 18:13:26 +00:00
Santiago Pastorino
e9029cec7b
Inspect parents paths when checking for moves 2018-09-17 13:38:04 -03:00
Alva Snædís
79da7a0a2f libsyntax: add optional help message for deprecated features 2018-09-17 16:09:23 +00:00
memoryruins
30556d592e Suggest array indexing when tuple indexing on an array. 2018-09-17 09:09:45 -04:00
Alva Snædís
e4e4039c5b libsyntax: fix casing in error message 2018-09-17 12:12:37 +00:00
Felix S. Klock II
3a07d3dbd6 On nightly with NLL, suggest #![feature(bind_by_move_pattern_guards)] when it might fix the code. 2018-09-17 13:46:50 +02:00
Felix S. Klock II
c50884c615 Tests for feature(bind_by_move_pattern_guards).
Apparently copyright notices are no longer necessary apparently.
(See #43498 and #53654.)
2018-09-17 13:46:50 +02:00
csmoe
2fb6585f33 add test for float/integer 2018-09-17 14:26:58 +08:00
Vadim Petrochenkov
e411bb33f8 resolve: Do not error on access to proc macros imported with #[macro_use] 2018-09-16 21:13:41 +03:00
Vadim Petrochenkov
229df02c0b Temporarily prohibit proc macro attributes placed after derives
... and also proc macro attributes used together with test/bench.
2018-09-16 19:51:41 +03:00
bors
d3cba9b4b4 Auto merge of #54270 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 5 pull requests

Successful merges:

 - #53941 (rustdoc: Sort implementors)
 - #54181 (Suggest && and || instead of 'and' and 'or')
 - #54209 (Partially revert 674a5db "Fix undesirable fallout [from macro modularization]")
 - #54213 (De-overlap the lifetimes of `flow_inits` and `flow_{un,ever_}inits`.)
 - #54244 (Add a small search box to seach Rust's standary library)

Failed merges:

r? @ghost
2018-09-16 15:42:02 +00:00
csmoe
17a28f7063 add test for numeric literal cast 2018-09-16 21:22:47 +08:00
Guillaume Gomez
4f5ab7f6bc
Rollup merge of #54209 - petrochenkov:mexpr, r=pnkfelix
Partially revert 674a5db "Fix undesirable fallout [from macro modularization]"

Partially revert 674a5db1a5

~~Closes~~ (see pnkfelix comments below) https://github.com/rust-lang/rust/issues/53675
2018-09-16 12:25:43 +02:00
Guillaume Gomez
54a1d2b131
Rollup merge of #54181 - vi:hint_and_or, r=estebank
Suggest && and || instead of 'and' and 'or'

Resolves #54109.

Note: competing pull reqeust: #54179

r? @csmoe
2018-09-16 12:25:42 +02:00