Commit Graph

90652 Commits

Author SHA1 Message Date
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
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
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
Esteban Küber
e3299f2c0d Update treat-err-as-bug help text 2019-03-07 11:18:05 -08:00
Esteban Küber
bc9b936290 Fix with_emitter callers 2019-03-07 11:15:47 -08:00
Esteban Küber
a7563a30c0 fix bad logic 2019-03-07 08:46:18 -08:00
Dan Robertson
1d72037dd3
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.
2019-03-07 16:31:01 +00:00
ljedrz
d7120e400d hir: remove some obsolete NodeId methods 2019-03-07 15:46:41 +01:00
ljedrz
e780daf372 hir: remove Visitor::visit_def_mention 2019-03-07 12:52:38 +01:00
ljedrz
42fbcb567c hir: replace NodeId with HirId in Destination 2019-03-07 12:43:27 +01:00
ljedrz
558a07b896 hir: remove NodeId from PatKind 2019-03-07 12:18:59 +01:00
Esteban Küber
c41ddf1773 Keep current behavior while accepting error count 2019-03-07 03:17:39 -08:00
Oliver Scherer
e5b3ed84a0 Actually publish miri in the manifest 2019-03-07 10:27:58 +01:00
Esteban Küber
754037de13 fix bad use of with_emitter 2019-03-07 00:27:41 -08:00
ljedrz
78f91e3976 hir: remove NodeId from PathSegment 2019-03-07 09:25:51 +01:00
ljedrz
cd06038b54 HirIdification: replace NodeId method calls 2019-03-07 09:22:43 +01:00