Commit graph

124480 commits

Author SHA1 Message Date
Manish Goregaokar
128fa2b981
Rollup merge of #72071 - PankajChaudhary5:ErrorCode-E0687, r=davidtwco
Added detailed error code explanation for issue E0687 in Rust compiler.

Added proper error explanation for issue E0687 in the Rust compiler.
Error Code E0687

Sub Part of Issue #61137

r? @GuillaumeGomez
2020-07-01 07:42:27 -07:00
Mark Rousskov
562e0151d1 Verify UI tests work in pass=check mode
We do not test cross-compilation here as the PR builder lacks a sufficiently
recent LLVM to cross-compile to 32-bit linux. Once we bump the minimum LLVM
version to LLVM 9, this can use normal 32-bit linux.
2020-07-01 10:07:52 -04:00
Lzu Tao
cd9d8334bd Implement slice_strip feature 2020-07-01 12:36:42 +00:00
Guillaume Gomez
13a6aeff77 Clean up E0715 explanation 2020-07-01 14:13:41 +02:00
Philipp Hansch
d347d0cf59
Deprecate regex_macro lint 2020-07-01 13:05:41 +02:00
Vadim Petrochenkov
b37434ef31 Remove token::FlattenGroup 2020-07-01 13:40:46 +03:00
bors
1505c12395 Auto merge of #73863 - pietroalbini:revert-8bc3122311d, r=Mark-Simulacrum
Revert "ci: allow gating gha on everything but macOS"

The macOS issue on GHA's side seems to be fixed, so this is not needed anymore.

r? @Mark-Simulacrum
2020-07-01 10:17:39 +00:00
Vadim Petrochenkov
a5764de00b expand: Stop using nonterminals for passing tokens to attribute and derive macros 2020-07-01 13:13:21 +03:00
bors
0860375664 Auto merge of #5759 - mikerite:multiple_crate_versions_20200701, r=matthiaskrgr
Fix multiple_crate_versions error

Fix the versions of packages in the multiple_crate_versions ui test by
checking in the Cargo.lock for the test package. `ansi_term 0.11`
depends on `winapi ^0.3.4`. This means means that the expected stderr for
this test would have to be updated whenever `winapi 0.3` is updated
otherwise.

changelog: none
2020-07-01 08:13:52 +00:00
David Hewitt
1a0343217d Amend wording of note 2020-07-01 07:39:56 +01:00
Michael Wright
5b9c2ff9cc Fix multiple_crate_versions error
Fix the versions of packages in the multiple_crate_versions ui test by
checking in the Cargo.lock for the test package. `ansi_term 0.11`
depends on `winapi ^0.3.4`. This means means that the expected stderr for
this test would have to be updated whenever `winapi 0.3` is updated
otherwise.
2020-07-01 07:35:18 +02:00
Adam Perry
f07d10db7c Stabilize #[track_caller].
Does not yet make its constness stable, though. Use of
`Location::caller` in const contexts is still gated by
`#![feature(const_caller_location)]`.
2020-06-30 22:22:32 -07:00
Elton Law
b438811029 enable unsafe_op_in_unsafe_fn lint 2020-06-30 23:09:06 -04:00
Elton Law
7616cd9ee9 #[deny(unsafe_op_in_unsafe_fn)] in libstd/fs.rs 2020-06-30 22:51:28 -04:00
bors
d462551a86 Auto merge of #73706 - Aaron1011:fix/proc-macro-foreign-span, r=petrochenkov
Serialize all foreign `SourceFile`s into proc-macro crate metadata

Normally, we encode a `Span` that references a foreign `SourceFile` by
encoding information about the foreign crate. When we decode this
`Span`, we lookup the foreign crate in order to decode the `SourceFile`.

However, this approach does not work for proc-macro crates. When we load
a proc-macro crate, we do not deserialzie any of its dependencies (since
a proc-macro crate can only export proc-macros). This means that we
cannot serialize a reference to an upstream crate, since the associated
metadata will not be available when we try to deserialize it.

This commit modifies foreign span handling so that we treat all foreign
`SourceFile`s as local `SourceFile`s when serializing a proc-macro.
All `SourceFile`s will be stored into the metadata of a proc-macro
crate, allowing us to cotinue to deserialize a proc-macro crate without
needing to load any of its dependencies.

Since the number of foreign `SourceFile`s that we load during a
compilation session may be very large, we only serialize a `SourceFile`
if we have also serialized a `Span` which requires it.
2020-07-01 01:04:31 +00:00
Josh Stone
47425e476b Rewrite a few manual index loops with while-let
There were a few instances of this pattern:

```rust
while index < vec.len() {
    let item = &vec[index];
    // ...
}
```

These can be indexed at once:

```rust
while let Some(item) = vec.get(index) {
    // ...
}
```

Particularly in `ObligationForest::process_obligations`, this mitigates
a codegen regression found with LLVM 11 (#73526).
2020-06-30 17:53:45 -07:00
Wesley Wiser
b4d045719d Use exhaustive match in const_prop.rs 2020-06-30 20:50:47 -04:00
Yuki Okushi
0d26512964
Add missing backtick in ty_error_with_message 2020-07-01 09:33:21 +09:00
Caleb Zulawski
51858dae1e Make #[target_feature] Fn trait error message less confusing 2020-06-30 18:42:55 -04:00
bors
36b7983580 Auto merge of #5758 - ebroto:5704_unnested_or_pats, r=flip1995
Require `or_patterns` to suggest nesting them

changelog: Require `#![feature(or_patterns)]` to trigger [`unnested_or_patterns`]

Fixes #5704
2020-06-30 22:23:23 +00:00
aspen
5f3dbd83af
Don't break on iOS Simulator builds. 2020-06-30 18:18:19 -04:00
Eduardo Broto
bff6c435ef Require or_patterns to suggest nesting them 2020-07-01 00:15:21 +02:00
aspen
c22bcb0381
Only set the flag in LLVM builds. 2020-06-30 17:56:31 -04:00
bors
d05d6abf89 Auto merge of #5750 - ebroto:blanket_clippy_restriction_lints, r=Manishearth,flip1995,phansch,oli-obk
Lint enabling the whole restriction group

I've added it to the `correctness` category, but I may be missing some valid use cases. In that case it could be changed to `pedantic`.

changelog: Add [`blanket_clippy_restriction_lints`] to check against enabling the whole restriction group.
2020-06-30 21:55:46 +00:00
aspen
e191358788
Changes required for rustc/cargo to build for iOS targets 2020-06-30 17:21:49 -04:00
Aaron Hill
37a48fa838
Add force-host to test aux file used by proc-macro 2020-06-30 16:10:56 -04:00
Eduardo Broto
c5d8f530e0 Move blanket_clippy_restriction_lints to "style" 2020-06-30 21:56:19 +02:00
Eduardo Broto
814349f941 Lint enabling the whole restriction group 2020-06-30 21:56:19 +02:00
LeSeulArtichaut
6a7a6528f6 Bless failing tests 2020-06-30 21:03:34 +02:00
CAD97
aed88e1804 Clarify when rc::data_offset is safe 2020-06-30 15:03:04 -04:00
CAD97
0aecf3c74b Fix invalid pointer deref in Weak::as_ptr 2020-06-30 15:02:21 -04:00
CAD97
fc3dc723da Clarify safety comment for A|Rc::as_ptr 2020-06-30 15:01:48 -04:00
Nathan West
3ab7ae39ec
Bring net/parser.rs up to modern up to date with modern rust patterns
Made the following changes throughout the IP address parser:
- Replaced all uses of `is_some()` / `is_none()` with `?`.
- "Upgraded" loops wherever possible; ie, replace `while` with `for`, etc.
    - Removed all cases of manual index tracking / incrementing.
- Renamed several single-character variables with more expressive names.
- Replaced several manual control flow segments with equivalent adapters (such as `Option::filter`).
- Removed `read_seq_3`; replaced with simple sequences of `?`.
- Parser now reslices its state when consuming, rather than carrying a separate state and index variable.
- `read_digit` now uses `char::to_digit`.
- Removed unnecessary casts back and forth between u8 and u32
- Added comments throughout, especially in the complex IPv6 parsing logic.
- Added comprehensive local unit tests for the parser to validate these changes.
2020-06-30 11:44:14 -07:00
Dylan MacKenzie
eb4d28bce0 Bless mir-opt tests 2020-06-30 11:31:00 -07:00
Bastian Kauschke
0889d79050 remove duplicate tests 2020-06-30 20:19:31 +02:00
Dylan MacKenzie
ca8678b23e Handle inactive enum variants in MaybeUninitializedPlaces 2020-06-30 11:02:30 -07:00
LeSeulArtichaut
a1623ff3b6 Deny unsafe ops in unsafe fns, part 6
And final part!!!
2020-06-30 19:28:51 +02:00
Eric Huss
1b3ef66026 Switch crate_extern_paths to a query, and tweak wording. 2020-06-30 09:10:44 -07:00
bors
16957bd4d3 Auto merge of #73456 - tmiasko:musl-libdir, r=Mark-Simulacrum
bootstrap: Configurable musl libdir

Make it possible to customize the location of musl libdir using
musl-libdir in config.toml, e.g., to use lib64 instead of lib.
2020-06-30 15:41:50 +00:00
LeSeulArtichaut
b3652337a9 Deny unsafe ops in unsafe fns, part 5 2020-06-30 17:37:53 +02:00
Eric Huss
c225e5c5cb Provide more information on duplicate lang item error. 2020-06-30 08:35:11 -07:00
LeSeulArtichaut
c68f478131 Deny unsafe ops in unsafe fns, part 4 2020-06-30 17:06:33 +02:00
LeSeulArtichaut
ac7539c6d1 Deny unsafe ops in unsafe fns, part 3 2020-06-30 17:06:16 +02:00
LeSeulArtichaut
8a515e963c Deny unsafe ops in unsafe fns, part 2 2020-06-30 16:42:58 +02:00
LeSeulArtichaut
8ee1dec77b Deny unsafe ops in unsafe fns, part 1 2020-06-30 16:42:57 +02:00
bors
ccf7cb3764 Auto merge of #5751 - flip1995:rustup, r=Manishearth,flip1995
Rustup

cc https://github.com/rust-lang/rust/pull/73743

r? @Manishearth

changelog: none
2020-06-30 14:20:09 +00:00
flip1995
ab649c920e
Disable chrono integration test 2020-06-30 16:19:42 +02:00
flip1995
1e861a2663
Merge remote-tracking branch 'upstream/master' into rustup2 2020-06-30 15:40:22 +02:00
Guillaume Gomez
f74a7d3ff1 Clean up E0712 explanation 2020-06-30 13:36:33 +02:00
bors
e070765f6e Auto merge of #73888 - RalfJung:miri, r=RalfJung
update Miri

Fixes https://github.com/rust-lang/rust/issues/73773
Cc @rust-lang/miri r? @ghost
2020-06-30 11:35:40 +00:00