Commit Graph

104807 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
68a9a2d648
Rollup merge of #67559 - Mark-Simulacrum:drop-doc, r=RalfJung
Document that calling Drop, even after it panics, is UB

Fixes #60822.

r? @gnzlbg
2019-12-23 15:16:32 +01:00
Mazdak Farrokhzad
7eb025febf
Rollup merge of #67546 - oli-obk:slice_pattern_ice, r=varkor
Fix ICE in mir interpretation

Indices from the end start at 1 so you can immediately subtract them from the length to get the index instead of having to do an additional `-1`. Kinda documented in https://doc.rust-lang.org/nightly/nightly-rustc/rustc/mir/enum.ProjectionElem.html#variant.ConstantIndex
2019-12-23 15:16:31 +01:00
Mazdak Farrokhzad
41647613b1
Rollup merge of #67538 - varkor:lhs-assign-diagnostics, r=Centril
Improve diagnostics for invalid assignment

- Improve wording and span information for invalid assignment diagnostics.
- Link to https://github.com/rust-lang/rfcs/issues/372 when it appears the user is trying a destructuring assignment.
- Make the equality constraint in `where` clauses error consistent with the invalid assignment error.
2019-12-23 15:16:29 +01:00
Mazdak Farrokhzad
3a07f3ba75
Rollup merge of #67536 - Centril:move-is_range_literal, r=Mark-Simulacrum
Move `{hir::lowering -> hir}::is_range_literal`

The function is never used inside lowering, but only ever in external crates.
By moving it, we facilitate lowering as its own crate.

Best read commit-by-commit.

r? @Mark-Simulacrum
2019-12-23 15:16:28 +01:00
Mazdak Farrokhzad
6f38a15c7b
Rollup merge of #67527 - GuillaumeGomez:results-show-too-much, r=kinnison
Results show too much

Fixes #67461.

To reproduce the current issue: search anything, then once the results appears, press escape. They should disappear then re-appear right away. This is because blurring an element triggers the "change" event.

r? @kinnison
2019-12-23 15:16:26 +01:00
Mazdak Farrokhzad
67c0f4e2c9
Rollup merge of #67507 - Mark-Simulacrum:purge-uninit, r=Centril
Remove mem::uninitalized from tests

This purges uses of uninitialized where possible from test cases. Some
are merely moved over to the equally bad pattern of
MaybeUninit::uninit().assume_init() but with an annotation that this is
"the best we can do".

Fixes #62397
2019-12-23 15:16:24 +01:00
Mazdak Farrokhzad
1de2705c79
Rollup merge of #67466 - oli-obk:const_intrinsic, r=Centril
Require const stability attributes on intrinsics to be able to use them in constant contexts

r? @Centril

finally fixes #61495

cc @RalfJung
2019-12-23 15:16:23 +01:00
Mazdak Farrokhzad
260514da94
Rollup merge of #67233 - Luro02:cursor_traits, r=sfackler
Add PartialEq and Eq to Cursor

closes #67226
2019-12-23 15:16:21 +01:00
Oliver Scherer
63d28221c6
Fix typo 2019-12-23 15:11:09 +01:00
Mark Rousskov
a08df28a6f Document that calling Drop, even after it panics, is UB 2019-12-23 09:04:00 -05:00
Oliver Scherer
89250b97f5 Update src/librustc_mir/interpret/intern.rs
Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-12-23 14:54:46 +01:00
Oliver Scherer
e56a86162c Show const_err lints 2019-12-23 14:54:37 +01:00
Oliver Scherer
2022fac4df Constants reading or referencing statics is illegal
and some uses of it will be illegal forever
(e.g. mutable or interior mutable statics)
2019-12-23 14:54:30 +01:00
Oliver Scherer
ad6b9c79d6 Dynamically prevent constants from accessing statics 2019-12-23 14:54:22 +01:00
Oliver Scherer
640e2884ad Panic on mutable allocs in constants 2019-12-23 14:54:14 +01:00
Mazdak Farrokhzad
acfe58272c adjust E0303 error code docs 2019-12-23 14:47:20 +01:00
Mazdak Farrokhzad
371446cc50 Remove bindings_after_at from INCOMPLETE_FEATURES. 2019-12-23 14:47:20 +01:00
Mazdak Farrokhzad
8846a6b6bb Test that nested type ascription is banned. 2019-12-23 14:47:20 +01:00
Mazdak Farrokhzad
c37bd26eaa Test that _ @ subpat is syntactically rejected. 2019-12-23 14:47:20 +01:00
Mazdak Farrokhzad
e39abcfad9 harden & split borrowck-pat-at-and-box 2019-12-23 14:47:20 +01:00
Mazdak Farrokhzad
48f2766522 enhance borrowck-pat-by-copy-bindings-in-at 2019-12-23 14:47:20 +01:00
Mazdak Farrokhzad
427b1c33e9 clarify bind-by-move-neither-can-livee.. 2019-12-23 14:47:20 +01:00
Mazdak Farrokhzad
6fa8f4a57b bindings_after_at: harden tests wrt. contexts & slice_patterns 2019-12-23 14:47:20 +01:00
Mazdak Farrokhzad
0034e6199e bindings_after_at: harden tests wrt. promotion 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
9ab36037a4 --bless bindings-after-at tests 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
10ac7ea127 document check_borrow_conflicts_in_at_patterns 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
b9aba749cf improve robustness of pat walkers 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
5a8baa2876 refactor with extract_binding_mode 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
eed311f719 add check_borrow_conflicts_in_at_patterns analysis 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
6a87f99620 check_legality_of_move_bindings: generalize diagnostics & add comments 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
25b6a28a51 add a fixme 2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
5f92a56ed6 Introduce #![feature(bindings_after_at)].
Under the gate, `x @ Some(y)` is allowed.
This is subject to various restrictions for soundness.
2019-12-23 14:47:19 +01:00
Mazdak Farrokhzad
7a246acf0a fix rebase fallout 2019-12-23 14:08:50 +01:00
Donough Liu
587d03bea8 Yield is an expression form, not a statement. 2019-12-23 21:07:13 +08:00
Donough Liu
1485c16899 Add long error code explanation message for E0627 2019-12-23 21:05:02 +08:00
Mazdak Farrokhzad
05c26a445b refactor assoc op parsing 2019-12-23 13:55:45 +01:00
Mazdak Farrokhzad
e43a7ef1d4 simplify parse_prefix_range_expr 2019-12-23 13:55:10 +01:00
Mazdak Farrokhzad
8456c403e1 extract parse_not_expr 2019-12-23 13:55:04 +01:00
Mazdak Farrokhzad
efdea63c43 extract parse_prefix_expr 2019-12-23 13:51:21 +01:00
Mazdak Farrokhzad
4cfcfe9e20 extract parse_neg_expr 2019-12-23 13:51:02 +01:00
Mazdak Farrokhzad
f6ab439436 extract parse_deref_expr 2019-12-23 13:50:56 +01:00
Mazdak Farrokhzad
ada388b2b8 extract is_mistaken_not_ident_negation 2019-12-23 13:50:50 +01:00
Mazdak Farrokhzad
80eeefb05f extract recover_not_expr 2019-12-23 13:49:14 +01:00
Mazdak Farrokhzad
00cc8a1b0c simplify parse_assoc_op_cast 2019-12-23 13:48:47 +01:00
Mazdak Farrokhzad
84f9bf1a06 refactor parse_address_of -> parse_borrow_expr 2019-12-23 13:48:45 +01:00
Mazdak Farrokhzad
af5ac23a23 simplify parse_dot_call_or_expr 2019-12-23 13:47:52 +01:00
Mazdak Farrokhzad
7ae12c9385 extract parse_dot_base_expr 2019-12-23 13:47:44 +01:00
Mazdak Farrokhzad
bc95228f1b extract parse_dot_suffix_expr 2019-12-23 13:45:45 +01:00
Mazdak Farrokhzad
9c6bbf1252 extract error_unexpected_after_dot and de-fatalize 2019-12-23 13:45:13 +01:00
Mazdak Farrokhzad
ff5762b78a extract recover_field_access_by_float_lit 2019-12-23 13:44:38 +01:00