Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Try packing hot type flags in the Ty (pointer) #110795

Closed

Conversation

WaffleLapkin
Copy link
Member

r? @ghost

tmandry and others added 30 commits May 24, 2022 12:09
I noticed this when running coverage on a debug build of rustc. There
may be other places that do this but I'm just fixing the one I hit.
The `yes` command is not available on all platforms.
Signed-off-by: Josh Soref <[email protected]>
Signed-off-by: Josh Soref <[email protected]>
…icit_item_bounds usages; remove bound_explicit_item_bounds query
…lyBinder; use this to simplify some EarlyBinder noise around explicit_item_bounds calls
`provide_sorted_batch` in core is incorrectly marked with
`#[cfg(not(no_global_oom_handling))]` which prevents core
from building with the cfg enabled.

Nothing in core allocates memory including this function, so
the `cfg` gate is incorrect.
Part 4: Finishing `check/mod.rs` file
To support LoongArch.

Changes:
  Updating errno v0.2.8 -> v0.3.1
  Updating is-terminal v0.4.4 -> v0.4.7
  Updating linux-raw-sys v0.1.4 -> v0.3.4
  Updating rustix v0.36.5 -> v0.37.7
  Updating terminal_size v0.2.3 -> v0.2.6
    Adding windows-sys v0.48.0

The changes are generated by:

  cargo update -p is-terminal -p terminal_size
bors and others added 19 commits April 27, 2023 09:55
…iler-errors

rename `NEEDS_SUBST` and `NEEDS_INFER`

implements rust-lang/compiler-team#617
…mples, r=compiler-errors

docs(style): add more let-else examples

Adding a few more examples for increased clarity based on subsequent discussion that arose after implementation work began.

Will need approval from t-style, but also cc ```@ytmimi``` to make sure these examples don't contradict any examples we've been incorporating as part of the rustfmt implementation
…ilstrieb

Sprinkle some `#[inline]` in `rustc_data_structures::tagged_ptr`

This is based on `nm --demangle (rustc +a --print sysroot)/lib/librustc_driver-*.so | rg CopyTaggedPtr` which shows many methods that should probably be inlined. May fix the regression in rust-lang#110795.

r? ```@Nilstrieb```
…, r=compiler-errors

Migrate `rustc_passes` to translatable diagnostics

cc rust-lang#100717
…, r=jackh726

`IntoFuture::into_future` is no longer unstable

We don't need to gate the `IntoFuture::into_future` call in `.await` lowering anymore.

``@bors`` rollup
Make `method-not-found-generic-arg-elision.rs` error message not path dependent

Every time I bless `tests/ui/methods/method-not-found-generic-arg-elision.rs`, I get some nonsense "type is too long" + "written to disk" that shows up and have to manually revert because the combination of my rustc repo path + the UI test directory hits the length limit for printing types spilling to disk (since this happens before UI test path sanitization).

The fact that we use a closure in this test doesn't have to do with the UI test, so just box the closure to make the type name smaller and not path dependent.
…ywiser

Nicer ICE for rust-lang#67981

Provides a slightly nicer ICE for rust-lang#67981, documenting the problem. A proper fix will be necessary before `#![feature(unsized_fn_params)]` can be stabilized.

The problem is that the design of the `"rust-call"` ABI is fundamentally not compatible with `unsized_fn_params`. `"rust-call"` functions need to collect their arguments into a tuple, but if the arguments are not `Sized`, said tuple is potentially not even a valid type—and if it is, it requires `alloca` to create.

``@rustbot`` label +A-abi +A-codegen +F-unboxed_closures +F-unsized_fn_params
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#110426 (docs(style): add more let-else examples)
 - rust-lang#110804 (Remove repeated definite articles)
 - rust-lang#110814 (Sprinkle some `#[inline]` in `rustc_data_structures::tagged_ptr`)
 - rust-lang#110816 (Migrate `rustc_passes` to translatable diagnostics)
 - rust-lang#110864 (`IntoFuture::into_future` is no longer unstable)
 - rust-lang#110866 (Make `method-not-found-generic-arg-elision.rs` error message not path dependent)
 - rust-lang#110872 (Nicer ICE for rust-lang#67981)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@rustbot rustbot added A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-style Relevant to the style team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Apr 27, 2023
@jyn514 jyn514 closed this Apr 27, 2023
@jyn514
Copy link
Member

jyn514 commented Apr 27, 2023

Screenshot 2023-04-27 at 1 59 40 PM
uhhhhh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc perf-regression Performance regression. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-style Relevant to the style team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.