Commit Graph

78983 Commits

Author SHA1 Message Date
Fabian Zaiser
29c43fea37 Fix tidy 2018-06-05 10:35:44 +02:00
Fabian Zaiser
589f9a87a8 Propagate uses of constants correctly so that array index checks work 2018-06-05 10:35:44 +02: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
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
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
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
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
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
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
Jorge Aparicio
430ad76900 undo payload in core::panic! changes 2018-06-03 13:46:19 +02:00
Jorge Aparicio
eb19361416 document that panic_impl never passes the FFI boundary 2018-06-03 13:46:19 +02:00
Jorge Aparicio
b442348d53 remove unused struct NoPayload 2018-06-03 13:46:19 +02:00
Jorge Aparicio
eaef110890 format payload if possible instead of returning "Box<Any>" 2018-06-03 13:46:19 +02:00
Jorge Aparicio
63f18e108a s/panic_fmt/panic_impl/g in docs 2018-06-03 13:46:19 +02:00
Jorge Aparicio
e44ad61a2d implement #[panic_implementation] 2018-06-03 13:46:19 +02:00
kennytm
2886aca232
Show which line the link is coming from. 2018-06-03 18:25:04 +08:00
Linus Färnstrand
8b5f962762 Ignore i128 test on asmjs 2018-06-03 11:23:34 +02:00
kennytm
bc20eb6fbc
Point to the rustdoc attribute where intralink resolution failed. 2018-06-03 15:51:31 +08:00
Oliver Schneider
3b02376c8f command line args trump config.toml settings 2018-06-03 08:44:56 +02:00
bors
3575be60ea Auto merge of #51319 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 6 pull requests

Successful merges:

 - #51143 (Specify that packed types must derive, not implement, Copy)
 - #51226 (Make Layout's align a NonZeroUsize)
 - #51297 (Fix run button style)
 - #51306 (impl Default for &mut str)
 - #51312 (Clarify the difference between get_mut and into_mut for OccupiedEntry)
 - #51313 (use type name in E0599 enum variant suggestion)

Failed merges:
2018-06-03 03:13:43 +00:00
Collins Abitekaniza
11333972e8 refactor mode to ToolRustc for Rls & Rustfmt 2018-06-03 05:02:10 +03:00
Collins Abitekaniza
fb949b5336 thread tool modes through 2018-06-03 05:02:09 +03:00