Commit Graph

79414 Commits

Author SHA1 Message Date
Esteban Küber
377cf44b4e Suggest braces when a struct literal needs them
When writing a struct literal in an expression that expects a block to
be started afterwards (like an `if` statement), do not suggest using the
same struct literal:

```
did you mean `S { /* fields * /}`?
```

Instead, suggest surrounding the expression with parentheses:

```
did you mean `(S { /* fields * /})`?
```
2018-06-04 18:47:47 -07:00
bors
f9157f5b86 Auto merge of #51242 - ytausky:mut-ref, r=estebank
Suggest not mutably borrowing a mutable reference

This PR would (hopefully) solve #45392. I deviated a bit from @estebank's instructions since the error span only included the borrowed expression (e.g. the `b` in `&mut b`). I also didn't check the mutability of the local binding, since this whole case is concerned with an immutable local.

I can see two outstanding questions:
1. `note_immutability_blame` is called in two places, but I only have one test case. I think it covers the call in `report_bckerror`, but I'm not sure how to trigger the call from `report_aliasability_violation`.
2. There is one failing test, where the local binding is `self: &mut Self`. I'm not entirely sure what the correct output should be, but I think the new message should also apply. Unfortunately, since this parameter is parsed differently, its `let_span` covers both the pattern and the type, leading to a wrong suggestion text. I'm not sure how to correctly identify this case.
2018-06-05 01:47:13 +00:00
Erin Moon
c2825e134d tests that #39963 is fixed on MIR borrowck 2018-06-04 18:15:48 -05:00
bors
c610be92e2 Auto merge of #51307 - oli-obk:miri_fixes, r=eddyb
ScalarPairs are offset==0 field + other non-zst field

r? @eddyb

fixes #51300
2018-06-04 23:10:15 +00:00
John Paul Adrian Glaubitz
690240994f test: Ignore some problematic tests on sparc and sparc64 2018-06-04 23:59:40 +02:00
Guillaume Gomez
3cbcc5a22d Fix crate-name option in rustdoc 2018-06-04 23:05:14 +02:00
Guillaume Gomez
2f7fa24aee Update rustdoc-js 2018-06-04 21:22:51 +02:00
bors
41affd03eb Auto merge of #51340 - Amanieu:hashmap_layout2, r=SimonSapin
Optimize layout calculations in HashMap

This now produces the same assembly code as the previous implementation.

cc #51163 @nnethercote @gnzlbg @andjo403
2018-06-04 18:36:50 +00:00
Amanieu d'Antras
b69724f37c Optimize layout calculations in HashMap
This now produces the same assembly code as the previous implementation.
2018-06-04 16:00:08 +01:00
Oliver Schneider
f7eedfab8e Simplify value field access 2018-06-04 14:50:29 +02:00
bors
cdc193db99 Auto merge of #51328 - oli-obk:no_union_promotion, r=eddyb
Do not promote union field accesses

r? @eddyb

technically a breaking change, but the code errored on the previous stable and produces UB + a warning on the current stable. I don't think we need a crater run in that case.
2018-06-04 11:29:38 +00:00
Guillaume Gomez
fb54a4afbc Add missing ui tests 2018-06-04 09:52:31 +02:00
Guillaume Gomez
402aa0ff15 Add even more tests 2018-06-04 09:52:31 +02:00
Guillaume Gomez
ded5c5a9ee Put doc keyword behind feature flag 2018-06-04 09:52:31 +02:00
Guillaume Gomez
f784d5ead2 Remove useless function call for keyword generation in rustdoc 2018-06-04 09:51:41 +02:00
Guillaume Gomez
904f4921f8 Few improvements 2018-06-04 09:51:41 +02:00
Guillaume Gomez
ebee483e24 Add doc keyword support 2018-06-04 09:51:41 +02:00
Guillaume Gomez
d024d6a51e slightly improve rustdoc xml path error 2018-06-04 09:51:41 +02:00
bors
6eafab06cf Auto merge of #51151 - sdroege:exact-chunks-docs-order, r=dtolnay
Move slice::exact_chunks directly above exact_chunks_mut for more con…

…sistent docs order

See https://github.com/rust-lang/rust/issues/47115#issuecomment-392532855
2018-06-04 07:16:36 +00:00
Claudio Bley
33c4b37d00 Clarify error phrase in sub_instant function
Uses the same wording as [`src/libstd/sys/windows/time.rs`][1].

1: 95e2bf253d/src/libstd/sys/windows/time.rs (L65)
2018-06-04 08:59:09 +02:00
Sebastian Dröge
eb3a73484b Move slice::exact_chunks directly above exact_chunks_mut for more consistent docs order
See https://github.com/rust-lang/rust/issues/47115#issuecomment-392532855
2018-06-04 09:03:21 +03:00
Dylan DPC
72f2f1935d
Merge branch 'master' into stabilise/termination-test 2018-06-04 10:58:56 +05:30
bors
6232478d26 Auto merge of #51334 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 6 pull requests

Successful merges:

 - #51288 (Remove rustdoc-specific is_import field from HIR)
 - #51299 (const fn integer operations)
 - #51317 (Allow enabling incremental via config.toml)
 - #51323 (Generate br for all two target SwitchInts)
 - #51326 (Various minor slice iterator cleanups)
 - #51329 (Remove the unused `-Z trans-time-graph` flag.)

Failed merges:
2018-06-04 02:05:00 +00:00
Mark Simulacrum
dd1096f2e7
Rollup merge of #51329 - kennytm:trans-left-over, r=oli-obk
Remove the unused `-Z trans-time-graph` flag.

Rebase of #50783 has accidentally revived the flag (which should be renamed to `-Z codegen-time-graph` by #50615).
2018-06-03 18:18:08 -06:00
Mark Simulacrum
c3eff19aba
Rollup merge of #51326 - sdroege:slice-iter-cleanup, r=dtolnay
Various minor slice iterator cleanups

See individual commits
2018-06-03 18:18:06 -06:00
Mark Simulacrum
e7ae1b2648
Rollup merge of #51323 - nikic:switch-int-lowering, r=nagisa
Generate br for all two target SwitchInts

Instead of only for booleans. This means that `if let` also becomes a br.

Apart from making the IR slightly simpler, this is supported by FastISel (#4353).
2018-06-03 18:18:05 -06:00
Mark Simulacrum
79dd148458
Rollup merge of #51317 - oli-obk:incremental_all_the_way, r=Mark-Simulacrum
Allow enabling incremental via config.toml

r? @QuietMisdreavus
2018-06-03 18:18:04 -06:00
Mark Simulacrum
b35c60e95e
Rollup merge of #51299 - faern:const-int-ops, r=oli-obk
const fn integer operations

A follow up to #51171
Fixes #51267

Makes a lot of the integer methods (`swap_bytes`, `count_ones` etc) `const fn`s. See #51267 for a discussion about why this is wanted and the solution used.
2018-06-03 18:18:03 -06:00
Mark Simulacrum
df13790756
Rollup merge of #51288 - Mark-Simulacrum:delete-is-import, r=eddyb
Remove rustdoc-specific is_import field from HIR

Fixes #47100.

I believe that there is no need to check for the name being the same, as this
part of rustdoc seems to be strictly interested in exploring "public modules."
Re-exports from the same module cannot visit another module; and, re-exports
cannot export items with a greater visibility than that item declares.
Therefore, I think this code is either sufficient, or in fact does more than
is necessary, depending on whether rustdoc cares about the re-export itself.

r? @eddyb
2018-06-03 18:18:02 -06:00
bors
01a9b30c33 Auto merge of #51111 - kennytm:intralink-resolution-failure-line-numbers, r=GuillaumeGomez
Point to the rustdoc attribute where intralink resolution failed.
2018-06-03 23:04:11 +00:00
bors
29f48ccf39 Auto merge of #50338 - japaric:panic-impl, r=alexcrichton
implement #[panic_implementation]

This implements the `#[panic_implementation]` attribute as instructed in https://github.com/rust-lang/rust/issues/44489#issuecomment-381324623

I haven't run the full test suite yet but at least all the compile-fail tests pass.

r? @nagisa
2018-06-03 20:13:09 +00:00
Jorge Aparicio
8ad15dea3f turn run-make test into a run-make-fulldeps test 2018-06-03 19:57:49 +02:00
Oliver Schneider
eb31ae2e14 Deduplicate and fix a test 2018-06-03 19:37:50 +02:00
Mark Simulacrum
19e0b7da1c Remove is_import field 2018-06-03 11:29:44 -06:00
bors
be5f17ccff Auto merge of #50904 - collin5:b50509, r=Mark-Simulacrum
Clean up dependency tracking in Rustbuild [1/2]

Initial refactor of the `Mode` enum. Still a WIP
Ref  #50509

r? @Mark-Simulacrum
2018-06-03 17:16:13 +00:00
kennytm
efa02b6d2f
Remove the unused -Z trans-time-graph flag.
Rebase of #50783 has accidentally revived the flag (which should be
renamed to `-Z codegen-time-graph` by #50615).
2018-06-04 01:10:19 +08:00
Oliver Schneider
9d613c27b7 Do not promote union field accesses 2018-06-03 19:06:31 +02:00
Guillaume Gomez
804984836e Reexport fmt::Alignment into std 2018-06-03 17:04:48 +02:00
Collins Abitekaniza
36eafe5712 impl is_tool on Mode enum
make is_tool inherent prop of mode

fix errors from rebase

resolve issues from review
2018-06-03 17:43:11 +03:00
Sebastian Dröge
10cf7bb328 Implement TrustedLen for Windows and the 4 Chunks iterators 2018-06-03 17:38:49 +03:00
Sebastian Dröge
325c676677 Remove mention of Slice/SliceMut traits from IterMut documentation
These don't exist anymore.
2018-06-03 17:34:23 +03:00
Sebastian Dröge
adaf8e6abf Move TrustedLen and FusedIterator impl of Iter/IterMut into macro 2018-06-03 17:33:49 +03:00
bors
7d576f25fc Auto merge of #51325 - japaric:miri-up, r=TimNN
update the miri submodule

the submodule currently seems to be pointing to a miri branch that has been deleted.

r? @TimNN
2018-06-03 13:36:54 +00:00
Jorge Aparicio
c36bb94311 update the miri submodule to master 2018-06-03 14:31:37 +02:00
Jorge Aparicio
4bfefd94fd update the miri submodule 2018-06-03 14:27:46 +02:00
Jorge Aparicio
948ed24a09 fix tidy error 2018-06-03 13:46:20 +02:00
Jorge Aparicio
a174f2ab7c add more tests 2018-06-03 13:46:20 +02:00
Jorge Aparicio
da2ee5dcb2 reject fn panic_impl<T>(_: &PanicInfo) -> ! 2018-06-03 13:46:19 +02:00
Jorge Aparicio
4c84d382ed remove #[unwind(allowed)]
not required because this is a Rust function
2018-06-03 13:46:19 +02:00
Jorge Aparicio
86a0769621 fix after rebase 2018-06-03 13:46:19 +02:00