Commit graph

4160 commits

Author SHA1 Message Date
David Wood
1149c58bb8
Add test for #46589.
This commit adds the test for writing into a projection of a local to
confirm there are no remaining borrows.
2018-12-06 15:47:30 +01:00
bors
367e783e6f Auto merge of #56557 - pietroalbini:rollup, r=pietroalbini
Rollup of 11 pull requests

Successful merges:

 - #56315 (Rustdoc inline macro reexport)
 - #56332 ([rustdoc] Specific crate search)
 - #56362 (Stabilise exhaustive integer patterns)
 - #56426 (libsyntax_pos: A few tweaks)
 - #56441 (rustbuild: Fix issues with compiler docs)
 - #56446 (pass the parameter environment to `traits::find_associated_item`)
 - #56500 (cleanup: remove static lifetimes from consts)
 - #56525 (Avoid extra copy and syscall in std::env::current_exe)
 - #56528 (Remove unused dependency (rustc_lint -> rustc_mir))
 - #56548 (Optimized string FromIterator + Extend impls)
 - #56553 (Don't print the profiling summary to stdout when -Zprofile-json is set)

Failed merges:

r? @ghost
2018-12-06 12:41:30 +00:00
bors
128a1fa4e1 Auto merge of #55635 - oli-obk:min_const_unsafe_fn, r=nikomatsakis
Allow calling `const unsafe fn` in `const fn` behind a feature gate

cc #55607

r? @Centril
2018-12-06 10:18:17 +00:00
Pietro Albini
0aa72ad55d
Rollup merge of #56426 - petrochenkov:syntweak, r=nikomatsakis
libsyntax_pos: A few tweaks
2018-12-06 07:48:53 +01:00
Pietro Albini
e57ed0ddab
Rollup merge of #56362 - varkor:stabilise-exhaustive-integer-patterns, r=nikomatsakis
Stabilise exhaustive integer patterns

This is dependent on the FCP for https://github.com/rust-lang/rfcs/pull/2591 being completed, but that should happen tomorrow, so there's little harm in opening this PR early.

Closes #50907.
2018-12-06 07:48:52 +01:00
Pietro Albini
1276ffeba2
Rollup merge of #56456 - oli-obk:private_impl_trait, r=cramertj
Handle existential types in dead code analysis

fixes #55124

r? @cramertj
2018-12-05 23:54:32 +01:00
Pietro Albini
b2a002dc4b
Rollup merge of #56372 - wildarch:issue-55314-second-borrow-ref, r=davidtwco
Refer to the second borrow as the "second borrow" in E0501.rs

Fixes #55314.

r? @davidtwco
2018-12-05 23:54:27 +01:00
varkor
ed64b1927b Fix precise_pointer_size_matching tests on all platforms 2018-12-05 23:21:56 +01:00
bors
21cb46a6e9 Auto merge of #55922 - oli-obk:slice_pat_ice, r=zackmdavis
Fix ICE in `const` slice patterns

fixes #55911

based on https://github.com/rust-lang/rust/pull/55915

New commits start at eabc1551e0d0953f1951020afb5919ab4c129cf5
2018-12-05 07:16:17 +00:00
bors
b3af09205b Auto merge of #56486 - matthewjasper:propagate-all-closure-bounds, r=pnkfelix
Propagate all closure requirements to the caller

Closes #56477

This should be backported to 1.32 if it doesn't make the cut.

r? @pnkfelix
cc @nikomatsakis
2018-12-04 20:56:11 +00:00
Andy Russell
a367cec6e3
emit error with span for empty asserts
Fixes #55547.
2018-12-04 10:22:48 -05:00
Oliver Scherer
f4115765c5 Intrinsic checks are just needed for qualify_min_const_fn 2018-12-04 10:17:37 +01:00
Oliver Scherer
ae0b00cada Add and update tests 2018-12-04 10:17:37 +01:00
Oliver Scherer
37ef5e43af Add tests for stable unsafe features in const fn 2018-12-04 10:17:37 +01:00
Oliver Scherer
4497ff3762 Emit feature gate suggestion 2018-12-04 10:17:36 +01:00
Oliver Scherer
55abc0bc90 Also prevent mutation fields directly 2018-12-04 10:17:36 +01:00
Oliver Scherer
1894a5fe2c Also make immutable references to non-freeze restricted value range types unsafe 2018-12-04 10:17:36 +01:00
Oliver Scherer
081c49783f generalize the message about the creation of layout restricted types 2018-12-04 10:17:36 +01:00
Oliver Scherer
14218e3969 Trailing newlines again 2018-12-04 10:17:36 +01:00
Oliver Scherer
8bdb11c4d9 Forbid the creation of mutable borrows to fields of layout constrained types 2018-12-04 10:17:36 +01:00
Oliver Scherer
02b22323f1 Make sure the initialization of constrained int range newtypes is unsafe 2018-12-04 10:17:36 +01:00
Oliver Scherer
cc3470ce3b Add test for dereferencing raw pointers and immediately referencing again 2018-12-04 10:17:36 +01:00
Oliver Scherer
f2ae7b78d6 Allow calling const unsafe fn in const fn behind a feature gate 2018-12-04 10:17:36 +01:00
Oliver Scherer
690439bb45 Update ui tests 2018-12-04 10:06:05 +01:00
Oliver Scherer
374a096cb1 Remove unused stderr file 2018-12-04 10:06:05 +01:00
Oliver Scherer
1b636b1cd9 Newlines.... newlines everywhere 2018-12-04 10:06:05 +01:00
Oliver Scherer
296398ab52 Add a test ensuring that we don't regress this 2018-12-04 10:06:05 +01:00
Oliver Scherer
61efc3b71b Update tests 2018-12-04 10:06:05 +01:00
Matthew Jasper
d748712521 Propagate all closure requirements to the caller 2018-12-03 23:17:02 +00:00
John Ginger
70536d4b4c Fix stderr file (unused variable) 2018-12-03 22:53:03 +00:00
Vadim Petrochenkov
101467c152 syntax: dyn is a used keyword now 2018-12-04 00:30:27 +03:00
Oliver Scherer
1fb82b5a03 Handle existential types in dead code analysis 2018-12-03 14:44:58 +01:00
John Ginger
4cf5702d52 Fix stderr files 2018-12-03 10:28:19 +00:00
kennytm
81752fd85d
Rollup merge of #56412 - petrochenkov:extself, r=Centril
Update tracking issue for `extern_crate_self`
2018-12-03 18:07:11 +08:00
kennytm
441aaf8110
Rollup merge of #56395 - Centril:stabilize-dbg-macro, r=SimonSapin
Stabilize dbg!(...)

Per FCP in https://github.com/rust-lang/rust/issues/54306 (which is ~1 day from completion).

r? @SimonSapin

The PR is fairly isolated so a rollup should probably work.
2018-12-03 18:07:08 +08:00
kennytm
bf96a7bbed
Rollup merge of #56366 - alexreg:stabilise-self_in_typedefs, r=Centril
Stabilize self_in_typedefs feature

[**Tracking Issue**](https://github.com/rust-lang/rust/issues/49303)

r? @centril
2018-12-03 18:07:07 +08:00
bors
b817d0b651 Auto merge of #56110 - varkor:inhabitedness-union-enum, r=cramertj
Consider references and unions potentially inhabited during privacy-respecting inhabitedness checks

It isn't settled exactly how references to uninhabited types and unions of uninhabited types should act, but we should be more conservative here, as it's likely it will be permitted to soundly have values of such types.

This will also be more important in light of the changes at https://github.com/rust-lang/rust/pull/54125.

cc @RalfJung
2018-12-02 22:22:12 +00:00
Vadim Petrochenkov
2d4b633be3 Delay gensym creation for "underscore items" until name resolution
Prohibit `static _`
Fis unused import warnings for `use foo as _`
Add more tests for `use foo as _`
2018-12-02 15:42:30 +03:00
Vadim Petrochenkov
c658d73401 resolve: Avoid "self-confirming" resolutions in import validation 2018-12-02 15:42:30 +03:00
Vadim Petrochenkov
df0ab06073 Update tracking issue for extern_crate_self 2018-12-01 18:58:43 +03:00
Vadim Petrochenkov
549bd45e9e resolve: Support aliasing local crate root in extern prelude 2018-12-01 14:38:47 +03:00
Mazdak Farrokhzad
f4cde5bc4e stabilize std::dbg!(...) 2018-12-01 02:54:09 +01:00
Esteban Küber
2645871111 Use appropriate terminology based on heuristic 2018-11-30 15:09:39 -08:00
Alexander Regueiro
d609fdf775 Updated ui tests. 2018-11-30 22:12:39 +00:00
Alexander Regueiro
aa5a4ef59d Removed feature gate. 2018-11-30 22:12:39 +00:00
varkor
4406391cdc Fix bug in matching on floating-point ranges 2018-11-30 21:15:48 +00:00
varkor
0fb52fb538 Separate out precise_pointer_size_matching tests from exhaustive_integer_patterns tests 2018-11-30 21:13:07 +00:00
Esteban Küber
0952856e6c Suggest an appropriate token when encountering pub Ident<'a> 2018-11-30 11:48:08 -08:00
kennytm
f3be931ab7
Rollup merge of #56337 - phansch:fix_const_ice, r=oli-obk
Fix const_fn ICE with non-const function pointer

Fixes #56164
2018-12-01 02:30:30 +08:00
kennytm
440bda4dc8
Rollup merge of #56365 - alexreg:stabilise-self_struct_ctor, r=Centril
Stabilize self_struct_ctor feature.

[**Tracking Issue**](https://github.com/rust-lang/rust/issues/51994)
2018-12-01 02:03:59 +08:00