105075 Commits

Author SHA1 Message Date
msizanoen1
451c97ba53 Distribution CI for RISC-V GNU/Linux 2020-01-11 12:14:03 +07:00
bors
72b2bd55ed Auto merge of #68067 - JohnTitor:rollup-vsj5won, r=JohnTitor
Rollup of 10 pull requests

Successful merges:

 - #66254 (Make Layout::new const)
 - #67122 (Do not deduplicate diagnostics in UI tests)
 - #67358 (Add HashSet::get_or_insert_owned)
 - #67725 (Simplify into_key_slice_mut)
 - #67935 (Relax the Sized bounds on Pin::map_unchecked(_mut))
 - #67967 (Delay bug to prevent ICE in MIR borrowck)
 - #67975 (Export public scalar statics in wasm)
 - #68006 (Recognise riscv64 in compiletest)
 - #68040 (Cleanup)
 - #68054 (doc: add Null-unchecked version section to mut pointer as_mut method)

Failed merges:

 - #67258 (Introduce `X..`, `..X`, and `..=X` range patterns)

r? @ghost
2020-01-09 19:21:58 +00:00
Yuki Okushi
9e83df0f69
Rollup merge of #68054 - tspiteri:null-unchecked-as_mut, r=cramertj
doc: add Null-unchecked version section to mut pointer as_mut method

The [`as_ref`](https://doc.rust-lang.org/std/primitive.pointer.html#method.as_ref-1) method already has a *Null-unchecked version* section, its example is a modification of the example in the main `as_ref` section. Similarly the example in this PR is a modification of the example in main [`as_mut`](https://doc.rust-lang.org/std/primitive.pointer.html#method.as_mut) section.

Fixes #68032.
2020-01-10 04:18:43 +09:00
Yuki Okushi
a366aa6249
Rollup merge of #68040 - sinkuu:unused, r=petrochenkov
Cleanup
2020-01-10 04:18:42 +09:00
Yuki Okushi
2bade5dd7d
Rollup merge of #68006 - infinity0:master, r=nikomatsakis
Recognise riscv64 in compiletest

Otherwise tests can't run, fails with "Cannot determine Architecture from triple"
2020-01-10 04:18:40 +09:00
Yuki Okushi
8de73bc10c
Rollup merge of #67975 - EmbarkStudios:export-statics-wasm, r=alexcrichton
Export public scalar statics in wasm

Fixes #67453

I am not sure which export level statics should get when exporting them in wasm. This small change fixes the issue that I had, but this might not be the correct way to implement this.
2020-01-10 04:18:39 +09:00
Yuki Okushi
08c5999dc4
Rollup merge of #67967 - JohnTitor:fix-ice-0107, r=matthewjasper
Delay bug to prevent ICE in MIR borrowck

Fixes #67947

r? @matthewjasper
2020-01-10 04:18:37 +09:00
Yuki Okushi
ee90f09ea0
Rollup merge of #67935 - Thomasdezeeuw:issue_67669, r=withoutboats
Relax the Sized bounds on Pin::map_unchecked(_mut)

Fixes #67669.
2020-01-10 04:18:36 +09:00
Yuki Okushi
78db333f9d
Rollup merge of #67725 - ssomers:into_key_slice_mut, r=RalfJung
Simplify into_key_slice_mut

Remove a rare and tiny but superfluous run-time check from into_key_slice_mut.

In #67459, I wrote that "`get_mut` [...] does visit `into_key_slice_mut`" and that was wrong. No function that operates on a map that (still) has a shared root ever dives into `into_key_slice_mut`.  So it's more clear to remove the (previously existing, and always incomplete) code it has for dealing with shared roots, as well as a petty performance improvement for those using exotically aligned key types.

~~Also, some testing of the `range` function initially added to #67686 but hardly related.~~

r? @RalfJung
2020-01-10 04:18:34 +09:00
Yuki Okushi
02ef0dcf69
Rollup merge of #67358 - cuviper:get_or_insert_owned, r=LukasKalbertodt
Add HashSet::get_or_insert_owned

This is an extension for tracking issue #60896. The more-general `get_or_insert_with` has potential for misuse, so we might remove it, but I think `get_or_insert_owned` covers most use cases.
2020-01-10 04:18:32 +09:00
Yuki Okushi
68ae55bfac
Rollup merge of #67122 - petrochenkov:nodedup, r=estebank
Do not deduplicate diagnostics in UI tests

Error reporting infrastructure deduplicates identical diagnostics with identical spans.

While it's preferable to do this in "release"/"user-facing" mode, it sometimes brings [confusion](https://github.com/rust-lang/rust/pull/50682#issuecomment-390949878) and hides details that may be important during development.

Do we run some passes multiple times when we could do it once?
How many times we run them exactly? Can this number be large? Can the multiplied error construction be expensive? Can speculative checks be made cheaper if they don't report errors?

*Relying* on this mechanism to deduplicate some specific error never looks like a proper solution to me personally.

In this PR I attempt to disable this deduplication by applying `-Z deduplicate-diagnostics=no` to UI tests.
2020-01-10 04:18:30 +09:00
Yuki Okushi
92bd267ba8
Rollup merge of #66254 - CAD97:patch-1, r=KodrAus
Make Layout::new const

This seems like a reasonable change to make. If we don't provide `Layout:🆕:<T>` as `const`, then users can just instead do the more error prone `Layout::from_size_align_unchecked(mem::size_of::<T>(), mem::align_of::<T>())` for the same effect and an extra `unsafe { }` incantation.
2020-01-10 04:18:29 +09:00
Vadim Petrochenkov
b82cd9f639 Address review comments + Update NLL tests 2020-01-09 21:49:32 +03:00
CAD97
d860def8e2 Mark Layout::new as const stable 2020-01-09 13:41:43 -05:00
Christopher Durham
e47fec56dd Make Layout::new const 2020-01-09 13:41:40 -05:00
Vadim Petrochenkov
642669c74d Update tests 2020-01-09 21:23:12 +03:00
Vadim Petrochenkov
41318e9a26 compiletest: Do not deduplicate diagnostics in UI tests 2020-01-09 21:23:12 +03:00
bors
59eb49d0da Auto merge of #68047 - pietroalbini:fix-toolstate-again, r=Mark-Simulacrum
ci: another take at fixing toolstate

Seems like the variable showed by `$(ciCheckoutPath)` on Azure Pipelines was wrong, making the toolstate script fail. This commit changes that function to return the variable previously used by the toolstate script. Other uses of the function were audited, and there should be no conflict.

Failure log: https://dev.azure.com/rust-lang/rust/_build/results?buildId=17933
r? @Mark-Simulacrum
2020-01-09 16:10:01 +00:00
Trevor Spiteri
f8428cf8d8 doc: add Null-unchecked version section to mut pointer as_mut method
The as_ref method already has a Null-unchecked version section, its
example is a modification of the example in the main as_ref section.
Similarly the example in this commit is a modification of the example
in main as_mut section.
2020-01-09 14:51:58 +01:00
bors
c404ce689f Auto merge of #67988 - Zoxc:prof-fix, r=michaelwoerister
Change -Z time event naming scheme and make them generic activities

I made the `-Z time-passes` only events (which encodes argument in the event id) use a `extra_verbose_generic_activity` function which does not emit self-profiling events.

r? @michaelwoerister
cc @wesleywiser
2020-01-09 11:36:44 +00:00
Stein Somers
9b92bf8315
Apply suggestions from code review
Co-Authored-By: Ralf Jung <post@ralfj.de>
2020-01-09 12:03:49 +01:00
Stein Somers
37b5cca3d5 Simplify into_key_slice_mut and document bits and bobs 2020-01-09 11:45:32 +01:00
Pietro Albini
cdbb60e6a8
ci: another take at fixing toolstate
Seems like the variable showed by $(ciCheckoutPath) on Azure Pipelines
was wrong, making the toolstate script fail. This commit changes that
function to return the variable previously used by the toolstate script.
Other uses of the function were audited, and there should be no
conflict.
2020-01-09 09:49:25 +01:00
John Kåre Alsaker
7db4b7efa2 More comments 2020-01-09 07:06:41 +01:00
John Kåre Alsaker
5427601e9e Change -Z time event naming scheme and make them generic activities 2020-01-09 07:06:40 +01:00
Shotaro Yamada
f443ae68c2 Remove unused dependencies 2020-01-09 11:52:03 +09:00
Shotaro Yamada
dbcce10bb1 Remove unused struct ClosureUpvar 2020-01-09 11:47:32 +09:00
bors
adc6572500 Auto merge of #68034 - Centril:rollup-3d9pq14, r=Centril
Rollup of 12 pull requests

Successful merges:

 - #67630 (Treat extern statics just like statics in the "const pointer to static" representation)
 - #67747 (Explain that associated types and consts can't be accessed directly on the trait's path)
 - #67884 (Fix incremental builds of core by allowing unused attribute.)
 - #67966 (Use matches macro in libcore and libstd)
 - #67979 (Move `intravisit` => `rustc_hir` + misc cleanup)
 - #67986 (Display more informative ICE)
 - #67990 (slice patterns: harden match-based borrowck tests)
 - #68005 (Improve E0184 explanation)
 - #68009 (Spell check librustc_error_codes)
 - #68023 (Fix issue #68008)
 - #68024 (Remove `-Z continue-parse-after-error`)
 - #68026 (Small improvements in lexical_region_resolve)

Failed merges:

r? @ghost
2020-01-09 02:05:15 +00:00
Josh Stone
4ede63bee1 Add HashSet::get_or_insert_owned 2020-01-08 15:34:06 -08:00
Mazdak Farrokhzad
b24de8f0f8
Rollup merge of #68026 - llogiq:ch-ch-ch-ch-changes, r=varkor
Small improvements in lexical_region_resolve

This just replaces a trivial `if` condition with a `|=` in two places.

I could even have used a `fold` in the first case, but I think it would be less readable.
2020-01-09 00:22:21 +01:00
Mazdak Farrokhzad
5e6eeb092d
Rollup merge of #68024 - petrochenkov:recoverall, r=Centril
Remove `-Z continue-parse-after-error`

We are just always recovering and continuing now.

r? @estebank @Centril
2020-01-09 00:22:20 +01:00
Mazdak Farrokhzad
d2922e51a7
Rollup merge of #68023 - FSciammarella:master, r=Centril,varkor
Fix issue #68008

Correcting Typo on error message. From "substract" to "subtract".

Fixes #68008.
2020-01-09 00:22:18 +01:00
Mazdak Farrokhzad
1355fb58be
Rollup merge of #68009 - wcampbell0x2a:spellcheck-librustc_error_codes, r=Centril
Spell check librustc_error_codes

Found one wrongly spelled error message and decided to check all the
error messages for wrongly spelled statements.
2020-01-09 00:22:17 +01:00
Mazdak Farrokhzad
91d5fbaeb1
Rollup merge of #68005 - GuillaumeGomez:explanation-e0184, r=Dylan-DPC
Improve E0184 explanation

r? @Dylan-DPC
2020-01-09 00:22:16 +01:00
Mazdak Farrokhzad
916a7d3a2c
Rollup merge of #67990 - Centril:slice-pats-move-tests-match, r=matthewjasper
slice patterns: harden match-based borrowck tests

This hardens some move-checking tests wrt. slice patterns and `match` expressions.

r? @matthewjasper
cc @pnkfelix
cc https://github.com/rust-lang/rust/pull/67712
cc https://github.com/rust-lang/rust/issues/53114
2020-01-09 00:22:14 +01:00
Mazdak Farrokhzad
ea9a03dbb8
Rollup merge of #67986 - JohnTitor:fix-ice-rust-call, r=varkor
Display more informative ICE

Fixes #66696
2020-01-09 00:22:13 +01:00
Mazdak Farrokhzad
0b3ef24e75
Rollup merge of #67979 - Centril:hir-cleanup, r=Zoxc
Move `intravisit` => `rustc_hir` + misc cleanup

Working towards https://github.com/rust-lang/rust/issues/65031.
This should eventually enable getting rid of rustc as a dependency in various passes (e.g. lints).

cc https://github.com/rust-lang/rust/pull/67806 (this also facilitates liberating lints from tcx)
cc https://github.com/rust-lang/rust/pull/67922 (some other dep reductions)

r? @Zoxc
2020-01-09 00:22:11 +01:00
Mazdak Farrokhzad
5ea69781f4
Rollup merge of #67966 - popzxc:core-std-matches, r=Centril
Use matches macro in libcore and libstd

This PR replaces matches like

```rust
match var {
    value => true,
    _ => false,
}
```

with use of `matches!` macro.

r? @Centril
2020-01-09 00:22:10 +01:00
Mazdak Farrokhzad
11f0013378
Rollup merge of #67884 - anp:allow-unused-const-attr, r=oli-obk
Fix incremental builds of core by allowing unused attribute.

I *think* that the same problem as in https://github.com/rust-lang/rust/issues/65023 was introduced by https://github.com/rust-lang/rust/pull/67657. This works around the current incrcomp issue with these attributes by allowing it here. This resolves the near-term issue for me, at least.
2020-01-09 00:22:08 +01:00
Mazdak Farrokhzad
1a0b2a5aaa
Rollup merge of #67747 - estebank:bare-assoc-const, r=Centril
Explain that associated types and consts can't be accessed directly on the trait's path

Partially address #44539.
2020-01-09 00:22:07 +01:00
Mazdak Farrokhzad
60bef14bbc
Rollup merge of #67630 - oli-obk:extern_ptr_dangling, r=spastorino
Treat extern statics just like statics in the "const pointer to static" representation

fixes #67612

r? @spastorino

cc @RalfJung this does not affect runtime promotion at all. This is just about promotion within static item bodies.
2020-01-09 00:22:05 +01:00
Felipe Sciammarella
7de174b86e Fix Typo on cannot "substract"
Fix Typo on hir::BinOpKind::Sub

"substract" to "subtract"

Fix Typo on "Error cannot substract"

Fix Typo on cannot "substract"
2020-01-08 19:25:38 -03:00
Andre Bogus
74ea108b47 Small improvements in lexical_region_resolve 2020-01-08 23:00:33 +01:00
Mazdak Farrokhzad
0997388b87 normalize rustc::hir::intravisit imports 2020-01-08 22:09:42 +01:00
Mazdak Farrokhzad
922f8b70f2 intravisit: use walk_list! more 2020-01-08 22:01:07 +01:00
Mazdak Farrokhzad
37d76dc2f7 {rustc::hir -> rustc_hir}::intravisit 2020-01-08 22:01:07 +01:00
Mazdak Farrokhzad
8351667091 intravisit: abstract over HIR Map 2020-01-08 22:01:07 +01:00
Mazdak Farrokhzad
62e9ccbe28 intravisit: .expect_item -> .item 2020-01-08 21:58:41 +01:00
Mazdak Farrokhzad
4b08c7e974 NestedVisitorMap: reduce visibilities 2020-01-08 21:58:41 +01:00
Mazdak Farrokhzad
3f13ba8523 hir::map: elide & simplify 2020-01-08 21:58:41 +01:00