Commit Graph

121890 Commits

Author SHA1 Message Date
Amanieu d'Antras ddacc67190 Add a suggestion to use unused asm arguments in comments 2020-06-11 05:34:43 +01:00
Amanieu d'Antras 7dc19b0bd5
Update src/libcore/num/mod.rs
Co-authored-by: lzutao <taolzu@gmail.com>
2020-06-11 05:21:15 +01:00
bors e93cb961ba Auto merge of #73198 - ehuss:update-cargo, r=ehuss
Update cargo

15 commits in 40ebd52206e25c7a576ee42c137cc06a745a167a..1ec223effbbbf9fddd3453cdcae3a96a967608eb
2020-06-01 22:35:00 +0000 to 2020-06-09 20:03:14 +0000
- Default values for `readme` if not specified (rust-lang/cargo#8277)
- Fix tree completions. (rust-lang/cargo#8342)
- Support `{prefix}` and `{lowerprefix}` markers in `config.json` `dl` key (rust-lang/cargo#8267)
- Add environment variables to identify the binary and crate name (rust-lang/cargo#8270)
- Bump to 0.47.0, update changelog (rust-lang/cargo#8336)
- Nits: Remove unneeded mut and loop (rust-lang/cargo#8334)
- 1.45 beta backports (rust-lang/cargo#8331)
- Better error message when passing in relative path to Workspace::new (rust-lang/cargo#8321)
- Don't hash executable filenames on apple platforms. (rust-lang/cargo#8329)
- fix clippy warnings (rust-lang/cargo#8324)
- Require latest libgit2 to pull in bugfixes (rust-lang/cargo#8320)
- Fix an accidental raw access of field (rust-lang/cargo#8319)
- Use mem::take to replace with Default values (rust-lang/cargo#8314)
- Allow Windows dylibs without dll suffix. (rust-lang/cargo#8310)
- Show alias in help message (rust-lang/cargo#8307)
2020-06-11 01:27:03 +00:00
Tyler Mandry d794313c41 Allow inference regions when relating consts
Fixes #73050
2020-06-10 18:09:34 -07:00
Amanieu d'Antras 34bb6d0448 Cleanup docs 2020-06-11 01:27:39 +01:00
Aaron Hill 9d36fa3d47
Fix test 2020-06-10 18:39:05 -04:00
Alexis Bourget 7f3bb398fa Add a TryFrom<Vec<u8>> impl that mirror from_vec_with_nul 2020-06-11 00:36:55 +02:00
bors ec42485ee9 Auto merge of #73206 - Dylan-DPC:rollup-rha9g8q, r=Dylan-DPC
Rollup of 9 pull requests

Successful merges:

 - #72706 (Add windows group to triagebot)
 - #72789 (resolve: Do not suggest imports from the same module in which we are resolving)
 - #72890 (improper ctypes: normalize return types and transparent structs)
 - #72897 (normalize adt fields during structural match checking)
 - #73005 (Don't create impl candidates when obligation contains errors)
 - #73023 (Remove noisy suggestion of hash_map )
 - #73070 (Add regression test for const generic ICE in #72819)
 - #73157 (Don't lose empty `where` clause when pretty-printing)
 - #73184 (Reoder order in which MinGW libs are linked to fix recent breakage)

Failed merges:

r? @ghost
2020-06-10 22:01:37 +00:00
Esteban Küber 03552ec3fa fix rebase 2020-06-10 14:54:27 -07:00
Aaron Hill e5f3b94d56
Clippy fixes 2020-06-10 17:30:12 -04:00
Aaron Hill bbf497b0eb
Add doc comments 2020-06-10 17:30:12 -04:00
Aaron Hill f69a2a6cbd
Fix pprust-expr-roundtrip 2020-06-10 17:30:11 -04:00
Aaron Hill 6e4d0b4205
Update Clippy for MethodCall changes 2020-06-10 17:30:11 -04:00
Aaron Hill 28946b3486
Track span of function in method calls, and use this in #[track_caller]
Fixes #69977

When we parse a chain of method calls like `foo.a().b().c()`, each
`MethodCallExpr` gets assigned a span that starts at the beginning of
the call chain (`foo`). While this is useful for diagnostics, it means
that `Location::caller` will return the same location for every call
in a call chain.

This PR makes us separately record the span of the function name and
arguments for a method call (e.g. `b()` in `foo.a().b().c()`). This
`Span` is passed through HIR lowering and MIR building to
`TerminatorKind::Call`, where it is used in preference to
`Terminator.source_info.span` when determining `Location::caller`.

This new span is also useful for diagnostics where we want to emphasize
a particular method call - for an example, see
https://github.com/rust-lang/rust/pull/72389#discussion_r436035990
2020-06-10 17:30:11 -04:00
Amanieu d'Antras 2af53e9a15 Add -O compile flag to test 2020-06-10 22:11:17 +01:00
Esteban Küber 7cde07e5cc review comments: only suggest one substitution 2020-06-10 14:09:51 -07:00
Esteban Küber c29b3fa148 On recursive ADT, provide indirection structured suggestion 2020-06-10 14:09:51 -07:00
bors 449e8eaa28 Auto merge of #73213 - ehuss:fix-emsdk, r=Mark-Simulacrum
Fix emcc failure for wasm32.

The wasm32 job is currently failing on CI with the error `ERROR: llc executable not found at /usr/bin/llc`.  The issue is that https://github.com/emscripten-core/emsdk/pull/472 has changed how emsdk discovers its configuration.  We were relying on the global behavior that would use a configuration from the home directory.  However, it looks like emsdk is moving away from that approach.  This change adds the necessary env var for emcc to find the correct configuration.

There are a few alternate approaches this could take.  The `--no-embedded` option could be passed to `emsdk activate` to use the old behavior, but it seems like they want to move away from that.  Another option is to source `emsdk_env.sh`, which is how these env vars normally get set.  I'm not entirely sure how to do that easily in a Dockerfile, though.
2020-06-10 18:02:34 +00:00
Ralf Jung f507748ce4 x.py: with --json-output, forward cargo's JSON 2020-06-10 18:59:48 +02:00
Manish Goregaokar 34c6b38e68 Add tests for macro@ and derive@ 2020-06-10 09:11:17 -07:00
Eric Huss cd02052ad0 Fix emcc failure for wasm32. 2020-06-10 06:23:06 -07:00
Mihail Malo 5859f6e4f7
Fix doctest template
`saturating_add` example was not parameterized, but passed because the `u8` would saturate successfully
2020-06-10 13:55:40 +03:00
Guillaume Gomez 7bd87cfac2 Add tests for E0762 2020-06-10 11:55:50 +02:00
Guillaume Gomez 50a42fe513 Create new error code E0762 for unterminated char literals 2020-06-10 11:54:09 +02:00
Guillaume Gomez dc230c06b2 Clean up E0648 explanation 2020-06-10 11:44:32 +02:00
Dylan DPC 2b8f1eccaa
Rollup merge of #73184 - mati865:fix-mingw-libs-order, r=petrochenkov
Reoder order in which MinGW libs are linked to fix recent breakage

Recent upstream mingw-w64 changes made libmsvcrt depend on libmingwex breaking compilation in some cases when using **external** MinGW.

Applying this change to the master fixes nightly and stage{1,2} build. For stage0 one has to export `RUSTFLAGS_BOOTSTRAP='-C link-arg=-lmsvcrt'` until this PR lands in bootstrap compiler.
Therefore I'm humbly asking to also backport it to the beta and update bootstrap compiler.
2020-06-10 11:03:51 +02:00
Dylan DPC e04e3c89cc
Rollup merge of #73157 - Aaron1011:where-oh-where-has-my-little-span-gone, r=ecstatic-morse
Don't lose empty `where` clause when pretty-printing

Previously, we would parse `struct Foo where;` and `struct Foo;`
identically, leading to an 'empty' `where` clause being omitted during
pretty printing. This will cause us to lose spans when proc-macros
involved, since we will have a collected `where` token that does not
appear in the pretty-printed item.

We now explicitly track the presence of a `where` token during parsing,
so that we can distinguish between `struct Foo where;` and `struct Foo;`
during pretty-printing
2020-06-10 11:03:49 +02:00
Dylan DPC 0a77c8c295
Rollup merge of #73070 - ayazhafiz:i/72819, r=nikomatsakis
Add regression test for const generic ICE in #72819

Closes #72819
2020-06-10 11:03:47 +02:00
Dylan DPC e1cd8c41a5
Rollup merge of #73023 - ayushmishra2005:remove_noisy_suggestion, r=davidtwco
Remove noisy suggestion of hash_map

Remove noisy suggestion of hash_map #72642

fixes #72642
2020-06-10 11:03:45 +02:00
Dylan DPC 024f025934
Rollup merge of #73005 - Aaron1011:fix/error-overflow, r=estebank
Don't create impl candidates when obligation contains errors

Fixes #72839

In PR #72621, trait selection was modified to no longer bail out early
when an error type was encountered. This allowed us treat `ty::Error` as
`Sized`, causing us to avoid emitting a spurious "not sized" error after
a type error had already occured.

However, this means that we may now try to match an impl candidate
against the error type. Since the error type will unify with almost
anything, this can cause us to infinitely recurse (eventually triggering
an overflow) when trying to verify certain `where` clauses.

This commit causes us to skip generating any impl candidates when an
error type is involved.
2020-06-10 11:03:43 +02:00
Dylan DPC 8addb2e684
Rollup merge of #72897 - lcnr:structurally-match-normalize, r=pnkfelix
normalize adt fields during structural match checking

fixes #72896

currently only fixes the issue itself and compiles stage 1 libs.
I believe we have to use something else to normalize the adt fields here,
as I expect some partially resolved adts to cause problems 🤔

stage 1 libs and the test itself pass, not sure about the rest...
Will spend some more time looking into it tomorrow.

r? @pnkfelix cc @eddyb
2020-06-10 11:03:42 +02:00
Dylan DPC fda594e6ae
Rollup merge of #72890 - davidtwco:issue-66202-normalize-and-transparent-improper-ctypes, r=varkor
improper ctypes: normalize return types and transparent structs

Fixes #66202.

See each commit individually (except the first which adds a test) for more detailed explanations on the changes made.

In summary, this PR ensures that return types are normalized before being checked for FFI-safety, and that transparent newtype wrappers are FFI-safe if the type being wrapped is FFI-safe (often true previously, but not if, after substitution, all types in a transparent newtype were zero sized).
2020-06-10 11:03:40 +02:00
Dylan DPC 78d08a2269
Rollup merge of #72789 - petrochenkov:impcand, r=davidtwco
resolve: Do not suggest imports from the same module in which we are resolving

Based on the idea from https://github.com/rust-lang/rust/pull/72623.
2020-06-10 11:03:38 +02:00
Dylan DPC a70fb70c1f
Rollup merge of #72706 - spastorino:add-windows-group, r=nikomatsakis
Add windows group to triagebot

r? @nikomatsakis
2020-06-10 11:03:36 +02:00
Matthew Jasper 88ea7e5234 Use min_specialization in the remaining rustc crates 2020-06-10 09:05:52 +01:00
Manish Goregaokar 178465516e Don't print bang diagnostics for derives 2020-06-10 01:04:38 -07:00
Manish Goregaokar 27dcb4aab5 Avoid collisions between traits and their derive macros 2020-06-10 01:04:38 -07:00
Eric Huss fdeed85355 Update cargo 2020-06-09 19:55:04 -07:00
Lzu Tao fff822fead Migrate to numeric associated consts 2020-06-10 01:35:47 +00:00
bors bb8674837a Auto merge of #73190 - Dylan-DPC:rollup-9wbyh4y, r=Dylan-DPC
Rollup of 8 pull requests

Successful merges:

 - #72417 (Remove `RawVec::reserve_in_place`.)
 - #73098 (Add Item::is_fake for rustdoc)
 - #73122 (Resolve E0584 conflict)
 - #73123 (Clean up E0647 explanation)
 - #73133 (Enforce unwind invariants)
 - #73148 (Fix a typo (size of the size))
 - #73149 (typo: awailable -> available)
 - #73161 (Add mailmap entry)

Failed merges:

r? @ghost
2020-06-10 00:48:35 +00:00
Santiago Pastorino a01485c0da
Fix rustc-dev-guide url 2020-06-09 21:19:26 -03:00
Manish Goregaokar e003c3ea05 Add test for proc macro resolution in intra doc links 2020-06-09 16:35:59 -07:00
Manish Goregaokar 4eda3f77bd intra-doc macro resolution should also handle proc macros 2020-06-09 16:35:59 -07:00
Dylan DPC 74380d712d
Rollup merge of #73161 - tspiteri:mailmap, r=nikomatsakis
Add mailmap entry
2020-06-10 01:06:35 +02:00
Dylan DPC 8a0e6e9335
Rollup merge of #73149 - cuviper:awailable, r=steveklabnik
typo: awailable -> available
2020-06-10 01:06:34 +02:00
Dylan DPC 80d60cc25e
Rollup merge of #73148 - DarkEld3r:patch-1, r=jonas-schievink
Fix a typo (size of the size)
2020-06-10 01:06:32 +02:00
Dylan DPC 161a8bf865
Rollup merge of #73133 - doctorn:unwind-mir-validation, r=jonas-schievink
Enforce unwind invariants

I had a quick look at #72959. The failure message probably needs to be more detailed but I just wanted to check I got the right idea. I have no idea how to right a test for this either...

r? @jonas-schievink

Resolves #72959 (hypothetically)
2020-06-10 01:06:30 +02:00
Dylan DPC 4ac3efa96e
Rollup merge of #73123 - GuillaumeGomez:cleanup-e0647, r=Dylan-DPC
Clean up E0647 explanation

r? @Dylan-DPC
2020-06-10 01:06:29 +02:00
Dylan DPC 95479d4905
Rollup merge of #73122 - doctorn:issue-73116, r=varkor
Resolve E0584 conflict

Adds a new error code (`E0761`) to indicate ambiguity in module file names and an accompanying expanded description to resolve a conflict over `E0584`.

Resolves #73116
2020-06-10 01:06:27 +02:00
Dylan DPC cbfdff7a6b
Rollup merge of #73098 - jyn514:rustdoc-is-fake, r=GuillaumeGomez
Add Item::is_fake for rustdoc

I wasn't aware items _could_ be fake, so I think having a function
mentioning it could be helpful. Also, I'd need to make this change for
cross-crate intra-doc links anyway, so I figured it's better to make the
refactor separate.
2020-06-10 01:06:25 +02:00