Commit Graph

91008 Commits

Author SHA1 Message Date
ishitatsuyuki
a03e20db6d Fix fallout from #57667 2019-03-09 18:23:17 +09:00
bors
e1b8898cfb Auto merge of #57882 - euclio:unused-doc-attributes, r=estebank
overhaul unused doc comments lint

This PR contains a number of improvements to the `unused_doc_comments` lint.

- Extends the span to cover the entire comment when using sugared doc comments.
- Triggers the lint for all unused doc comments on a node, instead of just the first one.
- Triggers the lint on macro expansions, and provides a help note explaining that doc comments must be expanded by the macro.
- Adds a label pointing at the node that cannot be documented.

Furthermore, this PR fixes any instances in rustc where a macro expansion was erroneously documented.
2019-03-09 08:17:48 +00:00
kennytm
94a6936a69
Track embedded-book in the toolstate 2019-03-09 14:40:14 +08:00
bors
c9f8304351 Auto merge of #59012 - pietroalbini:rollup, r=pietroalbini
Rollup of 24 pull requests

Successful merges:

 - #58080 (Add FreeBSD armv6 and armv7 targets)
 - #58204 (On return type `impl Trait` for block with no expr point at last semi)
 - #58269 (Add librustc and libsyntax to rust-src distribution.)
 - #58369 (Make the Entry API of HashMap<K, V> Sync and Send)
 - #58861 (Expand where negative supertrait specific error is shown)
 - #58877 (Suggest removal of `&` when borrowing macro and appropriate)
 - #58883 (Suggest appropriate code for unused field when destructuring pattern)
 - #58891 (Remove stray ` in the docs for the FromIterator implementation for Option)
 - #58893 (race condition in thread local storage example)
 - #58906 (Monomorphize generator field types for debuginfo)
 - #58911 (Regression test for #58435.)
 - #58912 (Regression test for #58813)
 - #58916 (Fix release note problems noticed after merging.)
 - #58918 (Regression test added for an async ICE.)
 - #58921 (Add an explicit test for issue #50582)
 - #58926 (Make the lifetime parameters of tcx consistent.)
 - #58931 (Elide invalid method receiver error when it contains TyErr)
 - #58940 (Remove JSBackend from config.toml)
 - #58950 (Add self to mailmap)
 - #58961 (On incorrect cfg literal/identifier, point at the right span)
 - #58963 (libstd: implement Error::source for io::Error)
 - #58970 (delay_span_bug in wfcheck's ty.lift_to_tcx unwrap)
 - #58984 (Teach `-Z treat-err-as-bug` to take a number of errors to emit)
 - #59007 (Add a test for invalid const arguments)

Failed merges:

 - #58959 (Add release notes for PR #56243)

r? @ghost
2019-03-09 05:19:48 +00:00
bors
777cc25bac Auto merge of #58920 - ehuss:update-cargo-rls, r=ehuss
Update cargo, rls, books

## cargo

10 commits in 5c6aa46e6f28661270979696e7b4c2f0dff8628f..95b45eca19ac785263fed98ecefe540bb47337ac
2019-02-22 19:32:35 +0000 to 2019-03-06 19:24:30 +0000
- Relax some rustdoc tests. (rust-lang/cargo#6721)
- Include build script execution in the fingerprint. (rust-lang/cargo#6720)
- part of the infrastructure for public & private dependencies in the resolver (rust-lang/cargo#6653)
- Bump to 0.36.0 (rust-lang/cargo#6718)
- Some test/bench-related tweaks (rust-lang/cargo#6707)
- Fix links to the permanent home of the edition guide. (rust-lang/cargo#6703)
- HTTPS all the things (rust-lang/cargo#6614)
- Cargo test quicker by not building untested examples when filtered (rust-lang/cargo#6683)
- Link from ARCHITECTURE.md to docs.rs and github (rust-lang/cargo#6695)
- Update how to install rustfmt (rust-lang/cargo#6696)

## rls

9 commits in 0d6f53e1a4adbaf7d83cdc0cb54720203fcb522e..6a1b5a9cfda2ae19372e0613e76ebefba36edcf5
2019-02-14 07:52:15 +0000 to 2019-03-04 20:24:45 +0000
- Update cargo and clippy. (rust-lang-nursery/rls#1388)
- catch up rust-lang/rust PR#58321 (rust-lang-nursery/rls#1384)
- Apply Clippy fixes (rust-lang-nursery/rls#1327)
- Various cosmetic improvements (rust-lang-nursery/rls#1326)
- Make test `RlsHandle` transport-agnostic (rust-lang-nursery/rls#1317)
- Translate remaining tests (rust-lang-nursery/rls#1320)
- Remove unnecessary #![feature]s (rust-lang-nursery/rls#1323)
- Update Clippy (rust-lang-nursery/rls#1319)
- Update Clippy (rust-lang-nursery/rls#1315)

cc @xanewok

## Books
See #58936 for details.
2019-03-09 02:22:02 +00:00
Esteban Küber
0a505a71d3 Parse lifetimes that start with a number and give specific error 2019-03-08 16:56:31 -08:00
bors
b2ea6c86ae Auto merge of #58985 - dlrobertson:fix_58980, r=alexreg
Fix segfaults in release build C-variadic fns

`va_start` and `va_end` must be called to initialize/cleanup the
"spoofed" `VaList` in a Rust defined C-variadic function even  if
the `VaList` is not used.

r? @alexreg
Fixes: #58980
2019-03-08 23:24:16 +00:00
Eric Huss
06090290e2 Update books 2019-03-08 12:25:36 -08:00
Eric Huss
9243f9c6f2 Update cargo, rls 2019-03-08 12:07:13 -08:00
Andy Russell
daf80f721b
expand unused doc comment diagnostic
Report the diagnostic on macro expansions, and add a label indicating
why the comment is unused.
2019-03-08 12:39:50 -05:00
Andy Russell
018d4d265f
improve unused doc comment diagnostic reporting
Report all unused attributes on a given doc comment instead of just the
first one, and extend the span of sugared doc comments to encompass the
whole comment.
2019-03-08 12:39:47 -05:00
Alex Crichton
6465257e54 std: Delete a by-definition spuriously failing test
This commit deletes the `connect_timeout_unbound` test from the standard
library which, unfortunately, is by definition eventually going to be a
spuriously failing test. There's no way to reserve a port as unbound so
we can rely on ecosystem testing for this feature for now.

Closes #52590
2019-03-08 07:41:19 -08:00
Felix S. Klock II
d6cee67c27 Unit (and regression) tests for warning cycle code. 2019-03-08 16:36:37 +01:00
Felix S. Klock II
98e40170be Temporarily emulate the (accidentally) omitted recursion during impl Trait check.
Note that the two previous visitors were omitting slightly different
recursive calls, so I need two flags to properly emulate them.
2019-03-08 16:36:28 +01:00
bors
2a65cbeea7 Auto merge of #58915 - ljedrz:deprecate_nodeid_methods, r=Zoxc
HirIdification: almost there

The next iteration of HirIdification (#57578).

Replaces a bunch of `NodeId` method calls (mostly `as_local_node_id`) with `HirId` ones.

Removes `NodeId` from:
- [x] `PathSegment`
- [x] `PatKind`
- [x] `Destination` (replaces it with `HirId`)

In addition this PR also removes `Visitor::visit_def_mention`, which doesn't seem to be doing anything.
2019-03-08 13:49:07 +00:00
ljedrz
24fad4c145 update clippy 2019-03-08 12:29:10 +01:00
Nagy Tibor
63f60b06a2 Fix documentation of from_ne_bytes and from_le_bytes 2019-03-08 12:17:47 +01:00
Pietro Albini
961e378ca1
Rollup merge of #59007 - varkor:invalid-const-arg-test, r=petrochenkov
Add a test for invalid const arguments

Closes https://github.com/rust-lang/rust/issues/58811.
2019-03-08 09:42:15 +01:00
Pietro Albini
72d4c1ed67
Rollup merge of #58984 - estebank:multi-treat-err-as-bug, r=oli-obk
Teach `-Z treat-err-as-bug` to take a number of errors to emit

`-Z treat-err-as-bug` will cause `rustc` to panic after the first error is reported, like previously. `-Z treat-err-as-bug=2` will cause `rustc` to panic after 2 errors have been reported.

Fix #58983.
2019-03-08 09:42:13 +01:00
Pietro Albini
c51c90c891
Rollup merge of #58970 - pnkfelix:issue-58158-size-of-assoc-type-ice, r=petrochenkov
delay_span_bug in wfcheck's ty.lift_to_tcx unwrap

Fix #58158
2019-03-08 09:42:12 +01:00
Pietro Albini
378a0118f3
Rollup merge of #58963 - seanmonstar:patch-3, r=cramertj
libstd: implement Error::source for io::Error
2019-03-08 09:42:10 +01:00
Pietro Albini
54a5073af9
Rollup merge of #58961 - estebank:issue-58462, r=varkor
On incorrect cfg literal/identifier, point at the right span

CC #58462
2019-03-08 09:42:09 +01:00
Pietro Albini
1d33fc9975
Rollup merge of #58950 - Lucretiel:patch-5, r=alexcrichton
Add self to mailmap
2019-03-08 09:42:06 +01:00
Pietro Albini
b2f7968cd4
Rollup merge of #58940 - ThisIsADogHello:patch-1, r=alexcrichton
Remove JSBackend from config.toml

JSBackend is implied when building the emscripten backend, and not available for the standard llvm backend.  This commit also puts the example config in sync with the defaults in src/bootstrap/native.rs
2019-03-08 09:42:04 +01:00
Pietro Albini
254bc426b2
Rollup merge of #58931 - estebank:elide-receiver-tyerr, r=varkor
Elide invalid method receiver error when it contains TyErr

Fix #58712.
2019-03-08 09:42:03 +01:00
Pietro Albini
40daa0648a
Rollup merge of #58926 - gabi-250:tcx-lifetimes, r=petrochenkov
Make the lifetime parameters of tcx consistent.

I have implemented `codegen_allocator` for my backend, but I've had to make a small change to its signature in `ExtraBackendMethods`. I wonder if this change is justified, or if it is too specific to my use case to be useful to anyone else.

`write_metadata` and `codegen_allocator` are both called from `codegen_crate` (in `librustc_codegen_ssa/base.rs`), and they both receive the same `tcx` as an argument:

c196097e58/src/librustc_codegen_ssa/base.rs (L555-L557)

and:

c196097e58/src/librustc_codegen_ssa/base.rs (L640-L642)

However, `codegen_allocator` accepts a `TyCtxt` with any lifetime parameters (`tcx: TyCtxt<'_, '_, '_>`), while `write_metadata` requires that the `tcx` argument is of type `TyCtxt<'b, 'gcx, 'gcx>`. In my implementation, I've found that it's necessary for `tcx` in `codegen_allocator` to also have the `<'b, 'gcx, 'gcx>` lifetime parameters.

Have I misunderstood the purpose of the parameters of `TyCtxt`? I've read [here](https://rust-lang.github.io/rustc-guide/ty.html) that the last two parameters only need to be distinct if the function needs to be used during type inference, but I don't think that is the case here.
2019-03-08 09:42:01 +01:00
Pietro Albini
416edc1076
Rollup merge of #58921 - cuviper:issue-50582, r=varkor
Add an explicit test for issue #50582

This code no longer ICEs, and @yodaldevoid found that it was fixed by
commit fe5710a. While that added a similar test, we can explicitly test
this reproducer too.

Closes #50582.
2019-03-08 09:42:00 +01:00
Pietro Albini
c99a2405ec
Rollup merge of #58918 - gilescope:async-await-issue-testcase, r=petrochenkov
Regression test added for an async ICE.

Regression test for #57084 (as suggested in issue).
2019-03-08 09:41:58 +01:00
Pietro Albini
d9c6908fb7
Rollup merge of #58916 - tspiteri:release-notes, r=petrochenkov
Fix release note problems noticed after merging.

Cherry picked from stable branch.
2019-03-08 09:41:57 +01:00
Pietro Albini
eaafcb77b0
Rollup merge of #58912 - pnkfelix:issue-58813-incr-comp-regress-test, r=petrochenkov
Regression test for #58813

Fix #58813
2019-03-08 09:41:55 +01:00
Pietro Albini
c789291d48
Rollup merge of #58911 - pnkfelix:issue-58435-regression-test, r=alexcrichton
Regression test for #58435.

Fix #58435
2019-03-08 09:41:54 +01:00
Pietro Albini
4083c698e5
Rollup merge of #58906 - Nemo157:generator-state-debug-info, r=Zoxc
Monomorphize generator field types for debuginfo

Fixes #58888

r? @Zoxc
2019-03-08 09:41:52 +01:00
Pietro Albini
4bff63f05f
Rollup merge of #58893 - benaryorg:thread_local_example_join, r=alexcrichton
race condition in thread local storage example

The example had a potential race condition that would still pass the test.
If the thread which was supposed to modify it's own thread local was slower than the instruction to
modify in the main thread, then the test would pass even in case of a failure.
This is would be minor if the child thread was waited for since it check using an `assert_eq` for the
same thing, but vice versa.
However, if the `assert_eq` failed this would trigger a panic, which is not at all caught by the
example since the thread is not waited on.

Signed-off-by: benaryorg <binary@benary.org>
2019-03-08 09:41:50 +01:00
Pietro Albini
9c995110c4
Rollup merge of #58891 - Delta-Psi:doc-fixes, r=Centril
Remove stray ` in the docs for the FromIterator implementation for Option
2019-03-08 09:41:49 +01:00
Pietro Albini
3005b4d918
Rollup merge of #58883 - estebank:unused-closure-arg, r=varkor
Suggest appropriate code for unused field when destructuring pattern

Fix #56472.
2019-03-08 09:41:47 +01:00
Pietro Albini
4fbeb11374
Rollup merge of #58877 - estebank:macro-borrow, r=davidtwco
Suggest removal of `&` when borrowing macro and appropriate

Fix #58815.
2019-03-08 09:41:45 +01:00
Pietro Albini
a68f7600f4
Rollup merge of #58861 - estebank:fix-negative-traits, r=petrochenkov
Expand where negative supertrait specific error is shown

Fix #58857.

r? @petrochenkov
2019-03-08 09:41:43 +01:00
Pietro Albini
55dc386f61
Rollup merge of #58369 - nox:sync-hash-map-entry, r=Amanieu
Make the Entry API of HashMap<K, V> Sync and Send

Fixes #45219
2019-03-08 09:41:42 +01:00
Pietro Albini
bf7b50254e
Rollup merge of #58269 - taeguk:add-some-sources-to-rust-src-distribution, r=Mark-Simulacrum
Add librustc and libsyntax to rust-src distribution.

Fixes #58268.
2019-03-08 09:41:40 +01:00
Pietro Albini
479756802a
Rollup merge of #58204 - estebank:impl-trait-semi, r=zackmdavis
On return type `impl Trait` for block with no expr point at last semi

Partial solution, doesn't actually validate that the last statement in the function body can satisfy the trait bound, but it's a good incremental improvement over the status quo.

```
error[E0277]: the trait bound `(): Bar` is not satisfied
  --> $DIR/impl-trait-return-trailing-semicolon.rs:3:13
   |
LL | fn foo() -> impl Bar {
   |             ^^^^^^^^ the trait `Bar` is not implemented for `()`
LL |     5;
   |      - consider removing this semicolon
   |
   = note: the return type of a function must have a statically known size
```

Partially addresses #54771.
2019-03-08 09:41:38 +01:00
Pietro Albini
19e39cb9cb
Rollup merge of #58080 - MikaelUrankar:freebsd_arm, r=sanxiyn
Add FreeBSD armv6 and armv7 targets
2019-03-08 09:41:36 +01:00
bors
b58a0061a3 Auto merge of #58903 - estebank:forgetful-delims, r=petrochenkov
Always emit unclosed delimiter diagnostics

Fix #58886.
2019-03-08 08:39:13 +00:00
bors
0547ceb200 Auto merge of #58013 - Zoxc:stable-hash-macro-simple, r=oli-obk
Create a derive macro for HashStable and allow proc macros in rustc

A combination of https://github.com/rust-lang/rust/pull/56864 and https://github.com/rust-lang/rust/pull/56795. There were complications with using `serde_derive` as rustc doesn't know which crate to use for the host when there is a serde_derive in the sysroot and cargo passes another on the command line built from crates.io.

r? @eddyb (for proc macro changes) @alexcrichton (for rustbuild changes) @michaelwoerister (for the macro itself)
2019-03-08 05:46:08 +00:00
Steven Fackler
ab8e1d264e Always call read/write from default vectored io methods 2019-03-07 19:31:58 -08:00
Steven Fackler
ec91f26442 Fix SGX implementations of read/write_vectored. 2019-03-07 18:39:18 -08:00
varkor
8bb62d18f3 Add a test for invalid const arguments 2019-03-07 23:39:01 +00:00
Esteban Küber
29716ef4f7 update treat-err-as-bug test 2019-03-07 15:25:32 -08:00
Vadim Petrochenkov
e19b228959 Improve recovery for missing trait in a trait impl 2019-03-08 00:24:02 +03:00
Wesley Norris
00887f39d1 Adds diagnostic message and UI test. 2019-03-07 23:18:12 +03:00
Esteban Küber
e3299f2c0d Update treat-err-as-bug help text 2019-03-07 11:18:05 -08:00