Skip to content

weak lang items are not allowed to be #[track_caller] #124067

New issue

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

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

Already on GitHub? # to your account

Merged
merged 2 commits into from
Apr 23, 2024

Conversation

RalfJung
Copy link
Member

For instance the panic handler will be called via this import

        extern "Rust" {
            #[lang = "panic_impl"]
            fn panic_impl(pi: &PanicInfo<'_>) -> !;
        }

A #[track_caller] would add an extra argument and thus make this the wrong signature.

The 2nd commit is a consistency rename; based on the docs here and here I figured "lang item" is more widely used. (In the compiler output, "lang item" and "language item" seem to be pretty even.)

@rustbot
Copy link
Collaborator

rustbot commented Apr 17, 2024

r? @davidtwco

rustbot has assigned @davidtwco.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@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 17, 2024
@rustbot
Copy link
Collaborator

rustbot commented Apr 17, 2024

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

@rust-log-analyzer

This comment has been minimized.

@davidtwco
Copy link
Member

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Apr 23, 2024

📌 Commit 8b35be7 has been approved by davidtwco

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-review Status: Awaiting review from the assignee but also interested parties. labels Apr 23, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 23, 2024
…iaskrgr

Rollup of 5 pull requests

Successful merges:

 - rust-lang#123050 (panic_str only exists for the migration to 2021 panic macros)
 - rust-lang#124067 (weak lang items are not allowed to be #[track_caller])
 - rust-lang#124099 (Disallow ambiguous attributes on expressions)
 - rust-lang#124284 (parser: remove unused(no reads) max_angle_bracket_count field)
 - rust-lang#124288 (remove `push_trait_bound_inner`)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 36316df into rust-lang:master Apr 23, 2024
12 checks passed
@rustbot rustbot added this to the 1.79.0 milestone Apr 23, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Apr 23, 2024
Rollup merge of rust-lang#124067 - RalfJung:weak-lang-items, r=davidtwco

weak lang items are not allowed to be #[track_caller]

For instance the panic handler will be called via this import
```rust
        extern "Rust" {
            #[lang = "panic_impl"]
            fn panic_impl(pi: &PanicInfo<'_>) -> !;
        }
```
A `#[track_caller]` would add an extra argument and thus make this the wrong signature.

The 2nd commit is a consistency rename; based on the docs [here](https://doc.rust-lang.org/unstable-book/language-features/lang-items.html) and [here](https://rustc-dev-guide.rust-lang.org/lang-items.html) I figured "lang item" is more widely used. (In the compiler output, "lang item" and "language item" seem to be pretty even.)
@RalfJung RalfJung deleted the weak-lang-items branch April 23, 2024 13:26
riking added a commit to riking/rust that referenced this pull request May 8, 2024
Only one of the two mentions of the attribute were updated.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
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.

5 participants