Commit Graph

105217 Commits

Author SHA1 Message Date
Guillaume Gomez
326994dfe6 Improve E0184 explanation 2020-01-08 14:24:25 +01:00
bors
ed6468da16 Auto merge of #67770 - Centril:reduce-diversity-2, r=petrochenkov
More reductions in error handling diversity

In this follow up to https://github.com/rust-lang/rust/pull/67744, we:

- Remove all fatal / error / warning macros in `syntax` except for `struct_span_err`, which is moved to `rustc_errors`.

- Lintify some hard-coded warnings which used warning macros.

- Defatalize some errors.

In general, the goal here is to make it painful to use fatal or unstructured errors and so we hopefully won't see many of these creep in.

Fixes https://github.com/rust-lang/rust/issues/67933.
2020-01-08 12:12:08 +00:00
Pietro Albini
aabc73631e
ci: fix wrong shared.sh import for publish_toolstate 2020-01-08 12:24:01 +01:00
Camille GILLOT
c1c09bee29 Move is_min_const_fn query to librustc_mir.
The only two uses of the associated methods are in librustc_mir and
librustdoc. Please tell me if there is a better choice.
2020-01-08 10:37:37 +01:00
Camille GILLOT
588296adfe Move constness.rs to librustc_mir. 2020-01-08 10:22:04 +01:00
maik
f1fb384cd6 Check for the entry kind 2020-01-08 10:05:44 +01:00
bors
87540bd3bc Auto merge of #67760 - Mark-Simulacrum:rustc-dirty, r=alexcrichton
Clear out target directory if compiler has changed

Previously, we relied fully on Cargo to detect that the compiler had changed and
it needed to rebuild the standard library (or later "components"). This used to
not quite be the case prior to moving to LLVM be a separate cargo invocation;
subsequent compiles would recompile std and friends if LLVM had changed
(#67077 is the PR that changes things here).

This PR moves us to clearing out libstd when it is being compiled if the rustc
we're using has changed. We fairly harshly limit the cases in which we do this
(e.g., ignoring dry run mode, and so forth, as well as rustdoc invocations).
This is primarily because when we're not using the compiler directly, so
clearing out in other cases is likely to lead to bugs, particularly as our
deletion scheme is pretty blunt today (basically removing more than is needed,
i.e., not just the rustc artifacts).

In practice, this targeted fix does fix the known bug, though it may not fully
resolve the problem here. It's also not clear that there is a full fix hiding
here that doesn't involve a more major change (like -Zbinary-dep-depinfo was).

As a drive-by fix, don't delete the compiler before calling Build::copy, as that
also deletes the compiler.
2020-01-08 09:03:46 +00:00
maik
b81ab44a8f Remove unnecessary global counting 2020-01-08 09:53:33 +01:00
Yuki Okushi
c524f3ca98 Display more informative ICE 2020-01-08 17:12:19 +09:00
oxalica
f5baa03af0
Try statx for all linux-gnu targets 2020-01-08 14:21:27 +08:00
bors
f48e576756 Auto merge of #67733 - pietroalbini:gha-2, r=alexcrichton
GitHub Actions: preparations, part 2

This PR adds the second batch of commits in preparation for GitHub Actions:

* Removed hardcoded Azure Pipelines variables from `publish_toolstate.sh`
* Fixed a bug in `shared.sh`'s GitHub Actions support
* Fixed binutils missing from MSYS2 on Windows 2019 (GitHub Actions-specific)
* Fixed wrong sysroot in macOS 10.15 onwards (GitHub Actions-specific)

This PR does **not** yet add any builders on GitHub Actions.

r? @alexcrichton
2020-01-08 05:05:06 +00:00
Igor Aleksanov
f720469fd0 Use matches macro in libcore and libstd 2020-01-08 07:10:28 +03:00
Mazdak Farrokhzad
20ebb807d5 span_to_lines: account for DUMMY_SP 2020-01-08 04:25:33 +01:00
Mazdak Farrokhzad
2c3e5d3de0 - remove syntax::{span_warn!, span_err!, span_fatal!. struct_err!}
- remove syntax::{help!, span_help!, span_note!}
- remove unused syntax::{struct_span_fatal, struct_span_err_or_warn!, span_err_or_warn!}
- lintify check_for_bindings_named_same_as_variants + conflicting_repr_hints
- inline syntax::{struct_span_warn!, diagnostic_used!}
- stringify_error_code! -> error_code! & use it more.
- find_plugin_registrar: de-fatalize an error
- de-fatalize metadata errors
- move type_error_struct! to rustc_typeck
- struct_span_err! -> rustc_errors
2020-01-08 04:25:33 +01:00
Mazdak Farrokhzad
0a6cdc231e slice patterns: harden match-based borrowck tests 2020-01-08 00:42:53 +01:00
bors
7e393b5b3b Auto merge of #67970 - cjgillot:inherent, r=Centril
Minimize dependencies on trait and infer inside librustc

Split from #67953

All commits should pass check on their own.

r? @Centril
2020-01-07 21:23:19 +00:00
David Tolnay
48add5453b
Remove insignificant notes from CStr documentation
These notes are about a distinction that is not going to be observable
in the API. Whether or not the UTF-8 check knows the string length ahead
of time, these methods require linear time.
2020-01-07 12:03:28 -08:00
Maik Klein
eddb3f0668 Fix indentation 2020-01-07 19:42:35 +01:00
Maik Klein
a526c8d7fd Add tests for static variables 2020-01-07 19:37:24 +01:00
Camille GILLOT
700ac84eae Rename traits::drop -> traits::misc. 2020-01-07 19:36:50 +01:00
bors
8597644255 Auto merge of #67312 - cuviper:clone-box-slice, r=SimonSapin
Simplify Clone for Box<[T]>

The bespoke `BoxBuilder` was basically a very simple `Vec`. Instead,
let's clone to a real `Vec`, with all of its specialization for the
task, then convert back to `Box<[T]>`.
2020-01-07 18:10:56 +00:00
Camille GILLOT
f629baf96c Move magic traits queries to rustc::traits::drop. 2020-01-07 18:14:32 +01:00
Camille GILLOT
86ec4b5f85 Move required_region_bounds to rustc::infer::opaque_types. 2020-01-07 18:08:47 +01:00
Camille GILLOT
24d09c7c1b Move free_region_map to rustc::ty. 2020-01-07 18:07:36 +01:00
Camille GILLOT
e905d5da93 Move structural_match to rustc::traits. 2020-01-07 18:07:08 +01:00
Camille GILLOT
73667af444 Move ty::wf to traits. 2020-01-07 18:03:53 +01:00
Camille GILLOT
787cd5493a Make traits::util::* free functions. 2020-01-07 17:48:41 +01:00
Camille GILLOT
56a0aec07f Move subst_and_normalize_erasing_regionsto rustc::ty. 2020-01-07 17:47:49 +01:00
Camille GILLOT
a80bff87c1 Move normalize_erasing_regions to rustc::ty. 2020-01-07 17:46:23 +01:00
Camille GILLOT
7770bce178 Make rustc::traits::object_safety::{astconv_object_safety_violations,is_vtable_safe_method,object_safety_violations} free functions. 2020-01-07 17:44:53 +01:00
Camille GILLOT
0b1521e6d3 Make rustc::traits::error_reporting::{recursive_type_with_infinite_size_error, report_object_safety_error} free functions. 2020-01-07 17:43:55 +01:00
Camille GILLOT
d53bf7a676 Make rustc::infer::error_reporting::{note_and_explain_free_region, note_and_explain_region} free functions. 2020-01-07 17:43:03 +01:00
Camille GILLOT
7118e33bfd Remove private methods from TyCtxt impl block: rustc::ty::print::pretty. 2020-01-07 17:42:13 +01:00
Camille GILLOT
640cae257b Remove private methods from TyCtxt impl block: rustc::ty::outlives. 2020-01-07 17:41:23 +01:00
Camille GILLOT
0d9f4fb270 Remove trivial function. 2020-01-07 17:40:31 +01:00
Camille GILLOT
c1afe6a9c9 Remove private methods from TyCtxt impl block: rustc::trait::object_safety. 2020-01-07 17:39:41 +01:00
Camille GILLOT
811adb5ddc Remove private methods from TyCtxt impl block: rustc::middle::stability. 2020-01-07 17:38:24 +01:00
Camille GILLOT
47256b8b7c Remove private methods from TyCtxt impl block: rustc::infer::error_reporting. 2020-01-07 17:37:01 +01:00
Adam Perry
3acd346594 Skip caller location test in wasm32. 2020-01-07 07:22:49 -08:00
maik
093fb856a3 Always export static variables as SymbolExportLevel::C in wasm 2020-01-07 16:20:58 +01:00
Oliver Scherer
d0b24e5ee2 Actually use the poison value 2020-01-07 15:59:14 +01:00
bors
56446fef49 Auto merge of #67732 - pietroalbini:fewer-apples, r=alexcrichton
ci: remove 32-bit Apple targets

This PR drops the `i686-apple` and `dist-i686-apple` CI builders, as well as removing the `armv7-apple-ios`, `armv7s-apple-ios`  and `i386-apple-ios` targets from the `x86_64-apple` CI builder.

The change was approved in [RFC 2837](https://github.com/rust-lang/rfcs/pull/2837), and it should land in Rust 1.42 stable (so this cycle).

r? @alexcrichton
2020-01-07 14:53:27 +00:00
Oliver Scherer
29c372bf8b Add more documentation 2020-01-07 15:51:43 +01:00
Oliver Scherer
f7f59522b6 Add warning label to try_as_mplace 2020-01-07 15:41:48 +01:00
Oliver Scherer
a1990db7c6 Remove a bunch of dead functions and make some functions private 2020-01-07 15:41:48 +01:00
Oliver Scherer
23b0c47024 Ensure we don't accidentally turn non-zsts into zsts 2020-01-07 15:41:48 +01:00
Oliver Scherer
4fbe434c5c Poison any MemPlace created from a zst Operand (or otherwise via MPlaceTy::dangling) so you can't get the address back out. 2020-01-07 15:41:48 +01:00
Oliver Scherer
cac6f4c12d Move to_const_value from MPlaceTy to its only use site 2020-01-07 15:41:48 +01:00
Oliver Scherer
4a5c35bc44 Fix an ICE happening due code assuming that MPlaceTy cannot have integer addresses 2020-01-07 15:41:48 +01:00
Oliver Scherer
5b770b080f Remove a ZST special casing that is not necessary anymore 2020-01-07 15:41:47 +01:00