Commit graph

10595 commits

Author SHA1 Message Date
Erik Desjardins
3924672ccc document test changes 2020-07-17 10:53:02 -04:00
Erik Desjardins
2e431c62b6 compare tagged/niche-filling layout and pick the best one 2020-07-17 10:52:57 -04:00
Manish Goregaokar
41d956bf63
Rollup merge of #73269 - mzohreva:mz/sgx-wait-timeout, r=jethrogb
Enable some timeouts in SGX platform

This would partially resolve https://github.com/fortanix/rust-sgx/issues/31

cc @jethrogb and @Goirad
2020-07-16 17:08:56 -07:00
Manish Goregaokar
c354524254
Rollup merge of #74392 - lcnr:const-generics-update, r=varkor
const generics triage

I went through all const generics issues and closed all issues which are already fixed.

Some issues already have a regression test but were not closed. Also doing this as part of this PR.

uff r? @eddyb @varkor

closes #61936
closes #62878
closes #63695
closes #67144
closes #68596
closes #69816
closes #70217
closes #70507
closes #70586
closes #71348
closes #71805
closes #73120
closes #73508
closes #73730
closes #74255
2020-07-16 11:19:00 -07:00
Manish Goregaokar
fc098170ce
Rollup merge of #74370 - Manishearth:re-spotlight, r=GuillaumeGomez
Reintroduce spotlight / "important traits" feature

(Reopened version of https://github.com/rust-lang/rust/pull/74111 because Github is broken, see discussion there)

Fixes https://github.com/rust-lang/rust/issues/73785

This PR reintroduces the "spotlight" ("important traits") feature.

A couple changes have been made:

As there were concerns about its visibility, it has been moved to be next to the return type, as opposed to being on the side.

It also no longer produces a modal, it shows the traits on hover, and it can be clicked on to pin the hover bubble.

![image](https://user-images.githubusercontent.com/1617736/86674555-a82d2600-bfad-11ea-9a4a-a1a9ffd66ae5.png)

![image](https://user-images.githubusercontent.com/1617736/86674533-a1061800-bfad-11ea-9e8a-c62ad86ed0d7.png)

It also works fine on mobile:

![image](https://user-images.githubusercontent.com/1617736/86674638-bda25000-bfad-11ea-8d8d-1798b608923e.png)
2020-07-16 11:18:55 -07:00
Manish Goregaokar
a80559f472
Rollup merge of #74221 - oli-obk:const_prop_ice, r=wesleywiser
Don't panic if the lhs of a div by zero is not statically known

Fixes #73993 for real this time

r? @wesleywiser
2020-07-16 11:18:50 -07:00
Manish Goregaokar
6ef0dfa42f
Rollup merge of #74159 - lcnr:const-generic-ty-decl, r=varkor
forbid generic params in the type of const params

implements and closes #74152

fixes #74101, closes #71169, fixes #73491, closes #62878

@eddyb and I talked [on zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/type.20of.20const.20parameters/near/203405696) about this and we probably want to also forbid generic consts in the default
type of a parameter, e.g. `struct Foo<T, U = [u8; std::mem::size_of::<T>()]>`, this is currently still allowed
and I will probably fix that in a followup PR.

r? @varkor @eddyb
2020-07-16 11:18:46 -07:00
Manish Goregaokar
61a3f6701b
Rollup merge of #74148 - GuillaumeGomez:doc-alias-check, r=Manishearth
Move #[doc(alias)] check in rustc

Part of #73721.

r? @ollie27
2020-07-16 11:18:44 -07:00
Manish Goregaokar
98450757e5 Revert "Remove "important traits" feature"
This reverts commit 1244ced958.
2020-07-16 09:58:17 -07:00
bors
6ee1b62c81 Auto merge of #72481 - marmeladema:duration-consts-2, r=oli-obk
Constify most non-trait `Duration` methods as described in #72440

The remaining methods could probably be made const once https://github.com/rust-lang/rust/pull/72449 lands with support for `f<32|64>::is_finite()`.
2020-07-16 13:35:09 +00:00
Bastian Kauschke
8faeb0e797 add regression test for #74255 2020-07-16 12:46:35 +02:00
Bastian Kauschke
d187e8108b add regression test for #73730 2020-07-16 12:46:35 +02:00
Bastian Kauschke
e23095011f add regression test for #73508 2020-07-16 12:39:02 +02:00
Bastian Kauschke
09ba0bda2c add regression test for #73491 2020-07-16 12:35:53 +02:00
Bastian Kauschke
946cb11a1e add regression test for #73120 2020-07-16 12:32:43 +02:00
Bastian Kauschke
de8d2e897f add regression test for #71805 2020-07-16 12:23:38 +02:00
Bastian Kauschke
a2b18274a8 add regression test for #71348 2020-07-16 12:17:27 +02:00
Bastian Kauschke
f52039d5e8 add regression test for #71169 2020-07-16 12:14:03 +02:00
Bastian Kauschke
eee160cdea add regression test for #70586 2020-07-16 12:10:15 +02:00
Bastian Kauschke
137ca05ccd add regression test for #70217 2020-07-16 12:03:52 +02:00
Bastian Kauschke
333dce960c add regression test for #68596 2020-07-16 12:03:52 +02:00
Bastian Kauschke
e009b53df4 add regression tests for #67144 2020-07-16 11:46:39 +02:00
Bastian Kauschke
01f5dd374c bless ui tests 2020-07-16 11:40:26 +02:00
Bastian Kauschke
0c511ab5c7 update help message 2020-07-16 11:13:05 +02:00
Bastian Kauschke
6f5d8bf5c8 don't supply generics to AnonConsts in param lists 2020-07-16 11:13:05 +02:00
Bastian Kauschke
14a1031ec6 add self dependent const param test 2020-07-16 11:13:05 +02:00
Bastian Kauschke
338a27174a forbid generic params in the type of const params 2020-07-16 11:13:05 +02:00
Manish Goregaokar
e598ee51e4
Rollup merge of #74037 - JohnTitor:contributing-md, r=Mark-Simulacrum
Update reference to CONTRIBUTING.md

CONTRIBUTING.md has been migrated to the rustc-dev-guide but some still refer there.
Update them with the appropriate links.

Fixes #74253
2020-07-16 00:01:04 -07:00
marmeladema
4a96800aef Constify most non-trait Duration methods as described in #72440 2020-07-15 21:37:16 +01:00
Manish Goregaokar
f4bbd0e607
Rollup merge of #74337 - estebank:ty-parse-recovery, r=varkor
Handle case of incomplete local ty more gracefully

When encountering a local binding with a type that isn't completed, the
parser will reach a `=` token. When this happen, consider the type
"complete" as far as the parser is concerned to avoid further errors
being emitted by parse recovery logic.
2020-07-15 11:01:26 -07:00
Manish Goregaokar
47f6a9d797
Rollup merge of #74276 - lcnr:discriminant-kind-what, r=nagisa
improve DiscriminantKind handling

Adds a lang item `discriminant_type` for the associated type `DiscriminantKind::Discriminant`.

Changes the discriminant of generators from `i32` to `u32`, which should not be observable to fix an
oversight where MIR was using `u32` and codegen and typeck used `i32`.
2020-07-15 11:01:20 -07:00
Oliver Scherer
703f6803db Don't panic if the lhs of a div by zero is not statically known 2020-07-15 17:55:19 +02:00
Bastian Kauschke
805c44d5d3 cleanup 2020-07-15 12:58:33 +02:00
Bastian Kauschke
ae80d7e012 update const arg queries 2020-07-15 12:58:33 +02:00
Bastian Kauschke
08394eb121 update test 2020-07-15 12:58:32 +02:00
Bastian Kauschke
050acc0213 ui test diff 2020-07-15 12:58:32 +02:00
Bastian Kauschke
b615b98f33 continue mir pipeline 2020-07-15 12:58:32 +02:00
Bastian Kauschke
2111d6f276 add const generic tests 2020-07-15 12:58:32 +02:00
Bastian Kauschke
fcf52c167f improve DiscriminantKind handling
This now reuses `fn discriminant_ty` in project, removing
some code duplication. Doing so made me realize that
we previously had a disagreement about the discriminant
type of generators, with MIR using `u32` and codegen and
trait selection using `i32`.

We now always use `u32`.
2020-07-15 10:20:44 +02:00
Esteban Küber
ce3bd29c68 Handle case of incomplete local ty more gracefully
When encountering a local binding with a type that isn't completed, the
parser will reach a `=` token. When this happen, consider the type
"complete" as far as the parser is concerned to avoid further errors
being emitted by parse recovery logic.
2020-07-14 18:30:44 -07:00
bors
567ad7455d Auto merge of #74175 - nnethercote:more-static-symbols, r=oli-obk
More static symbols

These commits add some more static symbols and convert lots of places to use them.

r? @oli-obk
2020-07-15 00:16:25 +00:00
Nicholas Nethercote
f04e866e57 Add and use more static symbols.
Note that the output of `unpretty-debug.stdout` has changed. In that
test the hash values are normalized from a symbol numbers to small
numbers like "0#0" and "0#1". The increase in the number of static
symbols must have caused the original numbers to contain more digits,
resulting in different pretty-printing prior to normalization.
2020-07-15 08:42:59 +10:00
Manish Goregaokar
dbe7ed33cd
Rollup merge of #74340 - davidtwco:issue-73747-improper-ctypes-defns-is-zst-with-params, r=pnkfelix
lint: use `transparent_newtype_field` to avoid ICE

Fixes #73747.

This PR re-uses the `transparent_newtype_field` function instead of manually calling `is_zst` on normalized fields to determine which field in a transparent type is the non-zero-sized field, thus avoiding an ICE.
2020-07-14 13:19:39 -07:00
Manish Goregaokar
c4fcf5a7a4
Rollup merge of #74336 - davidtwco:issue-73112-cross-crate-packed-type-diagnostic, r=estebank
typeck: use `item_name` in cross-crate packed diag

Fixes #73112.

This PR replaces the use of `expect_local` and `hir().get` to fetch the identifier for a ADT with `item_name` - which works across crates.
2020-07-14 13:19:37 -07:00
Manish Goregaokar
a364c0a782
Rollup merge of #74228 - estebank:unsized-param, r=davidtwco
Provide structured suggestion on unsized fields and fn params

* Suggest borrowing or boxing unsized fields
* Suggest borrowing fn parameters
* Remove some verbosity of unsized errors
* Remove `on_unimplemented` note from `trait Sized`

Fix #23286, fix #28653.

r? @davidtwco
2020-07-14 13:19:24 -07:00
Manish Goregaokar
be5c7abfd6
Rollup merge of #74211 - estebank:struct-pat-as-unit, r=petrochenkov
Structured suggestion when not using struct pattern

r? @petrochenkov
2020-07-14 13:19:22 -07:00
Esteban Küber
ff75395ca8 Reword message 2020-07-14 12:19:50 -07:00
Esteban Küber
c38b127d84 Remove redundant explanatory note for type parameters 2020-07-14 12:19:44 -07:00
David Wood
cccc3109ff
lint: use transparent_newtype_field to avoid ICE
This commit re-uses the `transparent_newtype_field` function instead of
manually calling `is_zst` on normalized fields to determine which field
in a transparent type is the non-zero-sized field, thus avoiding an ICE.

Signed-off-by: David Wood <david@davidtw.co>
2020-07-14 19:26:34 +01:00
Esteban Küber
d989796b47 Suggest borrowing in more unsized fn param cases 2020-07-14 10:50:24 -07:00