Commit Graph

91946 Commits

Author SHA1 Message Date
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
Esteban Küber
dcaec88a57 Add more details to elseless if error 2019-03-07 14:37:18 -08:00
Esteban Küber
ffa40cb45c address review comments 2019-03-07 14:08:20 -08:00
Vadim Petrochenkov
e19b228959 Improve recovery for missing trait in a trait impl 2019-03-08 00:24:02 +03:00
Esteban Küber
369058eacd Point at coercion reason for if exprs without else clause
```
error[E0317]: if may be missing an else clause
  --> $DIR/if-without-else-as-fn-expr.rs:2:5
   |
LL |   fn foo(bar: usize) -> usize {
   |                         ----- found `usize` because of this return type
LL | /     if bar % 5 == 0 {
LL | |         return 3;
LL | |     }
   | |_____^ expected (), found usize
   |
   = note: expected type `()`
              found type `usize`
   = note: `if` expressions without `else` must evaluate to `()`
```
2019-03-07 13:17:50 -08: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
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
Josh Stone
c843fe710b Wrap a long configure line 2019-03-06 20:33:09 -08:00
Josh Stone
3477939b79 [CI] Update binutils for powerpc64 and powerpc64le
Cargo powerpc64 and powerpc64le are seeing `SIGILL` crashes in openssl,
which was found to be a linking problem, fixed by newer binutils. See
<https://github.com/rust-lang/rust/issues/57345#issuecomment-462094555>

For powerpc64 we're using crosstool-ng, which doesn't offer a newer
binutils version, but we can just compile it separately. On powerpc64le
we're already building binutils. Both are now updated to binutils 2.32.

Closes rust-lang/cargo#6320
Closes rust-lang/rust#57345
Closes rust-lang/rustup.rs#1620
2019-03-06 20:14:27 -08:00
Esteban Kuber
7694ca1105 Fix incorrect default 2019-03-06 19:57:04 -08:00
Esteban Küber
7a55a004fa Make -Z treat-err-as-bug take a number of errors to be emitted
`-Z treat-err-as-bug=0` will cause `rustc` to panic after the first
error is reported. `-Z treat-err-as-bug=2` will cause `rustc` to
panic after 3 errors have been reported.
2019-03-06 19:51:32 -08:00
Esteban Küber
551ea65c87 Rely on drop to emit unclosed delims 2019-03-06 19:09:24 -08:00
Esteban Küber
6f0f2fc6d6 Simplify code 2019-03-06 18:46:11 -08:00
Esteban Küber
3818f8ba34 Add regression test for #58886 2019-03-06 18:46:11 -08:00
Esteban Küber
f156d92207 Always emit mismatched delim errors, never panic 2019-03-06 18:46:11 -08:00
Esteban Küber
ac6cc2d6b0 Collect unclosed delimiters in parent parser 2019-03-06 18:46:11 -08:00
Esteban Küber
51d0e86c22 Emit missing unclosed delimiter errors 2019-03-06 18:46:11 -08:00
Esteban Küber
c70a516c23 Panic when unmatched delimiters aren't emitted 2019-03-06 18:46:11 -08:00
Esteban Küber
e38e915cdf Reduce test case 2019-03-06 18:45:59 -08:00
Esteban Küber
ed2de5a842 Emit unclosed delimiters during recovery 2019-03-06 18:45:59 -08:00
Esteban Küber
cc535a2a19 Bail when encountering a second unexpected token in the same span 2019-03-06 18:45:59 -08:00
Esteban Küber
2ec7d0b228 Do not panic on missing close paren
Fix #58856.
2019-03-06 18:45:59 -08:00
bors
88f755f8a8 Auto merge of #58583 - varkor:const-generics-ty, r=oli-obk
Add const generics to ty (and transitive dependencies)

Split out from #53645. This work is a collaborative effort with @yodaldevoid.

There are a number of stubs. Some I plan to leave for the next PRs (e.g. `infer` and `rustdoc`). Others I can either fix up in this PR, or as follow ups (which would avoid the time-consuming rebasing).

It was a little hard to split this up, as so much depends on ty and friends. Apologies for the large diff.

r? @eddyb
2019-03-07 00:27:07 +00:00
Esteban Küber
02eb523d91 Surround found token with ` 2019-03-06 14:45:23 -08:00
André Vicente Milack
c36d91c5cc Fix buffer invalidation at BufReader.read_vectored 2019-03-06 16:37:15 -03:00
Ralf Jung
cefe9b09c1 Apply suggestions from code review 2019-03-06 20:02:50 +01:00
Mazdak Farrokhzad
90bb07eca6 Apply suggestions from code review
Co-Authored-By: RalfJung <post@ralfj.de>
2019-03-06 19:57:00 +01:00