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