Commit graph

124480 commits

Author SHA1 Message Date
Dylan DPC
9baba3476b
Rollup merge of #70635 - petrochenkov:nodefault, r=nagisa
rustc_target: Some cleanup to `no_default_libraries`
2020-04-05 06:44:42 +02:00
Nick Torres
5d54fbb791 result_map_or_into_option: fix syntax error in example 2020-04-04 17:20:23 -07:00
Yoshua Wuyts
edabceb4a3 Add slice::fill 2020-04-05 01:44:02 +02:00
bors
e129923b7e Auto merge of #70149 - Xanewok:update-rls, r=Xanewok
submodules: Update RLS and Rustfmt

Fixes #70129.
Fixes #70280.

Regression fixed specifically with 4a587b5fda.

r? @ghost
2020-04-04 22:48:51 +00:00
Igor Matuszewski
370be8e02b rustc-workspace-hack: Account for upgraded crossbeam-utils 0.7 2020-04-05 00:45:50 +02:00
Igor Matuszewski
2f48af09c6 tidy: Update rustc-ap-syntax to -rustc_ast 2020-04-05 00:45:50 +02:00
Igor Matuszewski
b2561c9ea2 submodules: Update RLS and Rustfmt to 1.4.13 2020-04-05 00:45:50 +02:00
Nick Torres
325d0b69d2 result_map_or_into: fix dogfood_clippy error => {h,l}int 2020-04-04 15:02:38 -07:00
Nick Torres
fecdb72b14 CONTRIBUTING.md: fix broken triage link 2020-04-04 14:39:24 -07:00
Nick Torres
2533f56a0e result_map_or_into_option: fix cargo dev fmt --check errors 2020-04-04 14:33:43 -07:00
Nick Torres
acc3bc1ba2 result_map_or_into_option: move arg checks into tuple assignment 2020-04-04 14:24:22 -07:00
Nick Torres
fb276dc3fa result_map_or_into_option: add opt.map_or(None, |_| Some(y)) test 2020-04-04 14:16:26 -07:00
Nick Torres
d0738bd673 result_map_or_into_option: destructure lint tuple or return early 2020-04-04 14:16:23 -07:00
Nick Torres
3a29aedf8d result_map_or_into_option: add good and bad examples 2020-04-04 14:16:18 -07:00
Nick Torres
91759a7582 result_map_or_into_option: explicitly note absence of known problems 2020-04-04 14:16:11 -07:00
David Tolnay
560c8c9c70
Downgrade new_ret_no_self to pedantic 2020-04-04 12:58:18 -07:00
David Tolnay
be34bc46ed
Downgrade unreadable_literal to pedantic 2020-04-04 12:52:03 -07:00
Vadim Petrochenkov
13bd25e472 Do not lose or reorder user-provided linker arguments 2020-04-04 22:01:18 +03:00
Tshepang Lekhonkhobe
636076a89e comment refers to removed type
Was removed in 51938c61f6
2020-04-04 20:30:09 +02:00
bors
853c4774e2 Auto merge of #69898 - spastorino:rename-rustc-guide2, r=Xanewok
Move rustc-guide submodule to rustc-dev-guide

r? @pietroalbini
2020-04-04 18:17:14 +00:00
Igor Matuszewski
dcf70044de
Update src/tools/publish_toolstate.py
Co-Authored-By: Mateusz Mikuła <mati865@users.noreply.github.com>
2020-04-04 20:11:01 +02:00
flip1995
fac5a41ca5
Update CONTRIBUTING.md 2020-04-04 17:03:07 +02:00
flip1995
2481d3c74a
Rename rustc -> rustc_middle in doc links 2020-04-04 17:01:42 +02:00
Stefan Lankes
e2780b3919
Merge branch 'master' into abi 2020-04-04 16:19:40 +02:00
Ralf Jung
e901b2ff8e Miri: remove an outdated FIXME 2020-04-04 15:55:32 +02:00
bors
cff07db629 Auto merge of #70683 - jclulow:illumos-openssl-gmake, r=Mark-Simulacrum
update openssl-src to 111.8.1+1.1.1f

This update includes a fix for alexcrichton/openssl-src-rs#52 which allows Cargo to build correctly on Solaris/illumos.
2020-04-04 13:40:49 +00:00
Vadim Petrochenkov
106b30e869 macro_rules: NtLifetime cannot start with an identifier 2020-04-04 16:23:43 +03:00
Vadim Petrochenkov
cd79400da7 rustc_target: Rely on default value of no_default_libraries more 2020-04-04 15:43:02 +03:00
Trevor Spiteri
2b718e8d9c use ManuallyDrop instead of forget inside collections
This commit changes some usage of mem::forget into mem::ManuallyDrop
in some Vec, VecDeque, BTreeMap and Box methods.

Before the commit, the generated IR for some of the methods was
longer, and even after optimization, some unwinding artifacts were
still present.
2020-04-04 14:30:33 +02:00
Ralf Jung
1f3e2478b2 indicate better which kind of memory got leaked 2020-04-04 13:45:22 +02:00
Ralf Jung
aecaeab5ec share more alloc printing code between Miri and MIR dumping 2020-04-04 13:21:41 +02:00
Ponas
b4f416d837 docs: make the description of Result::map_or more clear 2020-04-04 14:18:02 +03:00
Ralf Jung
fbdff5145a avoid printing allocations twice 2020-04-04 12:27:46 +02:00
Nick Torres
91d8a804d3 result_map_or_into_option: add lint to catch manually adpating Result -> Option
Result<T, E> has an `ok()` method that adapts a Result<T,E> into an Option<T>.
It's possible to get around this adapter by writing Result<T,E>.map_or(None, Some).

This lint is implemented as a new variant of the existing
[`option_map_none` lint](https://github.com/rust-lang/rust-clippy/pull/2128)
2020-04-04 03:17:13 -07:00
Ralf Jung
2c9d857e90 Miri leak_report: do not report leaks of allocations that are reachable from globals 2020-04-04 12:15:32 +02:00
bors
49dc2f9f09 Auto merge of #70272 - eddyb:type-of-impl-trait, r=nikomatsakis
typeck/type_of: let wfcheck handle generics in opaque types' substs.

I was working on #70164, and `type_of`'s handling of opaque types seemed to be, by far, the trickiest use of `Ty::walk`, but I believe it wasn't doing anything (see https://github.com/rust-lang/rust/pull/57896#discussion_r396064431 - I suspect, based on glancing at the PR discussion, that an early attempt was kept in, despite becoming just an overcomplicated way to do exactly the same as the previous simple type equality check).

I would've loved to remove `ResolvedOpaqueTy` (keep the `Ty` and lose the `Substs`), but it looks like the MIR borrowck part of the process needs that now, so it would've been added anyway since #57896, even if that PR hadn't happened.

<hr/>

In the process, I've moved the remaining substitution validation to `wfcheck`, which was already handling lifetimes, and kept only `delay_span_bug`s in `type_of`, as an insurance policy.

I've added tests for lifetime and const cases, they seem to be checked correctly now.
(and more uniform than they were in https://github.com/rust-lang/rust/issues/63063#issuecomment-602162804)

However, the quality of the errors is maybe a bit worse, and they don't trigger when there are other errors (not sure if this is due to compilation stop points or something more specific to one opaque type).

r? @nikomatsakis cc @matthewjasper @oli-obk @Aaron1011
2020-04-04 09:16:19 +00:00
Kevin Per
f96b92f509 Run fmt 2020-04-04 08:39:17 +00:00
Kevin Per
2c6f84668e Drop this in error message to not reach 100 characters 2020-04-04 08:03:54 +00:00
Kevin Per
e21d101c45 Show open and closed braces of last proper block 2020-04-04 08:01:33 +00:00
bors
1b521f5773 Auto merge of #70136 - hermitcore:network_tcp, r=dtolnay
add basic IP support in HermitCore

- add initial version to support sockets
- use TcpStream as test case
- HermitCore uses smoltcp as IP stack for pure Rust applications
- further functionalities (e.g. UDP support) will be added step by step
- in principle, the current PR is a revision of #69404
2020-04-04 06:04:32 +00:00
Stefan Lankes
aa223304dc
Merge branch 'master' into abi 2020-04-04 07:41:05 +02:00
Eduard-Mihai Burtescu
8ad149a0e0 typeck/type_of: only early-bound and (free) late-bound lifetimes are parameters. 2020-04-04 08:29:06 +03:00
Eduard-Mihai Burtescu
ea7999b4f3 tests: add tests for lifetime and const params of opaque types. 2020-04-04 08:29:06 +03:00
Eduard-Mihai Burtescu
8807b00dd8 typeck/type_of: let wfcheck handle duplicate generics in opaque types' substs. 2020-04-04 08:29:06 +03:00
Eduard-Mihai Burtescu
8e9a5d928a typeck/type_of: let wfcheck handle concrete types in opaque types' substs. 2020-04-04 08:20:58 +03:00
Eduard-Mihai Burtescu
a98b5340d1 typeck/type_of: don't ignore incorrect defining uses of opaque types. 2020-04-04 08:00:26 +03:00
Eduard-Mihai Burtescu
6465113852 typeck/type_of: simplify checking of opaque types with multipler defining uses. 2020-04-04 06:49:20 +03:00
bors
6050e523ba Auto merge of #69718 - arlosi:debughash, r=eddyb
Add hash of source files in debug info

LLVM supports placing the hash of source files inside the debug info.
This information can be used by a debugger to verify that the source code matches
the executable.

This change adds support for both hash algorithms supported by LLVM, MD5 and SHA1, controlled by a target option.

* DWARF only supports MD5
* LLVM IR supports MD5 and SHA1 (and SHA256 in LLVM 11).
* CodeView (.PDB) supports MD5, SHA1, and SHA256.

Fixes #68980.

Tracking issue: #70401

rustc dev guide PR with further details: https://github.com/rust-lang/rustc-dev-guide/pull/623
2020-04-04 03:00:47 +00:00
bors
9e55101bb6 Auto merge of #70156 - michaelwoerister:incr-cgus, r=nikomatsakis
Make the rustc respect the `-C codegen-units` flag in incremental mode.

This PR implements (the as of yet unapproved) major change proposal at https://github.com/rust-lang/compiler-team/issues/245. See the description there for background and rationale.

The changes are pretty straightforward and should be easy to rebase if the proposal gets accepted at some point.

r? @nikomatsakis cc @pnkfelix
2020-04-03 23:50:01 +00:00
Olivier Goffart
6b6cb7bda7 Do not disable field reordering on enums with big discriminant
The field are always re-ordered to minimize padding, regardless of the
alignment of the discriminant
2020-04-03 23:12:39 +02:00