Commit graph

99777 commits

Author SHA1 Message Date
Mazdak Farrokhzad
494a8a8525
Rollup merge of #64836 - lzutao:stabilize-map_get_key_value, r=SimonSapin
Stabilize map_get_key_value feature

FCP done in https://github.com/rust-lang/rust/issues/49347#issuecomment-521728031
r? @SimonSapin
Closes #49347
2019-09-28 05:37:54 +02:00
Mazdak Farrokhzad
fc53088a5c
Rollup merge of #64830 - Centril:thou-shallt-not-abort, r=estebank
Thou shallt not `.abort_if_errors()`

r? @estebank
2019-09-28 05:37:52 +02:00
Mazdak Farrokhzad
2d4c101af5
Rollup merge of #64818 - Wind-River:master, r=alexcrichton
update rtpSpawn's parameters type(It's prototype has been updated in libc)

r? @alexcrichton
2019-09-28 05:37:51 +02:00
Mazdak Farrokhzad
e2823c91d0
Rollup merge of #64815 - JMS55:patch-1, r=jonas-schievink
Fix div_duration() marked as stable by mistake
2019-09-28 05:37:49 +02:00
Mazdak Farrokhzad
00cba5b092
Rollup merge of #64809 - davidtwco:issue-64768-target-feature-const, r=varkor
hir: Disallow `target_feature` on constants

Fixes #64768.

This PR fixes an ICE when `#[target_feature]` is applied to constants by disallowing this with the same error as when `#[target_feature]` is applied to other places it shouldn't be.

I couldn't see anything in the [RFC](https://github.com/rust-lang/rfcs/blob/master/text/2045-target-feature.md) that suggested that `#[target_feature]` should be applicable to constants or any tests that suggested it should, though I might have missed something - if this is desirable in future, it remains possible to remove this error (but for the time being, I think this error is better than an ICE).

I also added some extra cases to the test for other places where `#[target_feature]` should not be permitted.

cc @gnzlbg
2019-09-28 05:37:47 +02:00
Mazdak Farrokhzad
5b6a5801fb
Rollup merge of #64802 - estebank:walk-parents-iterator, r=matthewjasper
Account for tail expressions when pointing at return type

When there's a type mismatch we make an effort to check if it was
caused by a function's return type. This logic now makes sure to
only point at the return type if the error happens in a tail
expression.

Turn `walk_parent_nodes` method into an iterator.

CC #39968, CC #40799.
2019-09-28 05:37:46 +02:00
Mazdak Farrokhzad
85175b719b
Rollup merge of #64794 - Mark-Simulacrum:rm-dep-track-map, r=estebank
Remove unused DepTrackingMap

Deletes some related code (MemoizationMap trait, etc.)

I believe this became unused with red/green incremental introduction, but am uncertain.
2019-09-28 05:37:44 +02:00
Mazdak Farrokhzad
4db233e454
Rollup merge of #64781 - Mark-Simulacrum:no-global-tcx, r=eddyb
Remove stray references to the old global tcx
2019-09-28 05:37:43 +02:00
Mazdak Farrokhzad
a60ac8ee0b
Rollup merge of #64745 - kennethbgoodin:should-panic-msg, r=varkor
Include message on tests that should panic but do not

As per issue #60790 includes a message for tests marked `#[should_panic]` that do not panic as expected.

Fixes #60790.
2019-09-28 05:37:42 +02:00
Mazdak Farrokhzad
4c57882cfd
Rollup merge of #64703 - llogiq:slices-elems-are-equidistant, r=rkruppe
Docs: slice elements are equidistant

Recently, someone asked why `[char]` and `str` are not interchangeable, and I explained that in a slice, the elements must be laid out equidistantly, whereas the chars in a `str` are stored compactly regardless their size. However I couldn't find this documented anywhere, so here's a small addition of this fact.
2019-09-28 05:37:40 +02:00
ben
5cb0039cff Added test for mismatched slices, and byte slices. 2019-09-28 15:07:22 +12:00
Nathan
66c33c0e92 Add test for redundant_semicolon lint interaction with proc macro attrs 2019-09-27 22:51:25 -04:00
ben
c94fea092e Move get_slice_bytes to rustc::mir::interpret so it can be reused. 2019-09-28 14:35:04 +12:00
ben
875fa72f9e Add inline function get_slice_bytes to remove code duplication. 2019-09-28 13:30:26 +12:00
Mazdak Farrokhzad
aa03f1f5e3 Improve diagnostic for let A = 0;
where `A` is a constant, not a new variable.
2019-09-28 03:07:31 +02:00
nathanwhit
d35f25cf96 Filter out stmts made for the redundant_semicolon lint when pretty-printing 2019-09-27 21:06:10 -04:00
Wesley Wiser
dcc6c28c53 Introduce a ConstPropMachine
This allows us to avoid changing things directly in the miri engine just
for const prop.
2019-09-27 20:11:13 -04:00
Wesley Wiser
4e58e2e3a3 Work around for #64506 2019-09-27 20:11:13 -04:00
Wesley Wiser
9333514102 Move Ref-from-arg checking from step.rs to const_prop.rs 2019-09-27 20:11:13 -04:00
Wesley Wiser
15d2b7ae81 Respond to code review feedback and fix tidy 2019-09-27 20:11:12 -04:00
Wesley Wiser
fadfd92c2f Don't run the ConstProp MIR pass on generators
This can cause cycles as `ConstProp` uses `layout_of` which, for
generators, uses `optimized_mir` which runs `ConstProp`.
2019-09-27 20:11:12 -04:00
Wesley Wiser
c0c8ce80b3 [const-prop] Replace Ref handling with use of InterpCx 2019-09-27 20:11:12 -04:00
Wesley Wiser
9ec928ca06 [const-prop] Replace some Binaryp handling with use of InterpCx 2019-09-27 20:11:12 -04:00
Wesley Wiser
11eb91f412 [const-prop] Replace CheckedBinaryOp handling with use of InterpCx 2019-09-27 20:11:12 -04:00
Wesley Wiser
644d4f3ee9 [const-prop] Replace most UnaryOp handling with use of InterpCx 2019-09-27 20:11:12 -04:00
Wesley Wiser
1c219bb34b [const-prop] Replace NullaryOp handling with use of InterpCx 2019-09-27 20:11:12 -04:00
Wesley Wiser
ecc4cc2fc4 [const-prop] Replace Cast handling with use of InterpCx 2019-09-27 20:11:12 -04:00
Wesley Wiser
86c7c4d7be [const-prop] Replace Use handling with use of InterpCx 2019-09-27 20:11:12 -04:00
Wesley Wiser
bc17936c8a [const-prop] Replace eval_place() with use of InterpCx 2019-09-27 20:11:12 -04:00
ben
22b87a5515 Add support for relating slices in super_relate_consts. 2019-09-28 10:05:37 +12:00
bors
c6f87c2c6e Auto merge of #64790 - Centril:rip-ast-borrowck, r=matthewjasper
Rest In Peace, AST borrowck (2012-2019)

After having served us for 7 years, the AST borrow-checker is no more.

This PR starts from the commit `rm -rf librustc_ast_borrowck`, building on https://github.com/rust-lang/rust/pull/64221, and is probably best read commit by commit.

Migrate mode is not removed yet as it may be useful for NLL => polonius and it is also used for the `mutable_borrow_reservation_conflict` issue (https://github.com/rust-lang/rust/issues/59159).

r? @matthewjasper

------------------------

![ast-borrowck-rip](https://user-images.githubusercontent.com/855702/65646791-91a87600-dffc-11e9-9814-deed6b821c80.png)
2019-09-27 21:17:09 +00:00
Mazdak Farrokhzad
001357f971 --bless --compare-mode=nll 2019-09-27 20:14:47 +02:00
Wojciech Baranowski
f922483112 Print ParamTy span when accessing a field (#52082) 2019-09-27 21:01:47 +03:00
Mazdak Farrokhzad
99204028ac -Z unpretty message: include expanded,hygiene 2019-09-27 19:54:25 +02:00
Mazdak Farrokhzad
0022baae00 Inline the remaining hir::Arm::top_pats_hack 2019-09-27 19:54:25 +02:00
Mazdak Farrokhzad
a07b030998 Remove AccessKind::Move. 2019-09-27 19:48:07 +02:00
Mazdak Farrokhzad
dfd365f3e4 cleanup dead ast-borrowck / migrate-mode code. 2019-09-27 19:48:07 +02:00
Mazdak Farrokhzad
defd5088d6 cleanup check_match wrt. SignalledError. 2019-09-27 19:48:07 +02:00
Mazdak Farrokhzad
1eb280e2d8 Remove unpretty=flowgraph. 2019-09-27 19:48:07 +02:00
Mazdak Farrokhzad
463b19790b don't borrowck::check_crate(tcx) anymore. 2019-09-27 19:48:06 +02:00
Mazdak Farrokhzad
83dcdd99dd Remove librustc_ast_borrowck from driver & interface. 2019-09-27 19:48:06 +02:00
Mazdak Farrokhzad
a094926096 rm -rf librustc_ast_borrowck 2019-09-27 19:48:06 +02:00
Andre Bogus
6ccb7ae643 Docs: slice elements are equidistant 2019-09-27 19:43:56 +02:00
Mark Rousskov
4b23503b42 Remove shrink_to_tcx_lifetime
There's no longer two distinct gcx and tcx lifetimes which made this
necessary (or, at least, the code compiles -- it's possible we got
better at normalizing, but that seems unlikely).
2019-09-27 13:34:17 -04:00
Mark Rousskov
0a4d55ddb8 Remove stray uses of gcx name 2019-09-27 13:34:14 -04:00
Mark Rousskov
f226ab4ad9 Remove lift_to_global 2019-09-27 13:33:50 -04:00
Mark Rousskov
d540d44c71 Remove global_tcx from TyCtxt
The non-global context was removed; there's only one context now. This
is a noop method that only serves to confuse readers -- remove it.
2019-09-27 13:33:48 -04:00
Mark Rousskov
d559b725d3 Add mailmap entry for Dustin Bensing by request 2019-09-27 13:29:22 -04:00
bors
084beb83e0 Auto merge of #64849 - matthiaskrgr:submodule_upd, r=Manishearth
submodules: update clippy from 68ff8b19 to edd90473

Changes:
````
Remove clippy::author attribute from trailing_zeroes test
Move author issue test to author subdir
Fix author lint
Rustup to rust-lang/rust#64813
Refactor `booleans`
Detect assignment ops in integer_arithmetic
````

Fixes #64843

r? @oli-obk  @Manishearth
2019-09-27 17:28:00 +00:00
Matthias Krüger
1363611fcb submodules: update clippy from 68ff8b19 to edd90473
Changes:
````
Remove clippy::author attribute from trailing_zeroes test
Move author issue test to author subdir
Fix author lint
Rustup to rust-lang/rust#64813
Refactor `booleans`
Detect assignment ops in integer_arithmetic
````
2019-09-27 19:08:47 +02:00