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

Remove NtIdent and NtLifetime #124256

Merged
merged 2 commits into from
May 14, 2024
Merged

Conversation

nnethercote
Copy link
Contributor

This is one part of the bigger "remove Nonterminal and TokenKind::Interpolated" change drafted in #114647. More details in the individual commit messages.

r? @petrochenkov

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Apr 22, 2024
@nnethercote
Copy link
Contributor Author

I'm not sure how this compares with #119412.

@nnethercote
Copy link
Contributor Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Apr 22, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 22, 2024
…=<try>

Remove `NtIdent` and `NtLifetime`

This is one part of the bigger "remove `Nonterminal` and `TokenKind::Interpolated`" change drafted in rust-lang#114647. More details in the individual commit messages.

r? `@petrochenkov`
@bors
Copy link
Contributor

bors commented Apr 22, 2024

⌛ Trying commit beced67 with merge bbd9179...

@bors
Copy link
Contributor

bors commented Apr 22, 2024

☀️ Try build successful - checks-actions
Build commit: bbd9179 (bbd91796bdae8aa410e2d4aa8c7053db10c6a51b)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (bbd9179): comparison URL.

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.8% [1.3%, 2.2%] 8
Improvements ✅
(primary)
-0.6% [-1.5%, -0.1%] 23
Improvements ✅
(secondary)
-0.4% [-0.7%, -0.2%] 6
All ❌✅ (primary) -0.6% [-1.5%, -0.1%] 23

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
4.8% [4.8%, 4.8%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.7% [-3.8%, -3.5%] 2
All ❌✅ (primary) - - 0

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.0% [-3.4%, -1.4%] 6
Improvements ✅
(secondary)
-4.8% [-7.3%, -2.7%] 9
All ❌✅ (primary) -2.0% [-3.4%, -1.4%] 6

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: missing data
Artifact size: 315.40 MiB -> 315.33 MiB (-0.02%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Apr 22, 2024
@petrochenkov
Copy link
Contributor

I'm not sure how this compares with #119412.

This PR changes representation of NtIdent, #119412 removes it entirely.

@nnethercote
Copy link
Contributor Author

This PR changes representation of NtIdent, #119412 removes it entirely.

Well, yes. I should have said that I don't understand the status and viability of #119412.

  • It hasn't been touched for a couple of months.
  • It changes a lot of test outputs in ways that I admit I don't understand.
  • There's a crater run with 216 regressions. There is no analysis of the regressions, I don't know if they are significant, but it sounds like a lot.
  • It eliminates NtIdent but doesn't touch NtLifetime.

In contrast, this PR eliminates NtIdent and NtLifetimefromNonterminal` by moving them elsewhere, and doesn't cause any visible changes to the compiler's behaviour.

Clearly we can't land both this PR and #119412 as written. Is #119412 viable? If so, what to do about NtLifetime?

@petrochenkov
Copy link
Contributor

#119412 is viable, I just didn't have time to address the regressions (I more or less know how to do that).

It changes a lot of test outputs in ways that I admit I don't understand.

It's a continuation of #119673, that migrates idents to the same span tracking scheme as tts.
(There should be less changes after I fix regressions.)

Clearly we can't land both this PR and #119412 as written

They are orthogonal, if this PR lands first then I'll remove InterpolatedIdent instead of NtIdent, if that PR lands first you'll only need to change representation for NtLifetime.

It eliminates NtIdent but doesn't touch NtLifetime.

ident and lifetime are qualitatively different, ident is a single token like tt not wrapped into a group, lifetime is a two-token delimited group (at least in proc macro representation, but that's the representation I'd want to migrate everything to).

@nnethercote
Copy link
Contributor Author

They are orthogonal, if this PR lands first then I'll remove InterpolatedIdent instead of NtIdent, if that PR lands first you'll only need to change representation for NtLifetime.

Good to hear! I think this one is mergeable now, and is a good first step towards removing Nonterminal. There are some conflicts but they are trivial, only relating to use items in a single file. What do you think?

@petrochenkov
Copy link
Contributor

First commit LGTM.

compiler/rustc_ast/src/mut_visit.rs Outdated Show resolved Hide resolved
compiler/rustc_ast/src/token.rs Outdated Show resolved Hide resolved
compiler/rustc_ast_pretty/src/pprust/state.rs Outdated Show resolved Hide resolved
compiler/rustc_expand/src/mbe/transcribe.rs Outdated Show resolved Hide resolved
@petrochenkov
Copy link
Contributor

I wonder why this is a perf regression for tt-muncher, the change looks like a pure perf improvement - an allocation/indirection is removed, but the sizes of Token(Kind) structures are not affected.

@petrochenkov petrochenkov added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 11, 2024
This span records the declaration of the metavariable in the LHS of the macro.
It's used in a couple of error messages. Unfortunately, it gets in the way of
the long-term goal of removing `TokenKind::Interpolated`. So this commit
removes it, which degrades a couple of (obscure) error messages but makes
things simpler and enables the next commit.
@nnethercote
Copy link
Contributor Author

I have addressed the comments except where noted above.

@petrochenkov
Copy link
Contributor

Still not clear about the tt-muncher difference (#124256 (comment)).

@nnethercote
Copy link
Contributor Author

Here is the main part of a Cachegrind diff for tt-muncher:

--------------------------------------------------------------------------------
-- Function:file summary
--------------------------------------------------------------------------------
  Ir____________________________  function:file

>  311,379,241  (399.8%, 399.8%)  rustc_expand::mbe::macro_rules::expand_macro:
   157,055,076  (201.6%)            /home/njn/dev/rustN/compiler/rustc_expand/src/mbe/transcribe.rs
    59,127,618   (75.9%)            /home/njn/.cargo/registry/src/index.crates.io-6f17d22bba15001f/smallvec-1.13.2/src/lib.rs
    29,172,322   (37.5%)            /home/njn/dev/rustN/library/core/src/slice/mod.rs
    15,622,444   (20.1%)            /home/njn/dev/rustN/library/alloc/src/vec/mod.rs
     9,917,481   (12.7%)            /home/njn/dev/rustN/library/core/src/slice/index.rs
     9,374,843   (12.0%)            /home/njn/dev/rustN/library/core/src/ptr/mod.rs
     8,145,019   (10.5%)            /home/njn/dev/rustN/compiler/rustc_ast/src/token.rs
     5,065,597    (6.5%)            /home/njn/dev/rustN/library/alloc/src/raw_vec.rs
     4,407,102    (5.7%)            /home/njn/dev/rustN/compiler/rustc_ast/src/tokenstream.rs
     3,622,615    (4.7%)            /home/njn/dev/rustN/library/core/src/ptr/mut_ptr.rs
     3,093,269    (4.0%)            /home/njn/dev/rustN/compiler/rustc_span/src/span_encoding.rs
     1,999,191    (2.6%)            /home/njn/dev/rustN/compiler/rustc_expand/src/mbe/macro_rules.rs
     1,583,450    (2.0%)            /home/njn/dev/rustN/library/core/src/cmp.rs
       620,001    (0.8%)            /home/njn/dev/rustN/compiler/rustc_data_structures/src/sync/lock.rs
       432,653    (0.6%)            /home/njn/dev/rustN/library/core/src/slice/iter/macros.rs
       374,549    (0.5%)            /home/njn/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.14.5/src/raw/mod.rs
       301,780    (0.4%)            /home/njn/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.37/src/span.rs
       242,243    (0.3%)            /home/njn/dev/rustN/library/core/src/option.rs
       218,660    (0.3%)            /home/njn/dev/rustN/library/core/src/sync/atomic.rs
       170,344    (0.2%)            /home/njn/dev/rustN/library/alloc/src/alloc.rs
       155,200    (0.2%)            /home/njn/dev/rustN/compiler/rustc_span/src/lib.rs
       149,912    (0.2%)            /home/njn/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.14.5/src/raw/bitmask.rs
        84,909    (0.1%)            /home/njn/dev/rustN/library/core/src/ptr/non_null.rs
        81,018    (0.1%)            /home/njn/dev/rustN/compiler/rustc_ast/src/mut_visit.rs

> -298,309,854 (-383.0%,  16.8%)  rustc_expand::mbe::transcribe::transcribe:
  -145,574,259 (-186.9%)            /home/njn/dev/rustN/compiler/rustc_expand/src/mbe/transcribe.rs
   -62,343,475  (-80.0%)            /home/njn/.cargo/registry/src/index.crates.io-6f17d22bba15001f/smallvec-1.13.2/src/lib.rs
   -32,482,900  (-41.7%)            /home/njn/dev/rustN/library/core/src/slice/mod.rs
   -13,934,236  (-17.9%)            /home/njn/dev/rustN/library/alloc/src/vec/mod.rs
    -9,917,481  (-12.7%)            /home/njn/dev/rustN/library/core/src/slice/index.rs
    -8,073,664  (-10.4%)            /home/njn/dev/rustN/compiler/rustc_ast/src/token.rs
    -7,490,418   (-9.6%)            /home/njn/dev/rustN/library/core/src/ptr/mod.rs
    -4,991,940   (-6.4%)            /home/njn/dev/rustN/library/alloc/src/raw_vec.rs
    -4,514,855   (-5.8%)            /home/njn/dev/rustN/compiler/rustc_ast/src/tokenstream.rs
    -3,444,151   (-4.4%)            /home/njn/dev/rustN/library/core/src/ptr/mut_ptr.rs
    -3,093,269   (-4.0%)            /home/njn/dev/rustN/compiler/rustc_span/src/span_encoding.rs
    -1,583,450   (-2.0%)            /home/njn/dev/rustN/library/core/src/cmp.rs
      -255,746   (-0.3%)            /home/njn/dev/rustN/library/core/src/option.rs
      -163,303   (-0.2%)            /home/njn/dev/rustN/compiler/rustc_span/src/lib.rs
      -107,405   (-0.1%)            /home/njn/dev/rustN/library/alloc/src/sync.rs
      -102,800   (-0.1%)            /home/njn/dev/rustN/library/core/src/sync/atomic.rs
       -81,018   (-0.1%)            /home/njn/dev/rustN/compiler/rustc_ast/src/mut_visit.rs

>   43,612,166   (56.0%,  72.8%)  <alloc::vec::Vec<rustc_expand::mbe::macro_parser::NamedMatch> as core::clone::Clone>::clone:
    20,550,326   (26.4%)            /home/njn/dev/rustN/compiler/rustc_parse/src/parser/mod.rs
     8,953,500   (11.5%)            /home/njn/dev/rustN/compiler/rustc_ast/src/token.rs
     6,335,884    (8.1%)            /home/njn/dev/rustN/library/core/src/mem/maybe_uninit.rs
     4,777,972    (6.1%)            /home/njn/dev/rustN/compiler/rustc_expand/src/mbe/macro_parser.rs
     2,982,400    (3.8%)            /home/njn/dev/rustN/compiler/rustc_ast/src/tokenstream.rs

>   23,678,872   (30.4%, 103.2%)  core::ptr::drop_in_place::<alloc::vec::Vec<rustc_expand::mbe::macro_parser::NamedMatch>>:
    23,676,502   (30.4%)            /home/njn/dev/rustN/library/core/src/ptr/mod.rs

>   14,491,652   (18.6%, 121.8%)  core::ptr::drop_in_place::<[rustc_expand::mbe::macro_parser::NamedMatch]>:
    14,540,364   (18.7%)            /home/njn/dev/rustN/library/core/src/ptr/mod.rs

>   -6,567,521   (-8.4%, 113.3%)  <rustc_expand::mbe::macro_rules::MacroRulesMacroExpander as rustc_expand::base::TTMacroExpander>::expand:
    -1,913,031   (-2.5%)            /home/njn/dev/rustN/compiler/rustc_expand/src/mbe/macro_rules.rs
    -1,738,912   (-2.2%)            /home/njn/dev/rustN/library/core/src/ptr/mod.rs
      -693,658   (-0.9%)            /home/njn/dev/rustN/compiler/rustc_data_structures/src/sync/lock.rs
      -454,109   (-0.6%)            /home/njn/dev/rustN/library/core/src/slice/iter/macros.rs
      -368,285   (-0.5%)            /home/njn/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.37/src/span.rs
      -349,595   (-0.4%)            /home/njn/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.14.5/src/raw/mod.rs
      -178,464   (-0.2%)            /home/njn/dev/rustN/library/core/src/ptr/mut_ptr.rs
      -149,912   (-0.2%)            /home/njn/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.14.5/src/raw/bitmask.rs
      -130,873   (-0.2%)            /home/njn/dev/rustN/library/alloc/src/vec/mod.rs
      -114,432   (-0.1%)            /home/njn/dev/rustN/library/alloc/src/alloc.rs
       -87,961   (-0.1%)            /home/njn/dev/rustN/library/alloc/src/raw_vec.rs
       -80,809   (-0.1%)            /home/njn/dev/rustN/library/core/src/ptr/non_null.rs

>   -4,084,461   (-5.2%, 108.1%)  <rustc_expand::mbe::macro_parser::TtParser>::parse_tt::<rustc_expand::mbe::macro_rules::NoopTracker>:
    23,881,419   (30.7%)            /home/njn/dev/rustN/library/alloc/src/vec/mod.rs
   -18,026,446  (-23.1%)            /home/njn/dev/rustN/compiler/rustc_expand/src/mbe/macro_parser.rs
    -9,797,232  (-12.6%)            /home/njn/dev/rustN/compiler/rustc_parse/src/parser/mod.rs
    -1,668,566   (-2.1%)            /home/njn/dev/rustN/library/core/src/ptr/mod.rs
     1,633,751    (2.1%)            /home/njn/dev/rustN/library/alloc/src/alloc.rs
      -152,742   (-0.2%)            /home/njn/dev/rustN/library/alloc/src/boxed.rs

>   -1,890,285   (-2.4%, 105.7%)  <all-jemalloc-functions>:<all-jemalloc-files>

>   -1,842,840   (-2.4%, 103.3%)  rustc_expand::mbe::macro_parser::token_name_eq:
    -1,736,933   (-2.2%)            /home/njn/dev/rustN/compiler/rustc_ast/src/token.rs
      -105,807   (-0.1%)            /home/njn/dev/rustN/compiler/rustc_expand/src/mbe/macro_parser.rs

Having multiple files for each function is due to code from those files being inlined into the function. The diff doesn't show line-by-line differences. It looks like about 3/4 of the increase is due to clone and drop_in_place for Vec<NamedMatch>. I'm not worried about this, tt-muncher is an artificial stress test that is most there to detect large regressions more than 1-2% changes.

@nnethercote
Copy link
Contributor Author

New version is up, addressing the additional comments.

/// Lifetime identifier token.
/// Do not forget about `NtLifetime` when you want to match on lifetime identifiers.
/// Do not forget about `InterpolatedLIfetime` when you want to match on lifetime identifiers.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Do not forget about `InterpolatedLIfetime` when you want to match on lifetime identifiers.
/// Do not forget about `NtLifetime` when you want to match on lifetime identifiers.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch. I overlooked that one because the incorrect upper case I didn't match when I was searching for places to change.

@petrochenkov
Copy link
Contributor

It looks like about 3/4 of the increase is due to clone and drop_in_place for Vec<NamedMatch>. I'm not worried about this, tt-muncher is an artificial stress test that is most there to detect large regressions more than 1-2% changes.

I see, it looks like the size of ParseNtResult has increased.
I agree that it should be fine.

r=me with the comment #124256 (comment) updated.

The extra span is now recorded in the new `TokenKind::NtIdent` and
`TokenKind::NtLifetime`. These both consist of a single token, and so
there's no operator precedence problems with inserting them directly
into the token stream.

The other way to do this would be to wrap the ident/lifetime in invisible
delimiters, but there's a lot of code that assumes an interpolated
ident/lifetime fits in a single token, and changing all that code to work with
invisible delimiters would have been a pain. (Maybe it could be done in a
follow-up.)

This change might not seem like much of a win, but it's a first step toward the
much bigger and long-desired removal of `Nonterminal` and
`TokenKind::Interpolated`. That change is big and complex enough that it's
worth doing this piece separately. (Indeed, this commit is based on part of a
late commit in rust-lang#114647, a prior attempt at that big and complex change.)
@nnethercote
Copy link
Contributor Author

@bors r=petrochenkov

@bors
Copy link
Contributor

bors commented May 13, 2024

📌 Commit 95e519e has been approved by petrochenkov

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels May 13, 2024
@bors
Copy link
Contributor

bors commented May 14, 2024

⌛ Testing commit 95e519e with merge 9105c57...

@bors
Copy link
Contributor

bors commented May 14, 2024

☀️ Test successful - checks-actions
Approved by: petrochenkov
Pushing 9105c57 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 14, 2024
@bors bors merged commit 9105c57 into rust-lang:master May 14, 2024
7 checks passed
@rustbot rustbot added this to the 1.80.0 milestone May 14, 2024
@bors bors mentioned this pull request May 14, 2024
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (9105c57): comparison URL.

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.2% [0.2%, 0.2%] 1
Regressions ❌
(secondary)
1.9% [1.2%, 2.7%] 8
Improvements ✅
(primary)
-0.8% [-2.0%, -0.1%] 24
Improvements ✅
(secondary)
-0.6% [-1.1%, -0.3%] 9
All ❌✅ (primary) -0.7% [-2.0%, 0.2%] 25

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
3.6% [3.6%, 3.6%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.7% [-4.3%, -3.0%] 4
All ❌✅ (primary) - - 0

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.6% [-2.6%, -2.6%] 1
Improvements ✅
(secondary)
-3.1% [-4.3%, -2.0%] 9
All ❌✅ (primary) -2.6% [-2.6%, -2.6%] 1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 678.96s -> 679.239s (0.04%)
Artifact size: 316.10 MiB -> 316.02 MiB (-0.02%)

@nnethercote nnethercote deleted the rm-NtIdent-NtLifetime branch May 14, 2024 05:44
@nnethercote
Copy link
Contributor Author

As above, the regressions on the artificial tt-muncher stress test aren't that important, and balanced out by the improvements on other, more realistic benchmarks.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label May 14, 2024
@Kobzol
Copy link
Contributor

Kobzol commented May 14, 2024

I think that this was actually a win on tt-muncher, in cycles.

celinval pushed a commit to celinval/rust-dev that referenced this pull request Jun 4, 2024
Update Rust toolchain from nightly-2024-05-14 to nightly-2024-05-15
without any other source changes.
This is an automatically generated pull request. If any of the CI checks
fail, manual intervention is required. In such a case, review the
changes at https://github.com/rust-lang/rust from
rust-lang@ab14f94
up to
rust-lang@8387315.
The log for this commit range is:
rust-lang@8387315ab3 Auto merge of
rust-lang#125125 - lovesegfault:opt-dist-specify-rustc-perf, r=Mark-Simulacrum
rust-lang@c3c9783de2
feat(tools/opt-dist): allow local builds to specify a rustc-perf
checkout
rust-lang@ac385a5af6 Auto merge of
rust-lang#125120 - compiler-errors:rollup-mnjybwv, r=compiler-errors
rust-lang@31016d5879 Rollup merge of
rust-lang#125118 - GuillaumeGomez:cleanup-run-make, r=jieyouxu
rust-lang@d59f430eec Rollup merge of
rust-lang#125100 - compiler-errors:faster, r=nnethercote
rust-lang@712e7c37f7 Rollup merge of
rust-lang#125088 - compiler-errors:uplift-alias-ty, r=lcnr
rust-lang@8c64acdbdc Rollup merge of
rust-lang#125080 - bvanjoi:fix-124946, r=nnethercote
rust-lang@844c7e826e Rollup merge of
rust-lang#125047 - Oneirical:test5, r=jieyouxu
rust-lang@0458d8a53b Rollup merge of
rust-lang#124844 - compiler-errors:shadow-probe, r=lcnr
rust-lang@36287830a2 Rollup merge of
rust-lang#119838 - joshtriplett:style-guide-binop-indent, r=compiler-errors
rust-lang@ade33b02f2 only find segs chain
for missing methods when no available candidates
rust-lang@bdfd941f4d Auto merge of
rust-lang#123816 - tgross35:f16-f128-mangling, r=michaelwoerister
rust-lang@f97d915173 Use new utility
functions/methods in run-make tests
rust-lang@792a9bdd4b Enable v0 mangling
tests and add checks for `f16`/`f128`
rust-lang@809b84edba Add v0 symbol
mangling for `f16` and `f128`
rust-lang@31026b7fe3 Auto merge of
rust-lang#125023 - morr0ne:linux-none-target, r=Nilstrieb
rust-lang@68407f9049 fix typo in
x86_64-unknown-linux-none docs
rust-lang@c45e831d8f Auto merge of
rust-lang#124228 - compiler-errors:lint-overcaptures, r=oli-obk
rust-lang@58426f4a5b Auto merge of
rust-lang#125026 - Oneirical:clink-tests, r=jieyouxu
rust-lang@e098eb14ae Wording improvement
rust-lang@e2d9c0d938 Fix missing word
rust-lang@57c32a193f style-guide: When
breaking binops handle multi-line first operand better
rust-lang@dbd2ca6478 Use a proper probe
for shadowing impl
rust-lang@052de1da4f And finally add
tests
rust-lang@1529c661e4 Warn against
redundant use<...>
rust-lang@f3fb727b08 Don't suggest using
use<> syntax to capture APITs
rust-lang@6afe1352d9 Suggest adding use<>
syntax
rust-lang@554becc180 Add some commenting
rust-lang@d57e57ca1f Implement initial
IMPL_TRAIT_OVERCAPTURES lint
rust-lang@8f97a2588c Add test to make
sure suggestions are still quick
rust-lang@fba5f44bd8 Auto merge of
rust-lang#125098 - jhpratt:rollup-2qm4gga, r=jhpratt
rust-lang@45b50d303c lto function,
static_library call, rename
rust-lang@9f8cdb286e Remove to_term
rust-lang@1ad28a6f53 Uplift AliasTy
rust-lang@812f89728a fix fmt
rust-lang@2e4c90c3f7 Don't do
post-method-probe error reporting steps if we're in a suggestion
rust-lang@32d74f1800 Rollup merge of
rust-lang#125090 - erickt:bump-fuchsia, r=tmandry
rust-lang@209703af85 Rollup merge of
rust-lang#125072 - Darksonn:pin-dyn-dispatch-sound, r=jhpratt
rust-lang@18d9c039bb Rollup merge of
rust-lang#124997 - gurry:124848-ice-should-be-sized, r=Nadrieril
rust-lang@74a78af0e2 Rollup merge of
rust-lang#116675 - joshlf:patch-10, r=scottmcm
rust-lang@9105c57b7f Auto merge of
rust-lang#124256 - nnethercote:rm-NtIdent-NtLifetime, r=petrochenkov
rust-lang@34582118af Auto merge of
rust-lang#125076 - compiler-errors:alias-term, r=lcnr
rust-lang@95e519ecbf Remove `NtIdent` and
`NtLifetime`.
rust-lang@fa84018c2e Apply nits
rust-lang@58ee9192e0 Migrate fuchsia docs
from `pm` to `ffx`
rust-lang@293b5cb1ca [ptr] Document
maximum allocation size
rust-lang@3bcdf3058e split out AliasTy ->
AliasTerm
rust-lang@b3a78c1d09 Add test for dynamic
dispatch + Pin::new soundness
rust-lang@9a63a42cb7 Remove a `Span` from
`TokenKind::Interpolated`.
rust-lang@71fd2cf5b4 fix function call
and import
rust-lang@a1b5ea0cc2 make tidy happy
rust-lang@f2de5fb2ae rewrite issue-14500
to rmake
rust-lang@a6f237ca85 docs: fix typo in
platform-support docs
rust-lang@923cdb35aa test: Add assembly
tests for x86_64-unknown-linux-none target
rust-lang@10c358f111 Make tidy happy
rust-lang@e37d2989c1 remove trailing
whitespace
rust-lang@a2e7e79a13 Port
c-link-to-rust-va-list-fn to Rust
rust-lang@9cf080099d docs: Document
x86_64-unknown-linux-none target
rust-lang@a3ef01b1fc Add
x86_64-unknown-linux-none target
rust-lang@fb619ec208 FIx ICE while
casting a type with error

Co-authored-by: tautschnig <1144736+tautschnig@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants