]> git.lizzy.rs Git - rust.git/log
rust.git
19 months agorustdoc: use flexbox CSS to align sidebar button instead of position
Michael Howell [Sat, 26 Nov 2022 05:06:22 +0000 (22:06 -0700)]
rustdoc: use flexbox CSS to align sidebar button instead of position

This accomplishes the same thing with significantly less code.

19 months agoAuto merge of #99798 - JulianKnodt:ac1, r=BoxyUwU
bors [Fri, 25 Nov 2022 22:56:59 +0000 (22:56 +0000)]
Auto merge of #99798 - JulianKnodt:ac1, r=BoxyUwU

Add `ConstKind::Expr`

Starting to implement `ty::ConstKind::Abstract`, most of the match cases are stubbed out, some I was unsure what to add, others I didn't want to add until a more complete implementation was ready.

r? `@lcnr`

19 months agoAuto merge of #104902 - matthiaskrgr:rollup-oo27a4u, r=matthiaskrgr
bors [Fri, 25 Nov 2022 19:09:30 +0000 (19:09 +0000)]
Auto merge of #104902 - matthiaskrgr:rollup-oo27a4u, r=matthiaskrgr

Rollup of 8 pull requests

Successful merges:

 - #104716 (move 2 candidates into builtin candidate)
 - #104760 (Clarify `SyntaxExtensionKind::LegacyDerive`.)
 - #104797 (rustc_codegen_ssa: write `.dwp` in a streaming fashion)
 - #104835 (Use infcx.partially_normalize_associated_types_in)
 - #104853 (Fix typo in miri sysroot)
 - #104879 (jsondoclint: Recognise Typedef as valid kind for Type::ResolvedPath)
 - #104887 (rustbuild: Don't build doc::SharedAssets when building JSON docs.)
 - #104896 (rustdoc: fix broken tooltip CSS)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

19 months agoRollup merge of #104896 - notriddle:notriddle/tooltip, r=GuillaumeGomez
Matthias Krüger [Fri, 25 Nov 2022 17:35:42 +0000 (18:35 +0100)]
Rollup merge of #104896 - notriddle:notriddle/tooltip, r=GuillaumeGomez

rustdoc: fix broken tooltip CSS

text `#ffffff` on background `#fdffd3` fails the [WCAG color contrast checker], and seems like a mistake in https://github.com/rust-lang/rust/commit/16b55903ee16503e7026677c169727d1907704c2.

Making the cursor a pointer is misleading, since clicking it doesn't do anything.

[WCAG color contrast checker]: https://accessibleweb.com/color-contrast-checker/

19 months agoRollup merge of #104887 - aDotInTheVoid:rustbuild-json-doc-shared-assets, r=jyn514
Matthias Krüger [Fri, 25 Nov 2022 17:35:42 +0000 (18:35 +0100)]
Rollup merge of #104887 - aDotInTheVoid:rustbuild-json-doc-shared-assets, r=jyn514

rustbuild: Don't build doc::SharedAssets when building JSON docs.

Previously, running `./x doc library/core/ --json` on a plain build would panic bootstrap.

```
$ ./x doc library/core/ --json
Building rustbuild
    Blocking waiting for file lock on package cache
   Compiling bootstrap v0.0.0 (/home/nixon/dev/rust/rust/src/bootstrap)
    Finished dev [unoptimized] target(s) in 4.47s
thread 'main' panicked at 'fs::write(&version_info, &info) failed with No such file or directory (os error 2) ("/home/nixon/dev/rust/rust/build/x86_64-unknown-linux-gnu/doc/version_info.html")', doc.rs:410:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Build completed unsuccessfully in 0:00:04
```

Becuase the `SharedAssets` step assumes that the HTML out dir has been created. This isn't true for JSON.

The fix is to not build shared assets when doing a JSON doc build, as it doesn't need them.

r? ``@jyn514``

``@rustbot`` modify labels: +A-rustdoc-json

19 months agoRollup merge of #104879 - aDotInTheVoid:jsondoclint-typedef, r=GuillaumeGomez
Matthias Krüger [Fri, 25 Nov 2022 17:35:42 +0000 (18:35 +0100)]
Rollup merge of #104879 - aDotInTheVoid:jsondoclint-typedef, r=GuillaumeGomez

jsondoclint: Recognise Typedef as valid kind for Type::ResolvedPath

Closes #104851

r? ``@GuillaumeGomez``

``@rustbot`` modify labels: +A-testsuite

19 months agoRollup merge of #104853 - jyn514:sysroot-typo, r=RalfJung
Matthias Krüger [Fri, 25 Nov 2022 17:35:41 +0000 (18:35 +0100)]
Rollup merge of #104853 - jyn514:sysroot-typo, r=RalfJung

Fix typo in miri sysroot

r? ``@RalfJung``

19 months agoRollup merge of #104835 - spastorino:use-partially_normalize_associated_types_in...
Matthias Krüger [Fri, 25 Nov 2022 17:35:41 +0000 (18:35 +0100)]
Rollup merge of #104835 - spastorino:use-partially_normalize_associated_types_in, r=lcnr

Use infcx.partially_normalize_associated_types_in

r? ``@lcnr``

19 months agoRollup merge of #104797 - weihanglo:stream-write-dwp, r=jackh726
Matthias Krüger [Fri, 25 Nov 2022 17:35:40 +0000 (18:35 +0100)]
Rollup merge of #104797 - weihanglo:stream-write-dwp, r=jackh726

rustc_codegen_ssa: write `.dwp` in a streaming fashion

When writing a `.dwp` file, rustc writes to a Vec first then to a BufWriter-wrapped file. It seems very likely that we can write in a streaming fashion to avoid double buffering in an intermediate Vec.

On my Linux machine, `.dwp` from the latest rust-lang/cargo is 113MiB. It may worth a stream writer, though I didn't do any benchmark 🙇🏾‍♂️.

19 months agoRollup merge of #104760 - nnethercote:rm-LegacyDerive, r=petrochenkov
Matthias Krüger [Fri, 25 Nov 2022 17:35:39 +0000 (18:35 +0100)]
Rollup merge of #104760 - nnethercote:rm-LegacyDerive, r=petrochenkov

Clarify `SyntaxExtensionKind::LegacyDerive`.

It's always treated the same as `SyntaxExtensionKind::Derive`.

19 months agoRollup merge of #104716 - lcnr:selection-candidate, r=jackh726
Matthias Krüger [Fri, 25 Nov 2022 17:35:39 +0000 (18:35 +0100)]
Rollup merge of #104716 - lcnr:selection-candidate, r=jackh726

move 2 candidates into builtin candidate

having separate candidates for these isn't too helpful i think

r? types

19 months agorustdoc: revert tooltip background color on light theme to readable
Michael Howell [Fri, 25 Nov 2022 16:17:58 +0000 (09:17 -0700)]
rustdoc: revert tooltip background color on light theme to readable

text #fff on background #fdffd3 fails the [WCAG color contrast checker], and
seems like a mistake in 16b55903ee16503e7026677c169727d1907704c2.

[WCAG color contrast checker]: https://accessibleweb.com/color-contrast-checker/

19 months agorustdoc: remove `cursor: pointer` from unclickable tooltip
Michael Howell [Fri, 25 Nov 2022 16:16:27 +0000 (09:16 -0700)]
rustdoc: remove `cursor: pointer` from unclickable tooltip

It's misleading unless it gets changed to respond to being clicked.

19 months agoAuto merge of #104846 - spastorino:santa-clauses-make-goals-early-christmas-🎄, r...
bors [Fri, 25 Nov 2022 15:59:31 +0000 (15:59 +0000)]
Auto merge of #104846 - spastorino:santa-clauses-make-goals-early-christmas-🎄, r=oli-obk

Branch Clause from Predicate

r? `@oli-obk`

This is part of what's proposed in https://github.com/rust-lang/compiler-team/issues/531

19 months agorustbuild: Don't build doc::SharedAssets when building JSON docs.
Nixon Enraght-Moony [Fri, 25 Nov 2022 13:50:41 +0000 (13:50 +0000)]
rustbuild: Don't build doc::SharedAssets when building JSON docs.

19 months agoAuto merge of #104877 - matthiaskrgr:rollup-s7taiq8, r=matthiaskrgr
bors [Fri, 25 Nov 2022 13:01:45 +0000 (13:01 +0000)]
Auto merge of #104877 - matthiaskrgr:rollup-s7taiq8, r=matthiaskrgr

Rollup of 6 pull requests

Successful merges:

 - #103648 (Don't set `is_preview` for clippy and rustfmt)
 - #104654 (Add `#![deny(unsafe_op_in_unsafe_fn)]` in liballoc tests)
 - #104793 (unstable-book: Add page for the `abi_efiapi` feature)
 - #104841 (Assert that we don't capture escaping bound vars in `Fn` trait selection)
 - #104849 (Migrate source code elements style to CSS variables)
 - #104873 (RefCell::get_mut: fix typo)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

19 months agoadd comment
lcnr [Wed, 23 Nov 2022 16:39:51 +0000 (17:39 +0100)]
add comment

19 months agomove 2 candidates into builtin candidate
lcnr [Tue, 22 Nov 2022 14:46:01 +0000 (15:46 +0100)]
move 2 candidates into builtin candidate

19 months agojsondoclint: Recognise Typedef as valid kind for Type::ResolvedPath
Nixon Enraght-Moony [Fri, 25 Nov 2022 10:53:14 +0000 (10:53 +0000)]
jsondoclint: Recognise Typedef as valid kind for Type::ResolvedPath

Closes #104851

19 months agoRollup merge of #104873 - RalfJung:therefore, r=Dylan-DPC
Matthias Krüger [Fri, 25 Nov 2022 09:44:40 +0000 (10:44 +0100)]
Rollup merge of #104873 - RalfJung:therefore, r=Dylan-DPC

RefCell::get_mut: fix typo

and fix the same typo in a bunch of other places

19 months agoRollup merge of #104849 - GuillaumeGomez:source-code-sidebar-css-migration, r=notriddle
Matthias Krüger [Fri, 25 Nov 2022 09:44:40 +0000 (10:44 +0100)]
Rollup merge of #104849 - GuillaumeGomez:source-code-sidebar-css-migration, r=notriddle

Migrate source code elements style to CSS variables

r? ``@notriddle``

19 months agoRollup merge of #104841 - compiler-errors:fishy-bound-var, r=jackh726
Matthias Krüger [Fri, 25 Nov 2022 09:44:39 +0000 (10:44 +0100)]
Rollup merge of #104841 - compiler-errors:fishy-bound-var, r=jackh726

Assert that we don't capture escaping bound vars in `Fn` trait selection

Fixes #104825

19 months agoRollup merge of #104793 - nicholasbishop:bishop-add-efiapi, r=JohnTitor
Matthias Krüger [Fri, 25 Nov 2022 09:44:39 +0000 (10:44 +0100)]
Rollup merge of #104793 - nicholasbishop:bishop-add-efiapi, r=JohnTitor

unstable-book: Add page for the `abi_efiapi` feature

Tracking issue for `abi_efiapi`: https://github.com/rust-lang/rust/issues/65815

19 months agoRollup merge of #104654 - thomcc:alloc-tests-unsafe_op_in_unsafe_fn, r=Mark-Simulacrum
Matthias Krüger [Fri, 25 Nov 2022 09:44:38 +0000 (10:44 +0100)]
Rollup merge of #104654 - thomcc:alloc-tests-unsafe_op_in_unsafe_fn, r=Mark-Simulacrum

Add `#![deny(unsafe_op_in_unsafe_fn)]` in liballoc tests

In https://github.com/rust-lang/rust/pull/104647#discussion_r1027332930 it was mentioned that liballoc tests should probably have this enabled (we have it pretty much everywhere else in the stdlib), so I added it.

This will probably conflict with https://github.com/rust-lang/rust/pull/104647 so I'll rebase after that lands.

19 months agoRollup merge of #103648 - jyn514:no-preview, r=Mark-Simulacrum
Matthias Krüger [Fri, 25 Nov 2022 09:44:37 +0000 (10:44 +0100)]
Rollup merge of #103648 - jyn514:no-preview, r=Mark-Simulacrum

Don't set `is_preview` for clippy and rustfmt

These have been shipped on stable for many years now and it would be very disruptive to ever remove them.
Remove the `-preview` suffix from their dist components.

Based on https://github.com/rust-lang/rust/pull/102565.

19 months agoAuto merge of #104650 - BlackHoleFox:stuck-with-xcode-13, r=Mark-Simulacrum
bors [Fri, 25 Nov 2022 09:44:16 +0000 (09:44 +0000)]
Auto merge of #104650 - BlackHoleFox:stuck-with-xcode-13, r=Mark-Simulacrum

Build macOS distribution artifacts with XCode 13

After all of the `rust-lang/rust` Apple runners started using macOS 12, the builds created by CI began to use XCode 14.0.1. Due to this (as far as we can tell), XCode's build tools started to ignore the `MACOSX_DEPLOYMENT_TARGET` being defined by us for the distributed builds that let both `rustc` and `libstd` work on older versions. The current idea is that since XCode 14's macOS SDK doesn't support deployment targets before 10.13, it uses some default of its own. You can see the difference between stable's and the most recent nighty's supported versions [here](https://github.com/rust-lang/rust/issues/104570#issuecomment-1321225907).

I wasn't able to confirm my SDK versioning hypothesis locally since I think there's something jammed with my XCode installation, but hopefully this should still fix it for releases.

Closes https://github.com/rust-lang/rust/issues/104570

r? `@Mark-Simulacrum`

19 months agoFix mk_const_list
kadmin [Fri, 25 Nov 2022 09:35:37 +0000 (09:35 +0000)]
Fix mk_const_list

19 months agoonly emit "enable gce" error if it would fix compile error
Boxy [Thu, 24 Nov 2022 11:25:19 +0000 (11:25 +0000)]
only emit "enable gce" error if it would fix compile error

19 months agoMake `expand_abstract_consts` infallible
Boxy [Thu, 24 Nov 2022 11:09:15 +0000 (11:09 +0000)]
Make `expand_abstract_consts` infallible

19 months ago`super_relate_consts` do not spurriously fail on assoc consts
Boxy [Thu, 24 Nov 2022 08:36:28 +0000 (08:36 +0000)]
`super_relate_consts` do not spurriously fail on assoc consts

19 months agoadd FIXME's
Boxy [Thu, 24 Nov 2022 08:20:51 +0000 (08:20 +0000)]
add FIXME's

19 months agocorrectly intern `List<Const<'tcx>>`
Boxy [Wed, 23 Nov 2022 09:25:01 +0000 (09:25 +0000)]
correctly intern `List<Const<'tcx>>`

19 months agodont skip const evalautable of non unevaluateds
Boxy [Tue, 22 Nov 2022 12:22:36 +0000 (12:22 +0000)]
dont skip const evalautable of non unevaluateds

19 months agoadd FIXME for things that I couldn't find ways to trigger
Boxy [Tue, 22 Nov 2022 12:20:05 +0000 (12:20 +0000)]
add FIXME for things that I couldn't find ways to trigger

19 months agofmt
Boxy [Mon, 21 Nov 2022 04:32:07 +0000 (04:32 +0000)]
fmt

19 months agoreduce duplicated argument logic
Boxy [Tue, 15 Nov 2022 23:23:31 +0000 (23:23 +0000)]
reduce duplicated argument logic

19 months agoalso handle it in evaluate
Boxy [Tue, 15 Nov 2022 23:11:30 +0000 (23:11 +0000)]
also handle it in evaluate

19 months agohandle assoc consts in fulfill `ConstEquate`
Boxy [Tue, 15 Nov 2022 22:53:30 +0000 (22:53 +0000)]
handle assoc consts in fulfill `ConstEquate`

19 months agofmt
Boxy [Tue, 15 Nov 2022 20:45:57 +0000 (20:45 +0000)]
fmt

19 months agohandle nested obligations in `satisfied_from_param_env`
Boxy [Mon, 14 Nov 2022 18:20:53 +0000 (18:20 +0000)]
handle nested obligations in `satisfied_from_param_env`

19 months agoAdd expand_abstract_const
kadmin [Tue, 25 Oct 2022 08:16:43 +0000 (08:16 +0000)]
Add expand_abstract_const

Adds the ability to directly expand a const to an expr without having to deal with intermediate
steps.

19 months agoAdd empty ConstKind::Abstract
kadmin [Wed, 27 Jul 2022 07:27:52 +0000 (07:27 +0000)]
Add empty ConstKind::Abstract

Initial pass at expr/abstract const/s

Address comments

Switch to using a list instead of &[ty::Const], rm `AbstractConst`

Remove try_unify_abstract_consts

Update comments

Add edits

Recurse more

More edits

Prevent equating associated consts

Move failing test to ui

Changes this test from incremental to ui, and mark it as failing and a known bug.
Does not cause the compiler to ICE, so should be ok.

19 months agoRefCell::get_mut: fix typo
Ralf Jung [Fri, 25 Nov 2022 07:47:59 +0000 (08:47 +0100)]
RefCell::get_mut: fix typo

and fix the same typo in a bunch of other places

19 months agoAuto merge of #104602 - petrochenkov:effvisperf5, r=oli-obk
bors [Fri, 25 Nov 2022 06:14:42 +0000 (06:14 +0000)]
Auto merge of #104602 - petrochenkov:effvisperf5, r=oli-obk

privacy: Fix more (potential) issues with effective visibilities

Continuation of https://github.com/rust-lang/rust/pull/103965.
See individual commits for more detailed description of the changes.

The shortcuts removed in https://github.com/rust-lang/rust/pull/104602/commits/4eb63f618e601efee657d24cd4e8833fb03fac4c and https://github.com/rust-lang/rust/pull/104602/commits/c7c7d1672739e38c8d39ae861b284486aefd5b48 could actually be correct (or correct after some tweaks), but they used global reasoning like "we can skip this update because if the code compiles then some other update should do the same thing eventually".
I have some expertise in this area, but I still have doubt whether such global reasoning was correct or not, especially in presence of all possible exotic cases with imports.
After this PR all table changes should be "locally correct" after every update, even if it may be overcautious.
If similar optimizations are introduced again they will need detailed comments explaining why it's legal to do what they do and providing proofs.

Fixes https://github.com/rust-lang/rust/issues/104249.
Fixes https://github.com/rust-lang/rust/issues/104539.

19 months agoAuto merge of #104855 - thomcc:revert-noinline-wintls, r=ChrisDenton
bors [Fri, 25 Nov 2022 03:17:25 +0000 (03:17 +0000)]
Auto merge of #104855 - thomcc:revert-noinline-wintls, r=ChrisDenton

Revert "Forbid inlining `thread_local!`'s `__getit` function on Windows"

Revert of #101368, fixes #104852.

I'd rather not do this since that's a soundness fix and this is hitting some compiler bug, but I don't really know an alternative.

r? `@ChrisDenton`

19 months agoIntroduce PredicateKind::Clause
Santiago Pastorino [Thu, 24 Nov 2022 21:14:58 +0000 (18:14 -0300)]
Introduce PredicateKind::Clause

19 months agoSimplify a bunch of trait ref obligation creations
Oli Scherer [Fri, 18 Nov 2022 21:29:26 +0000 (21:29 +0000)]
Simplify a bunch of trait ref obligation creations

19 months agoget rid of to_poly_trait_predicate
Oli Scherer [Fri, 18 Nov 2022 14:10:36 +0000 (14:10 +0000)]
get rid of to_poly_trait_predicate

19 months agoRevert "Forbid inlining `thread_local!`'s `__getit` function on Windows"
Thom Chiovoloni [Fri, 25 Nov 2022 02:12:12 +0000 (18:12 -0800)]
Revert "Forbid inlining `thread_local!`'s `__getit` function on Windows"

This reverts commit 3099dfdd9fc1a331eb9c53200b310fa1a06e1573.

19 months agoFix typo in miri sysroot
Joshua Nelson [Fri, 25 Nov 2022 01:28:55 +0000 (20:28 -0500)]
Fix typo in miri sysroot

19 months agoDon't set `is_preview` for clippy and rustfmt
Joshua Nelson [Thu, 27 Oct 2022 18:00:55 +0000 (13:00 -0500)]
Don't set `is_preview` for clippy and rustfmt

These have been shipped on stable for many years now and it would be very disruptive to ever remove them.
Remove the `-preview` suffix from their dist components.

19 months agoAuto merge of #104845 - matthiaskrgr:rollup-tckj956, r=matthiaskrgr
bors [Thu, 24 Nov 2022 23:45:32 +0000 (23:45 +0000)]
Auto merge of #104845 - matthiaskrgr:rollup-tckj956, r=matthiaskrgr

Rollup of 11 pull requests

Successful merges:

 - #104514 (Use node_ty_opt to avoid ICE in visit_ty)
 - #104704 (Allow power10-vector feature in PowerPC)
 - #104747 (resolve: Don't use constructor def ids in the map for field names)
 - #104773 (OpaqueCast projections are always overlapping, they can't possibly be disjoint)
 - #104774 (Document split{_ascii,}_whitespace() for empty strings)
 - #104780 (make `error_reported` check for delayed bugs)
 - #104782 (Bump the const eval step limit)
 - #104792 (rustdoc: simplify `.search-results-title` CSS)
 - #104796 (lint: do not warn unused parens around higher-ranked function pointers)
 - #104820 (Remove normalize_projection_type)
 - #104822 (with_query_mode -> new)

Failed merges:

 - #104716 (move 2 candidates into builtin candidate)
 - #104841 (Assert that we don't capture escaping bound vars in `Fn` trait selection)

r? `@ghost`
`@rustbot` modify labels: rollup

19 months agoStrenghten GUI test to include extra state in selector
Guillaume Gomez [Thu, 24 Nov 2022 22:39:49 +0000 (23:39 +0100)]
Strenghten GUI test to include extra state in selector

19 months agoExtend GUI test to include more source code elements checks
Guillaume Gomez [Thu, 24 Nov 2022 22:36:41 +0000 (23:36 +0100)]
Extend GUI test to include more source code elements checks

19 months agoMigrate source code elements style to CSS variables
Guillaume Gomez [Thu, 24 Nov 2022 22:36:26 +0000 (23:36 +0100)]
Migrate source code elements style to CSS variables

19 months agoClarify `SyntaxExtensionKind::LegacyDerive`.
Nicholas Nethercote [Wed, 23 Nov 2022 04:31:02 +0000 (15:31 +1100)]
Clarify `SyntaxExtensionKind::LegacyDerive`.

19 months agoRemove comment, simplify since we asserted fn ptr Self type has no bound vars
Michael Goulet [Thu, 24 Nov 2022 19:55:47 +0000 (19:55 +0000)]
Remove comment, simplify since we asserted fn ptr Self type has no bound vars

19 months agoAlso check that fn pointer candidates don't have escaping bound vars
Michael Goulet [Thu, 24 Nov 2022 19:37:03 +0000 (19:37 +0000)]
Also check that fn pointer candidates don't have escaping bound vars

19 months agoAssert that we don't capture escaping bound vars in Fn trait selection
Michael Goulet [Thu, 24 Nov 2022 18:45:02 +0000 (18:45 +0000)]
Assert that we don't capture escaping bound vars in Fn trait selection

19 months agoRollup merge of #104822 - spastorino:selctx-new-instead-of-with_query_mode, r=lcnr
Matthias Krüger [Thu, 24 Nov 2022 20:34:57 +0000 (21:34 +0100)]
Rollup merge of #104822 - spastorino:selctx-new-instead-of-with_query_mode, r=lcnr

with_query_mode -> new

r? ```@lcnr```

19 months agoRollup merge of #104820 - spastorino:remove-normalize_projection_type, r=jackh726
Matthias Krüger [Thu, 24 Nov 2022 20:34:56 +0000 (21:34 +0100)]
Rollup merge of #104820 - spastorino:remove-normalize_projection_type, r=jackh726

Remove normalize_projection_type

r? ``@lcnr``

19 months agoRollup merge of #104796 - notriddle:notriddle/unused-issue-104397, r=oli-obk
Matthias Krüger [Thu, 24 Nov 2022 20:34:56 +0000 (21:34 +0100)]
Rollup merge of #104796 - notriddle:notriddle/unused-issue-104397, r=oli-obk

lint: do not warn unused parens around higher-ranked function pointers

Fixes #104397

19 months agoRollup merge of #104792 - notriddle:notriddle/crate-search-title-display, r=Guillaume...
Matthias Krüger [Thu, 24 Nov 2022 20:34:55 +0000 (21:34 +0100)]
Rollup merge of #104792 - notriddle:notriddle/crate-search-title-display, r=GuillaumeGomez

rustdoc: simplify `.search-results-title` CSS

By using `display: flex`, we still get the never-wrapping layout with `#crate-search-div` maxing out and truncating its text. The title itself winds up always filling its parent, but since `#crate-search` doesn't have `flex-grow` set, it won't fill available space.

19 months agoRollup merge of #104782 - oli-obk:const_eval_limit_bump, r=pnkfelix
Matthias Krüger [Thu, 24 Nov 2022 20:34:55 +0000 (21:34 +0100)]
Rollup merge of #104782 - oli-obk:const_eval_limit_bump, r=pnkfelix

Bump the const eval step limit

fixes https://github.com/rust-lang/rust/issues/103814

https://github.com/rust-lang/rust/pull/103877 has too much of an impact to beta backport. So let's just increase the limit, avoiding the immediate breakage.

r? ``@pnkfelix``

19 months agoRollup merge of #104780 - BoxyUwU:error_reported_not_be_bad, r=oli-obk
Matthias Krüger [Thu, 24 Nov 2022 20:34:54 +0000 (21:34 +0100)]
Rollup merge of #104780 - BoxyUwU:error_reported_not_be_bad, r=oli-obk

make `error_reported` check for delayed bugs

Fixes #104768

`error_reported()` was only checking if there were errors emitted, not for `delay_bug`s which can also be a source of `ErrorGuaranteed`. I assume the same is true of `lint_err_count` but i dont know

19 months agoRollup merge of #104774 - vojtechkral:doc-str-empty-split-whitespace, r=thomcc
Matthias Krüger [Thu, 24 Nov 2022 20:34:54 +0000 (21:34 +0100)]
Rollup merge of #104774 - vojtechkral:doc-str-empty-split-whitespace, r=thomcc

Document split{_ascii,}_whitespace() for empty strings

doc change only

19 months agoRollup merge of #104773 - oli-obk:overlap, r=lcnr
Matthias Krüger [Thu, 24 Nov 2022 20:34:53 +0000 (21:34 +0100)]
Rollup merge of #104773 - oli-obk:overlap, r=lcnr

OpaqueCast projections are always overlapping, they can't possibly be disjoint

r? ``@lcnr``

19 months agoRollup merge of #104747 - petrochenkov:ctorfields, r=cjgillot
Matthias Krüger [Thu, 24 Nov 2022 20:34:53 +0000 (21:34 +0100)]
Rollup merge of #104747 - petrochenkov:ctorfields, r=cjgillot

resolve: Don't use constructor def ids in the map for field names

Also do some minor cleanup to insertion of those field names.

Addresses a FIXME left in https://github.com/rust-lang/rust/pull/103578.

19 months agoRollup merge of #104704 - ecnelises:p10vec, r=jackh726
Matthias Krüger [Thu, 24 Nov 2022 20:34:52 +0000 (21:34 +0100)]
Rollup merge of #104704 - ecnelises:p10vec, r=jackh726

Allow power10-vector feature in PowerPC

Note that we don't have `power10-altivec`:

https://github.com/llvm/llvm-project/blob/57fd7ffefffae313de800fecdd9f095a17bfd4ea/llvm/lib/Target/PowerPC/PPC.td#L277-L280

19 months agoRollup merge of #104514 - chenyukang:yukang/fix-104513-ice, r=petrochenkov
Matthias Krüger [Thu, 24 Nov 2022 20:34:51 +0000 (21:34 +0100)]
Rollup merge of #104514 - chenyukang:yukang/fix-104513-ice, r=petrochenkov

Use node_ty_opt to avoid ICE in visit_ty

Fixes #104513

19 months agoAuto merge of #103693 - HKalbasi:master, r=oli-obk
bors [Thu, 24 Nov 2022 20:29:13 +0000 (20:29 +0000)]
Auto merge of #103693 - HKalbasi:master, r=oli-obk

Make rustc_target usable outside of rustc

I'm working on showing type size in rust-analyzer (https://github.com/rust-lang/rust-analyzer/pull/13490) and I currently copied rustc code inside rust-analyzer, which works, but is bad. With this change, I would become able to use `rustc_target` and `rustc_index` directly in r-a, reducing the amount of copy needed.

This PR contains some feature flag to put nightly features behind them to make crates buildable on the stable compiler + makes layout related types generic over index type + removes interning of nested layouts.

19 months agoUse infcx.partially_normalize_associated_types_in
Santiago Pastorino [Thu, 24 Nov 2022 13:50:23 +0000 (10:50 -0300)]
Use infcx.partially_normalize_associated_types_in

19 months agoAuto merge of #104321 - Swatinem:async-gen, r=oli-obk
bors [Thu, 24 Nov 2022 17:14:42 +0000 (17:14 +0000)]
Auto merge of #104321 - Swatinem:async-gen, r=oli-obk

Avoid `GenFuture` shim when compiling async constructs

Previously, async constructs would be lowered to "normal" generators, with an additional `from_generator` / `GenFuture` shim in between to convert from `Generator` to `Future`.

The compiler will now special-case these generators internally so that async constructs will *directly* implement `Future` without the need to go through the `from_generator` / `GenFuture` shim.

The primary motivation for this change was hiding this implementation detail in stack traces and debuginfo, but it can in theory also help the optimizer as there is less abstractions to see through.

---

Given this demo code:

```rust
pub async fn a(arg: u32) -> Backtrace {
    let bt = b().await;
    let _arg = arg;
    bt
}

pub async fn b() -> Backtrace {
    Backtrace::force_capture()
}
```

I would get the following with the latest stable compiler (on Windows):

```
   4: async_codegen::b::async_fn$0
             at .\src\lib.rs:10
   5: core::future::from_generator::impl$1::poll<enum2$<async_codegen::b::async_fn_env$0> >
             at /rustc/897e37553bba8b42751c67658967889d11ecd120\library\core\src\future\mod.rs:91
   6: async_codegen::a::async_fn$0
             at .\src\lib.rs:4
   7: core::future::from_generator::impl$1::poll<enum2$<async_codegen::a::async_fn_env$0> >
             at /rustc/897e37553bba8b42751c67658967889d11ecd120\library\core\src\future\mod.rs:91
```

whereas now I get a much cleaner stack trace:

```
   3: async_codegen::b::async_fn$0
             at .\src\lib.rs:10
   4: async_codegen::a::async_fn$0
             at .\src\lib.rs:4
```

19 months agoDocument split{_ascii,}_whitespace() for empty strings
Vojtech Kral [Wed, 23 Nov 2022 14:36:51 +0000 (15:36 +0100)]
Document split{_ascii,}_whitespace() for empty strings

19 months agomove things from rustc_target::abi to rustc_abi
hkalbasi [Sun, 6 Nov 2022 21:06:11 +0000 (00:36 +0330)]
move things from rustc_target::abi to rustc_abi

19 months agomove some layout logic to rustc_target::abi::layout
hkalbasi [Tue, 1 Nov 2022 16:20:30 +0000 (19:50 +0330)]
move some layout logic to rustc_target::abi::layout

19 months agomake rustc_target usable outside of rustc
hkalbasi [Fri, 28 Oct 2022 15:15:55 +0000 (18:45 +0330)]
make rustc_target usable outside of rustc

19 months agowith_query_mode -> new
Santiago Pastorino [Thu, 24 Nov 2022 12:32:48 +0000 (09:32 -0300)]
with_query_mode -> new

19 months agoRemove normalize_projection_type
Santiago Pastorino [Wed, 23 Nov 2022 20:06:56 +0000 (17:06 -0300)]
Remove normalize_projection_type

19 months agomake `error_reported` check for delayed bugs
Boxy [Thu, 24 Nov 2022 11:12:34 +0000 (11:12 +0000)]
make `error_reported` check for delayed bugs

19 months agoAuto merge of #104809 - matthiaskrgr:rollup-8abjdwh, r=matthiaskrgr
bors [Thu, 24 Nov 2022 09:44:46 +0000 (09:44 +0000)]
Auto merge of #104809 - matthiaskrgr:rollup-8abjdwh, r=matthiaskrgr

Rollup of 9 pull requests

Successful merges:

 - #103908 (Suggest `.clone()` or `ref binding` on E0382)
 - #104517 (Throw error on failure in loading llvm-plugin)
 - #104594 (Properly handle `Pin<&mut dyn* Trait>` receiver in codegen)
 - #104742 (Make `deref_into_dyn_supertrait` lint the impl and not the usage)
 - #104753 (Pass `InferCtxt` to `DropRangeVisitor` so we can resolve vars)
 - #104771 (Add regression test for issue #99938)
 - #104772 (Small accessibility improvements)
 - #104775 (Use ObligationCtxt::normalize)
 - #104778 (:arrow_up: rust-analyzer)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

19 months agoAvoid `GenFuture` shim when compiling async constructs
Arpad Borsos [Fri, 18 Nov 2022 21:56:22 +0000 (22:56 +0100)]
Avoid `GenFuture` shim when compiling async constructs

Previously, async constructs would be lowered to "normal" generators,
with an additional `from_generator` / `GenFuture` shim in between to
convert from `Generator` to `Future`.

The compiler will now special-case these generators internally so that
async constructs will *directly* implement `Future` without the need
to go through the `from_generator` / `GenFuture` shim.

The primary motivation for this change was hiding this implementation
detail in stack traces and debuginfo, but it can in theory also help
the optimizer as there is less abstractions to see through.

19 months agoRollup merge of #104778 - lnicola:rust-analyzer-2022-11-23, r=lnicola
Matthias Krüger [Thu, 24 Nov 2022 07:42:37 +0000 (08:42 +0100)]
Rollup merge of #104778 - lnicola:rust-analyzer-2022-11-23, r=lnicola

:arrow_up: rust-analyzer

r? ```@ghost```

19 months agoRollup merge of #104775 - spastorino:use-obligation-ctxt-normalize, r=lcnr
Matthias Krüger [Thu, 24 Nov 2022 07:42:37 +0000 (08:42 +0100)]
Rollup merge of #104775 - spastorino:use-obligation-ctxt-normalize, r=lcnr

Use ObligationCtxt::normalize

r? ```@lcnr```

19 months agoRollup merge of #104772 - GuillaumeGomez:small-accessibility-improvement, r=notriddle
Matthias Krüger [Thu, 24 Nov 2022 07:42:36 +0000 (08:42 +0100)]
Rollup merge of #104772 - GuillaumeGomez:small-accessibility-improvement, r=notriddle

Small accessibility improvements

From this [reddit post](https://www.reddit.com/r/rust/comments/z1gyz7/accessible_documentation/), I started to check a bit how to improve accessibility and how we could add test for it.

So these two fixes come from the use of the [pa11y tool](https://github.com/pa11y/pa11y). To make it work, I had to update its puppeteer version to the last one but otherwise it seems to be quite nice. I didn't fix all the errors it reported because they were about colors. To get the same result as mine, you can use this config:

```json
{
    "ignore": [
"WCAG2AA.Principle1.Guideline1_4.1_4_3.G18.Fail",
"WCAG2AA.Principle3.Guideline3_2.3_2_2.H32.2"
     ]
}
```

I think trying to improve accessibility is something we should definitely aim for. I'll try to integrate a tool to enforce this check (very likely `pa11y`) directly into the CI.

cc ``@jsha``
r? ``@notriddle``

19 months agoRollup merge of #104771 - est31:if_let_chain_broken_mir_test, r=davidtwco
Matthias Krüger [Thu, 24 Nov 2022 07:42:35 +0000 (08:42 +0100)]
Rollup merge of #104771 - est31:if_let_chain_broken_mir_test, r=davidtwco

Add regression test for issue #99938

That issue was a dupe of #99852, and it got fixed since, but it's always better to have multiple regression tests rather than one.

closes #99938

19 months agoRollup merge of #104753 - compiler-errors:drop-tracking-var-ice, r=oli-obk
Matthias Krüger [Thu, 24 Nov 2022 07:42:35 +0000 (08:42 +0100)]
Rollup merge of #104753 - compiler-errors:drop-tracking-var-ice, r=oli-obk

Pass `InferCtxt` to `DropRangeVisitor` so we can resolve vars

The types that we encounter in the  `TypeckResults` that we pass to the `DropRangeVisitor` are not yet fully resolved, since that only happens in writeback after type checking is complete.

Instead, pass down the whole `InferCtxt` so that we can resolve any inference vars that have been constrained since they were written into the results. This is similar to how the `MemCategorizationContext` in the `ExprUseVisitor` also needs to pass down both typeck results _and_ the inference context.

Fixes an ICE mentioned in this comment: https://github.com/rust-lang/rust/issues/104382#issuecomment-1324410781

19 months agoRollup merge of #104742 - WaffleLapkin:forbidden-SUPER-deref, r=compiler-errors
Matthias Krüger [Thu, 24 Nov 2022 07:42:34 +0000 (08:42 +0100)]
Rollup merge of #104742 - WaffleLapkin:forbidden-SUPER-deref, r=compiler-errors

Make `deref_into_dyn_supertrait` lint the impl and not the usage

Proposed by ``@compiler-errors`` in https://github.com/rust-lang/rust/issues/89460#issuecomment-1320806785
r? ``@crlf0710``

19 months agoRollup merge of #104594 - compiler-errors:dyn-star-rcvr, r=eholk,estebank
Matthias Krüger [Thu, 24 Nov 2022 07:42:34 +0000 (08:42 +0100)]
Rollup merge of #104594 - compiler-errors:dyn-star-rcvr, r=eholk,estebank

Properly handle `Pin<&mut dyn* Trait>` receiver in codegen

This ensures we can actually await a `dyn* Future`, which seems important for async fn in dyn trait.

Also, disable `dyn*` trait upcasting. It's not exactly complete right now, and can cause strange ICEs for no reason -- nobody's using it either. I thought it was cute to implement when I did it, but I didn't think about how it interacts structurally with `CoerceUnsized` correctly.

Fixes #104794, presumably removing `dyn*` upcasting and its `CoerceUnsized` issues does the trick.

19 months agoRollup merge of #104517 - dfordivam:patch-1, r=cuviper
Matthias Krüger [Thu, 24 Nov 2022 07:42:33 +0000 (08:42 +0100)]
Rollup merge of #104517 - dfordivam:patch-1, r=cuviper

Throw error on failure in loading llvm-plugin

The following code silently ignores the error as the `LLVMRustSetLastError` only tracks one error at a time. At all other places where `LLVMRustSetLastError` is used the code immediately returns.

https://github.com/rust-lang/rust/blob/251831ece9601d64172127b6caae9087358c2386/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp#L801-L804

19 months agoRollup merge of #103908 - estebank:consider-cloning, r=compiler-errors
Matthias Krüger [Thu, 24 Nov 2022 07:42:33 +0000 (08:42 +0100)]
Rollup merge of #103908 - estebank:consider-cloning, r=compiler-errors

Suggest `.clone()` or `ref binding` on E0382

19 months agoAuto merge of #103808 - cjgillot:vec-cache, r=TaKO8Ki
bors [Thu, 24 Nov 2022 06:32:23 +0000 (06:32 +0000)]
Auto merge of #103808 - cjgillot:vec-cache, r=TaKO8Ki

Use an IndexVec to cache queries with index-like key

Revival of an old idea. Let's see if it has more effect.

r? `@ghost`

19 months agofix #104513, Use node_ty_opt to avoid ICE in visit_ty
yukang [Thu, 17 Nov 2022 12:27:28 +0000 (20:27 +0800)]
fix #104513, Use node_ty_opt to avoid ICE in visit_ty

19 months agoAuto merge of #104610 - ouz-a:revert-overflow, r=compiler-errors
bors [Thu, 24 Nov 2022 03:29:04 +0000 (03:29 +0000)]
Auto merge of #104610 - ouz-a:revert-overflow, r=compiler-errors

Reverts check done by #100757

As my `fix` caused more issues than it resolved it's better to revert it.
( #103274 #104322 https://github.com/rust-lang/rust/issues/104606)

r? `@compiler-errors`

Reopens #95134

19 months agoAdjust tests
Michael Goulet [Thu, 24 Nov 2022 02:36:46 +0000 (02:36 +0000)]
Adjust tests

19 months agoProperly handle `Pin<&mut dyn* Trait>` receiver in codegen
Michael Goulet [Sat, 19 Nov 2022 03:06:21 +0000 (03:06 +0000)]
Properly handle `Pin<&mut dyn* Trait>` receiver in codegen

19 months agoDisable dyn* upcasting
Michael Goulet [Sat, 19 Nov 2022 04:48:01 +0000 (04:48 +0000)]
Disable dyn* upcasting

19 months agorustc_codegen_ssa: write `.dwp` in a streaming fashion
Weihang Lo [Thu, 24 Nov 2022 00:58:58 +0000 (00:58 +0000)]
rustc_codegen_ssa: write `.dwp` in a streaming fashion

19 months agolint: do not warn unused parens around higher-ranked function pointers
Michael Howell [Thu, 24 Nov 2022 00:57:11 +0000 (17:57 -0700)]
lint: do not warn unused parens around higher-ranked function pointers

Fixes #104397

19 months agoAuto merge of #104507 - WaffleLapkin:asderefsyou, r=wesleywiser
bors [Thu, 24 Nov 2022 00:17:35 +0000 (00:17 +0000)]
Auto merge of #104507 - WaffleLapkin:asderefsyou, r=wesleywiser

Use `as_deref` in compiler (but only where it makes sense)

This simplifies some code :3

(there are some changes that are not exacly `as_deref`, but more like "clever `Option`/`Result` method use")