Commit Graph

106142 Commits

Author SHA1 Message Date
Charles Gleason
3caa17b468
Format safety comment as per tidy
Co-Authored-By: Ashley Mannix <ashleymannix@live.com.au>
2020-01-28 11:27:31 -05:00
bors
ac2f3fa41a Auto merge of #68533 - tmiasko:compiletest, r=nikomatsakis
compiletest: Unit tests for `EarlyProps` (+ small cleanup)

* Parse `EarlyProps` from a reader
* Add unit tests for `EarlyProps`
* Remove unused `llvm-cxxflags` option
* Remove unnecessary memory allocations in `iter_header`
* Update mode list displayed in `--help`
2020-01-28 16:25:35 +00:00
Santiago Pastorino
3021856626
Fix some wrong dereferences after rebase 2020-01-28 12:17:02 -03:00
Andrew Paverd
c0744e1e0c Add support for Control Flow Guard on Windows.
This patch enables rustc to emit the required LLVM module flags to enable Control Flow Guard metadata (cfguard=1) or metadata and checks (cfguard=2). The LLVM module flags are ignored on unsupported targets and operating systems.
2020-01-28 14:43:23 +00:00
Santiago Pastorino
a13a7d74ca
Remove unneeded & on match pattern 2020-01-28 10:12:54 -03:00
Santiago Pastorino
5f1caa4032
./x.py fmt 2020-01-28 10:12:54 -03:00
Santiago Pastorino
22a4827dcb
Place::ty_from takes local by value 2020-01-28 10:12:53 -03:00
Santiago Pastorino
b5b6be0ab7
Local field on PlaceRef and RootPlace is not a reference anymore 2020-01-28 10:12:53 -03:00
Santiago Pastorino
39d93b1ef8
codegen_place and related functions can take PlaceRef by value 2020-01-28 10:12:53 -03:00
Santiago Pastorino
10b19f6dee
make_integrate_local takes Local by value 2020-01-28 10:12:53 -03:00
Santiago Pastorino
4a86c55f56
record_killed_borrows_for_local takes Local by value 2020-01-28 10:12:53 -03:00
Santiago Pastorino
a71cc4ca11
Place conflict functions take Local by value 2020-01-28 10:12:52 -03:00
bors
b181835a6b Auto merge of #68529 - TimDiekmann:rename-alloc, r=Amanieu
Rename `Alloc` to `AllocRef`

The allocator-wg has decided to merge this change upstream in https://github.com/rust-lang/wg-allocators/issues/8#issuecomment-577122958.

This renames `Alloc` to `AllocRef` because types that implement `Alloc` are a reference, smart pointer, or ZSTs. It is not possible to have an allocator like `MyAlloc([u8; N])`, that owns the memory and also implements `Alloc`, since that would mean, that moving a `Vec<T, MyAlloc>` would need to correct the internal pointer, which is not possible as we don't have move constructors.

For further explanation please see https://github.com/rust-lang/wg-allocators/issues/8#issuecomment-489464843 and the comments after that one.

Additionally it clarifies the semantics of `Clone` on an allocator. In the case of `AllocRef`, it is clear that the cloned handle still points to the same allocator instance, and that you can free data allocated from one handle with another handle.

The initial proposal was to rename `Alloc` to `AllocHandle`, but `Ref` expresses the semantics better than `Handle`. Also, the only appearance of `Handle` in `std` are for windows specific resources, which might be confusing.

Blocked on https://github.com/rust-lang/miri/pull/1160
2020-01-28 08:44:20 +00:00
Pedro de Brito
074cfcbf2d fix: typo in vec.rs 2020-01-28 07:59:07 +01:00
Billy Rieger
5654305a7b Add BTreeMap::remove_entry
Mainly for API parity with HashMap.

- Add BTreeMap::remove_entry
- Rewrite BTreeMap::remove to use remove_entry
- Use btreemap_remove_entry feature in doc comment
2020-01-28 00:43:18 -05:00
bors
82018665a5 Auto merge of #68234 - CAD97:slice-from-raw-parts, r=KodrAus
Stabilize ptr::slice_from_raw_parts[_mut]

Closes #36925, the tracking issue.
Initial impl: #60667

r? @rust-lang/libs

In addition to stabilizing, I've adjusted the example of `ptr::slice_from_raw_parts` to use `slice_from_raw_parts` instead of `slice_from_raw_parts_mut`, which was unnecessary for the example as written.
2020-01-28 05:31:34 +00:00
bors
67fae2241b Auto merge of #68587 - JohnTitor:rollup-fz45xwc, r=JohnTitor
Rollup of 11 pull requests

Successful merges:

 - #68200 (Stabilize the debug_map_key_value feature)
 - #68383 (Clean up E0205 explanation)
 - #68412 (Clean up E0207 explanation)
 - #68454 (clean up E0214 explanation)
 - #68482 (clean up error codes explanation)
 - #68563 (Don't call `tcx.fn_sig` on closures)
 - #68570 (Bump LLVM submodule to fix LLVM assertion failure in MSP430 interrupt generation.)
 - #68571 (check_match: extract common logic)
 - #68573 (Clean up E0262 explanation)
 - #68575 (Disable the testcase for Vxworks.)
 - #68581 (Add support for icebreakers-cleanup-crew commands)

Failed merges:

r? @ghost
2020-01-28 02:17:10 +00:00
Yuki Okushi
aac5788a61
Rollup merge of #68581 - spastorino:support-ice-breaker-cleanup-crew, r=Dylan-DPC
Add support for icebreakers-cleanup-crew commands

r? @nikomatsakis
2020-01-28 10:48:23 +09:00
Yuki Okushi
41110edeeb
Rollup merge of #68575 - Wind-River:master_2020, r=alexcrichton
Disable the testcase for Vxworks.

r? @alexcrichton
2020-01-28 10:48:21 +09:00
Yuki Okushi
ee79cf28db
Rollup merge of #68573 - GuillaumeGomez:clean-up-e0262, r=Dylan-DPC
Clean up E0262 explanation

r? @Dylan-DPC
2020-01-28 10:48:20 +09:00
Yuki Okushi
8bc0e48540
Rollup merge of #68571 - Centril:check_in_cx, r=oli-obk
check_match: extract common logic

This is part of work on `hir::ExprKind::Let` which I thought made sense on its own (though makes even more sense with `::Let`).

r? @oli-obk
2020-01-28 10:48:19 +09:00
Yuki Okushi
1e47ca518f
Rollup merge of #68570 - cr1901:msp430-fix-1-2020, r=alexcrichton
Bump LLVM submodule to fix LLVM assertion failure in MSP430 interrupt generation.

This PR brings in changes introduced by [this cherry-pick](https://github.com/rust-lang/llvm-project/pull/37) to the Rust repository.

Nightlies downloaded from `rustup` do not appear to have llvm assertions enabled; the assertion failure [sometimes](https://github.com/YuhanLiin/msp430fr2355-quickstart/issues/3) causes link errors that shouldn't occur. I couldn't find any indication of other bugs; however, it should still be fixed.
2020-01-28 10:48:17 +09:00
Yuki Okushi
c38e97cc61
Rollup merge of #68563 - Aaron1011:fix/fn-sig-closure, r=varkor
Don't call `tcx.fn_sig` on closures

Fixes #68542
2020-01-28 10:48:16 +09:00
Yuki Okushi
8ed586581d
Rollup merge of #68482 - GuillaumeGomez:clean-up-err-codes, r=Dylan-DPC
clean up error codes explanation

r? @Dylan-DPC
2020-01-28 10:48:14 +09:00
Yuki Okushi
39407c9ab7
Rollup merge of #68454 - GuillaumeGomez:clean-up-e0214, r=Dylan-DPC
clean up E0214 explanation

r? @Dylan-DPC
2020-01-28 10:48:12 +09:00
Yuki Okushi
dc33cd3500
Rollup merge of #68412 - GuillaumeGomez:clean-up-e0207, r=Dylan-DPC
Clean up E0207 explanation

r? @Dylan-DPC
2020-01-28 10:48:10 +09:00
Yuki Okushi
2bfa058074
Rollup merge of #68383 - GuillaumeGomez:clean-up-e0205, r=Dylan-DPC
Clean up E0205 explanation

r? @Dylan-DPC
2020-01-28 10:48:05 +09:00
Yuki Okushi
5c42ffe150
Rollup merge of #68200 - KodrAus:stabilize/debug_map_key_value, r=alexcrichton
Stabilize the debug_map_key_value feature

RFC: https://github.com/rust-lang/rfcs/pull/2696
Tracking issue: #62482

Stabilizes the `debug_map_key_value` feature, which covers:

```rust
impl<'a, 'b> DebugMap<'a, 'b> {
    pub fn key(&mut self, key: &dyn fmt::Debug) -> &mut DebugMap<'a, 'b> {}
    pub fn value(&mut self, value: &dyn fmt::Debug) -> &mut DebugMap<'a, 'b> {}
}
```

These methods are small and self-contained, and are used as the basis for the existing `DebugMap::entry` method, so have been used in the wild for the last 6 months or so.
2020-01-28 10:48:04 +09:00
Mazdak Farrokhzad
dc17f38e04 check_unsafety: more code reuse 2020-01-28 02:30:47 +01:00
Ashley Mannix
2c07a621ef stabilize the debug_map_key_value feature 2020-01-28 11:15:22 +10:00
Mazdak Farrokhzad
979f5b4b1c lintify conflicting_repr_hints 2020-01-28 01:24:59 +01:00
bors
0859451592 Auto merge of #68580 - Mark-Simulacrum:rollup-r80xhus, r=Mark-Simulacrum
Rollup of 3 pull requests

Successful merges:

 - #68459 (don't clone types that are copy, round two.)
 - #68576 (update miri)
 - #68579 (Update cargo)

Failed merges:

r? @ghost
2020-01-27 22:59:38 +00:00
Tim Diekmann
7ca25db816
Rename Alloc to AllocRef 2020-01-27 21:39:51 +01:00
Santiago Pastorino
3124603f09
Add support for icebreakers-cleanup-crew commands 2020-01-27 15:58:27 -03:00
Mark Rousskov
b0f5f670b3
Rollup merge of #68579 - ehuss:update-cargo, r=Mark-Simulacrum
Update cargo

2 commits in b68b0978ab8012f871c80736fb910d14b89c4498..9d32b7b01409024b165545c568b1525d86e2b7cb
2020-01-24 18:26:23 +0000 to 2020-01-26 18:27:29 +0000
- Polish code to clarify meaning (rust-lang/cargo#7836)
- Store maximum queue length (rust-lang/cargo#7829)
2020-01-27 13:42:03 -05:00
Mark Rousskov
69362b9c9e
Rollup merge of #68576 - jonhoo:bump-miri, r=oli-obk
update miri

Bump miri for rust-lang/miri#1150

r? @oli-obk
2020-01-27 13:42:02 -05:00
Mark Rousskov
aa6e58b352
Rollup merge of #68459 - matthiaskrgr:clone_on_copy2, r=eddyb
don't clone types that are copy, round two.

Apparently fixing some of these issues makes clippy find even more so I did a couple of rounds now.

r? @eddyb
2020-01-27 13:42:00 -05:00
Eric Huss
e1a837c08f Update cargo 2020-01-27 10:30:44 -08:00
Jon Gjengset
98724074d7
Bump miri for rust-lang/miri#1150 2020-01-27 12:47:51 -05:00
Umesh Kalappa
2a38eb3a86 Disable the testcase for Vxworks. 2020-01-27 09:37:57 -08:00
Guillaume Gomez
4b0fe2ac63 Clean up E0262 explanation 2020-01-27 17:43:02 +01:00
Felix S. Klock II
6f4b904aa9 Collisions in the dep-graph due to path-reuse are rare but can occur.
So, instead of ICE'ing, just fail to mark green in such cases
(for `DepKind::{Hir, HirBody, CrateMetadata}`).

Fix #62649.
2020-01-27 17:06:06 +01:00
Mazdak Farrokhzad
de7f16d431 check_match: extract common logic 2020-01-27 16:53:45 +01:00
William D. Jones
b0174ecf34 Fix LLVM assertion failure in MSP430 interrupt generation. 2020-01-27 10:42:48 -05:00
Guillaume Gomez
833ffd7b83
Update src/librustc_error_codes/error_codes/E0220.md
Co-Authored-By: Dylan DPC <dylan.dpc@gmail.com>
2020-01-27 16:06:38 +01:00
bors
8a79d08fa5 Auto merge of #68566 - pietroalbini:rollup-22hbo3e, r=pietroalbini
Rollup of 4 pull requests

Successful merges:

 - #67928 (Update RELEASES.md for 1.41.0)
 - #68370 (Ensure that we error when calling "const extern fn" with wrong convention)
 - #68531 ([self-profiler] Two small cleanups)
 - #68562 (Fix spelling errors)

Failed merges:

r? @ghost
2020-01-27 11:59:57 +00:00
Pietro Albini
5f9284c95f
Rollup merge of #68562 - hjung4:spell, r=jonas-schievink
Fix spelling errors
2020-01-27 12:50:52 +01:00
Pietro Albini
9188bab4db
Rollup merge of #68531 - wesleywiser:cleanup_self_profiler, r=michaelwoerister
[self-profiler] Two small cleanups

r? @michaelwoerister
2020-01-27 12:50:50 +01:00
Pietro Albini
7e824343d3
Rollup merge of #68370 - Aaron1011:const-extern-test, r=RalfJung
Ensure that we error when calling "const extern fn" with wrong convention

See #64926
2020-01-27 12:50:49 +01:00
Pietro Albini
c8d5f4dcd1
Rollup merge of #67928 - XAMPPRocky:relnotes-1.41.0, r=pietroalbini
Update RELEASES.md for 1.41.0

### [Rendered](https://github.com/XAMPPRocky/rust/blob/relnotes-1.41.0/RELEASES.md)

cc @rust-lang/release
2020-01-27 12:50:47 +01:00