Commit Graph

106008 Commits

Author SHA1 Message Date
John Kåre Alsaker
2124a85260 Don't use a whitelist for use_lld 2020-01-29 18:05:36 +01:00
John Kåre Alsaker
95318f8d85 Link a linking issue 2020-01-29 18:05:36 +01:00
John Kåre Alsaker
bfba6ef328 Add an option to use LLD to link the compiler on Windows platforms 2020-01-29 18:05:36 +01:00
bors
eed12bcd0c Auto merge of #68635 - JohnTitor:rollup-jsc34ac, r=JohnTitor
Rollup of 7 pull requests

Successful merges:

 - #67722 (Minor: note how Any is an unsafe trait in SAFETY comments)
 - #68586 (Make conflicting_repr_hints a deny-by-default c-future-compat lint)
 - #68598 (Fix null synthetic_implementors error)
 - #68603 (Changelog: Demonstrate final build-override syntax)
 - #68609 (Set lld flavor for MSVC to link.exe)
 - #68611 (Correct ICE caused by macros generating invalid spans.)
 - #68627 (Document that write_all will not call write if given an empty buffer)

Failed merges:

r? @ghost
2020-01-29 13:40:58 +00:00
Yuki Okushi
50df7880a7
Rollup merge of #68627 - joshtriplett:write-all-none, r=Dylan-DPC
Document that write_all will not call write if given an empty buffer

Some types of Write instances have a semantic meaning associated with
writing an empty buffer, such as sending an empty packet. This works
when calling `write` directly, and supplying an empty buffer. However,
calling `write_all` on an empty buffer will simply never call `write`,
because `write_all` assumes it has no work to do.

Document this behavior, to help prospective users of
datagram-packet-style Write instances.
2020-01-29 18:56:34 +09:00
Yuki Okushi
0e365583f3
Rollup merge of #68611 - MichaelBurge:master, r=estebank
Correct ICE caused by macros generating invalid spans.

Closes #68605
2020-01-29 18:56:32 +09:00
Yuki Okushi
288cabde8c
Rollup merge of #68609 - Zoxc:lld-msvc, r=alexcrichton
Set lld flavor for MSVC to link.exe

This enables linking with LLD on Windows with just `-C linker=rust-lld` instead of needing `-C linker=rust-lld -C linker-flavor=lld-link`.
2020-01-29 18:56:31 +09:00
Yuki Okushi
95e7342773
Rollup merge of #68603 - kornelski:patch-1, r=pietroalbini
Changelog: Demonstrate final build-override syntax
2020-01-29 18:56:29 +09:00
Yuki Okushi
ed351e2818
Rollup merge of #68598 - GuillaumeGomez:fix-null-synthetic_implementors, r=ollie27
Fix null synthetic_implementors error

Fixes #68584.

r? @ollie27

cc @kinnison
2020-01-29 18:56:28 +09:00
Yuki Okushi
8f1857a822
Rollup merge of #68586 - Centril:repr-deny, r=pnkfelix
Make conflicting_repr_hints a deny-by-default c-future-compat lint

Closes https://github.com/rust-lang/rust/issues/68428.
cc https://github.com/rust-lang/rust/issues/68585.

r? @petrochenkov @pnkfelix
2020-01-29 18:56:26 +09:00
Yuki Okushi
36fd7b9a59
Rollup merge of #67722 - petertodd:2019-improve-any-comment, r=Mark-Simulacrum
Minor: note how Any is an unsafe trait in SAFETY comments

Motivation: helpful to people like myself reading the standard library source to better understand how to use Any, especially if we do go ahead with https://github.com/rust-lang/rust/pull/67562 and make it an unsafe trait.
2020-01-29 18:56:22 +09:00
bors
edb3684915 Auto merge of #68572 - tmiasko:sanitizer-use-after-scope, r=nikic
Detect use-after-scope bugs with AddressSanitizer

Enable use-after-scope checks by default when using AddressSanitizer.
They allow to detect incorrect use of stack objects after their scope
have already ended. The detection is based on LLVM lifetime intrinsics.

To facilitate the use of this functionality, the lifetime intrinsics are
now emitted regardless of optimization level if enabled sanitizer makes
use of them.
2020-01-29 07:44:36 +00:00
bors
343432a74d Auto merge of #68512 - spastorino:local-is-copy, r=oli-obk
Local is copy

r? @oli-obk
2020-01-29 04:36:50 +00:00
Peter Todd
f722964d00
Minor: note why we can rely on Any trait for safety 2020-01-28 20:53:45 -05:00
bors
d55f3e9f1d Auto merge of #68625 - JohnTitor:rollup-20pfcru, r=JohnTitor
Rollup of 8 pull requests

Successful merges:

 - #68289 (Don't ICE on path-collision in dep-graph)
 - #68378 (Add BTreeMap::remove_entry)
 - #68553 (Fix run button positionning in case of scrolling)
 - #68556 (rustdoc: Fix re-exporting primitive types)
 - #68582 (Add E0727 long explanation)
 - #68592 (fix: typo in vec.rs)
 - #68619 (Fix a few spelling mistakes)
 - #68620 (Update links to WASI docs in time.rs module)

Failed merges:

r? @ghost
2020-01-29 01:28:55 +00:00
Josh Triplett
9bb2a50e04 Document that write_all will not call write if given an empty buffer
Some types of Write instances have a semantic meaning associated with
writing an empty buffer, such as sending an empty packet. This works
when calling `write` directly, and supplying an empty buffer. However,
calling `write_all` on an empty buffer will simply never call `write`,
because `write_all` assumes it has no work to do.

Document this behavior, to help prospective users of
datagram-packet-style Write instances.
2020-01-28 17:22:38 -08:00
Yuki Okushi
c0df1be21e
Rollup merge of #68620 - kubkon:patch-1, r=Dylan-DPC
Update links to WASI docs in time.rs module

Since the docs for the WASI API are now evolving in [WebAssembly/WASI] repo,
I thought it might be useful to update the links in the docs to point to that location
instead of using the outdated `CraneStation/wasmtime` destination.

[WebAssembly/WASI]: https://github.com/WebAssembly/WASI

r? @steveklabnik

cc @alexcrichton
2020-01-29 09:34:54 +09:00
Yuki Okushi
10fbbf6fba
Rollup merge of #68619 - gorilskij:master, r=varkor
Fix a few spelling mistakes
2020-01-29 09:34:52 +09:00
Yuki Okushi
8d3273cdba
Rollup merge of #68592 - pdbrito:master, r=jonas-schievink
fix: typo in vec.rs
2020-01-29 09:34:51 +09:00
Yuki Okushi
9c1244d6a1
Rollup merge of #68582 - LeSeulArtichaut:code-explanations, r=Dylan-DPC
Add E0727 long explanation

Add long explanation for the `E0727` error code (async generators not yet supported).
Part of #61137

r? @GuillaumeGomez
2020-01-29 09:34:49 +09:00
Yuki Okushi
edfa0f4345
Rollup merge of #68556 - ollie27:rustdoc_primitive_re-export, r=GuillaumeGomez
rustdoc: Fix re-exporting primitive types

* Generate links to the primitive type docs for re-exports.
* Don't ICE on cross crate primitive type re-exports.
* Make primitive type re-exports show up cross crate.

Fixes #67646
Closes #67972

r? @GuillaumeGomez
2020-01-29 09:34:48 +09:00
Yuki Okushi
85f324004e
Rollup merge of #68553 - GuillaumeGomez:fix-run-button-scroll-pos, r=kinnison
Fix run button positionning in case of scrolling

Fixes #68337.

r? @kinnison
2020-01-29 09:34:47 +09:00
Yuki Okushi
af0c280be6
Rollup merge of #68378 - billyrieger:btreemap-remove-entry, r=KodrAus
Add BTreeMap::remove_entry

Implements https://github.com/rust-lang/rust/issues/66714.
2020-01-29 09:34:45 +09:00
Yuki Okushi
cb3884adaa
Rollup merge of #68289 - pnkfelix:issue-62649-dont-ice-on-path-collision-in-dep-graph, r=michaelwoerister
Don't ICE on path-collision in dep-graph

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-29 09:34:43 +09:00
Jakub Konka
6fbb000893
Update links to WASI docs in time.rs module
Since the docs for the WASI API are now evolving in [WebAssembly/WASI] repo,
I thought it might be useful to update the links in the docs to point to that location
instead of using the outdated `CraneStation/wasmtime` destination.

[WebAssembly/WASI]: https://github.com/WebAssembly/WASI
2020-01-28 23:34:00 +01:00
Guillaume Gomez
0754461e02 Fix null synthetic_implementors error 2020-01-28 23:32:29 +01:00
gorilskij
f0a7e8f58c
Fix a few spelling mistakes 2020-01-28 23:06:58 +01:00
bors
3761dcd346 Auto merge of #68606 - jonas-schievink:normalize-fastpath, r=Zoxc
Add an early-exit to `QueryNormalizer::fold_ty`

Pulled out from https://github.com/rust-lang/rust/pull/68524, this results in a ~60-70% reduction in compile time for the await-call-tree benchmarks. This should unblock https://github.com/rust-lang/rust/issues/67982 as well.

r? @Zoxc
2020-01-28 20:26:24 +00:00
LeSeulArtichaut
976a146203 Add E0727 long explanation 2020-01-28 21:17:12 +01:00
Michael Burge
79d8c9beab Correct ICE caused by macros generating invalid spans. 2020-01-28 11:02:22 -08:00
Kornel
efb1acf4a0 Demonstrate final build-override syntax 2020-01-28 17:44:07 +00:00
John Kåre Alsaker
9150b8ec29 Set lld flavor for MSVC to link.exe 2020-01-28 17:58:44 +01:00
Jonas Schievink
474d0e3371 Add an early-exit to QueryNormalizer::fold_ty 2020-01-28 17:28:19 +01: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
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