Skip to content

Fix stack overflow when macro_rules! macros shadow builtin attributes or types #142946

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

clauses3
Copy link

@clauses3 clauses3 commented Jun 24, 2025

Compiler crashes with SIGSEGV when macro_rules! shadows a builtin attribute like #[test] and uses that attribute within its expansion.

Repro

#[macro_export]
macro_rules! test {
    () => {
        #[test]  // tries to resolve to macro, causing infinite recursion
        fn my_test() {
            test!();
        }
    };
}

#[cfg(test)]
mod tests {
    use super::*;  // Wildcard import brings macro into scope
    test!();
}
RUST_MIN_STACK=1048576 rustc --test crash_test.rs
# Segmentation fault (core dumped)

Can crash in regular situations without limiting stack as well, like gpui tests in Zed.

Fix adds a check in early_resolve_ident_in_lexical_scope to prevent infinite recursion by always preferring the builtin attribute when there's an ambiguity between a macro_rules! macro and a builtin attribute. This only applies to macro_rules! macros to preserve existing proc-macro ambiguity detection.

Questions

Should there be a warning when a macro_rules! macro shadows a builtin attribute? What's the precedence order?
With a very small stack, a crash can still happen before execution gets here. Move fix?

r? @WaffleLapkin bug originally found in gpui 😸

@rustbot
Copy link
Collaborator

rustbot commented Jun 24, 2025

WaffleLapkin is currently at their maximum review capacity.
They may take a while to respond.

@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 Jun 24, 2025
@clauses3 clauses3 changed the title Fix stack overflow when macro_rules! macros shadow builtin attributes Fix stack overflow when macro_rules! macros shadow builtin attributes or types Jun 24, 2025
@clauses3
Copy link
Author

clauses3 commented Jun 24, 2025

Compiler also crashes with SIGBUS when shadowing type with RUST_MIN_STACK=1048576:

#[macro_export]
macro_rules! String {
    () => {
        fn get_string() -> String {
            "hello".to_owned()
        }
    };
}

#[cfg(test)]
mod tests {
    use super::*;

    String!();

    #[test]
    fn test_string_shadow() {
        assert_eq!(get_string(), "hello");
    }
}

Name collision between proc macros and macro rules (SIGBUS):

// Trigger name resolution bug before
// compiler validates crate structure

extern crate proc_macro;

use proc_macro::TokenStream;

#[proc_macro_attribute]
pub fn test(_attr: TokenStream, item: TokenStream) -> TokenStream {
}

#[test]
fn my_test_function() {
    assert_eq!(2 + 2, 4);
}

// Never gets here
fn main() {
    println!("Hi!");
}

More cases (SIGBUS):
test_proc_macro/Cargo.toml

[package]
name = "test_proc_macro"
version = "0.1.0"
edition = "2024"
[lib]
proc-macro = true
[dependencies]

test_proc_macro/src/lib.rs

extern crate proc_macro;
use proc_macro::TokenStream;

/// A procedural attribute macro whose only purpose is to create a name collision.
#[proc_macro_attribute]
pub fn ambiguous_macro(_attr: TokenStream, item: TokenStream) -> TokenStream {
    item
}

my_app/Cargo.toml

[package]
name = "my_app"
version = "0.1.0"
edition = "2024"

[dependencies]
test_proc_macro = { path = "../test_proc_macro" }

my_app/src/main.rs

use test_proc_macro::ambiguous_macro;

#[macro_export]
macro_rules! ambiguous_macro {
    () => {
        fn created_by_macro_rules() {}
    };
}

fn main() {
    ambiguous_macro!();
    created_by_macro_rules();
}
RUST_MIN_STACK=1048576 cargo build --manifest-path my_app/Cargo.toml

Just shadowing keywords in general (SIGBUS after syntax errors):

#[macro_export]
macro_rules! fn {
    () => {
        // This macro's name shadows the `fn` keyword.
        // The goal is to see if this confuses the parser, which operates
        // before the name resolution stage where previous bugs were found.
        println!("The `fn` macro was called.");
    };
}

// Now, we attempt to define a regular function using the `fn` keyword.
// If the parser incorrectly identifies `fn` as the macro, it could lead
// to a crash or a deeply confusing error message, as the fundamental
// structure of the language is being challenged.
fn my_test_function() {
    println!("This is a standard function.");
}

fn main() {
    // We can invoke the macro to make sure it's active.
    fn!();

    // And call the regular function.
    my_test_function();
}

@petrochenkov petrochenkov self-assigned this Jun 24, 2025
@petrochenkov
Copy link
Contributor

petrochenkov commented Jun 24, 2025

This seems misguided.
The reproducer in the top message doesn't cause infinite recursion, it produces a normal error like this

$ rustc --test main.rs
error: recursion limit reached while expanding `test!`
  --> main.rs:6:13
   |
6  |             test!();
   |             ^^^^^^^
...
14 |     test!();
   |     ------- in this macro invocation
   |
   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`main`)
   = note: this error originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 1 previous error

There are numerous way to trigger this recursion limit, and most of them do not involve any shadowing and are not affected by changes to ident.rs made in this PR. (The change doesn't affect the reproducer with #[test] in particular, because it's not a BuiltinAttr.)

Also, this is not the only recursion limit error in rustc, there are similar errors in type checking, in const evaluation, probably somewhere else.
If you give rustc a small enough stack, then many of those recursion limit errors will turn into overflowing stack, hitting the guard page and exiting the process (in a controlled way). Large enough programs will probably do that as well, even if they do not hit any recursion limits.

@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 Jun 24, 2025
@clauses3
Copy link
Author

clauses3 commented Jun 24, 2025

Thanks for the quick reply. Here's the output of the original issue, encountered while testing a gpui project:
Should this be fixed in gpui and not on the compiler end then?

   Compiling gpui_widgets v0.1.0 (/home/clauses/RemoteProjects/zed/crates/gpui_notebook/widgets)
error: rustc interrupted by SIGSEGV, printing backtrace

/home/clauses/.rustup/toolchains/1.87-x86_64-unknown-linux-gnu/lib/librustc_driver-9c23edfdcf82221e.so(+0x39177df)[0x76b40a3177df]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x76b406642520]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d3444)[0x76b3983d3444]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x15854d)[0x76b39835854d]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1a1193)[0x76b3983a1193]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1556be)[0x76b3983556be]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ce12e)[0x76b3983ce12e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1e548e)[0x76b3983e548e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x196b29)[0x76b398396b29]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1646fd)[0x76b3983646fd]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1633b5)[0x76b3983633b5]

### cycle encountered after 11 frames with period 23
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x160676)[0x76b398360676]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x15fc38)[0x76b39835fc38]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x15f547)[0x76b39835f547]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x13d8b2)[0x76b39833d8b2]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1af6e1)[0x76b3983af6e1]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1cfe6e)[0x76b3983cfe6e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x161973)[0x76b398361973]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1607b0)[0x76b3983607b0]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x15fc38)[0x76b39835fc38]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x15c94f)[0x76b39835c94f]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x13d2dd)[0x76b39833d2dd]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x17179a)[0x76b39837179a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16fd91)[0x76b39836fd91]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x144708)[0x76b398344708]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ce58e)[0x76b3983ce58e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x163799)[0x76b398363799]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x160676)[0x76b398360676]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x15fc38)[0x76b39835fc38]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x15f547)[0x76b39835f547]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x169003)[0x76b398369003]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x163274)[0x76b398363274]
### recursed 2 times

/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x160676)[0x76b398360676]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x15fc38)[0x76b39835fc38]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x15f547)[0x76b39835f547]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x13d8b2)[0x76b39833d8b2]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1af6e1)[0x76b3983af6e1]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1cfe6e)[0x76b3983cfe6e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x161973)[0x76b398361973]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1607b0)[0x76b3983607b0]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x15fc38)[0x76b39835fc38]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x15c94f)[0x76b39835c94f]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x13d2dd)[0x76b39833d2dd]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x17179a)[0x76b39837179a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16fd91)[0x76b39836fd91]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1ceb2a)[0x76b3983ceb2a]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x186e7e)[0x76b398386e7e]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x180ead)[0x76b398380ead]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x16f829)[0x76b39836f829]
/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui_macros-6d6ea754fa2693f2.so(+0x1d7654)[0x76b3983d7654]

note: rustc unexpectedly overflowed its stack! this is a bug
note: maximum backtrace depth reached, frames may have been lost
note: we would appreciate a report at https://github.com/rust-lang/rust
help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
note: backtrace dumped due to SIGSEGV! resuming signal
error: could not compile `gpui_widgets` (lib test)

Caused by:
  process didn't exit successfully: `/home/clauses/.rustup/toolchains/1.87-x86_64-unknown-linux-gnu/bin/rustc --crate-name gpui_widgets --edition=2024 crates/gpui_notebook/widgets/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=129 --emit=dep-info,link -C embed-bitcode=no -C codegen-units=16 -C debuginfo=2 -C split-debuginfo=unpacked '--allow=clippy::style' --allow=unexpected_cfgs '--allow=clippy::type_complexity' '--allow=clippy::too_many_arguments' '--deny=clippy::todo' '--allow=clippy::single_range_in_vec_init' '--allow=clippy::should_implement_trait' '--deny=clippy::redundant_closure' '--deny=clippy::question_mark' '--allow=clippy::new_ret_no_self' '--deny=clippy::module_inception' '--allow=clippy::let_underscore_future' '--allow=clippy::large_enum_variant' '--deny=clippy::dbg_macro' --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=0974910dfcf52f82 -C extra-filename=-e4ad5dffc5366bfd --out-dir /home/clauses/RemoteProjects/zed/target/debug/deps -C linker=clang -C incremental=/home/clauses/RemoteProjects/zed/target/debug/incremental -L dependency=/home/clauses/RemoteProjects/zed/target/debug/deps --extern anyhow=/home/clauses/RemoteProjects/zed/target/debug/deps/libanyhow-fe5814bda3b7446f.rlib --extern gpui=/home/clauses/RemoteProjects/zed/target/debug/deps/libgpui-2800a04d6b8c5702.rlib --extern log=/home/clauses/RemoteProjects/zed/target/debug/deps/liblog-4ac5ba43f3886f25.rlib --extern serde=/home/clauses/RemoteProjects/zed/target/debug/deps/libserde-42f90344f5b45277.rlib --extern serde_json=/home/clauses/RemoteProjects/zed/target/debug/deps/libserde_json-4ff1ecb53804b91f.rlib --extern tokio=/home/clauses/RemoteProjects/zed/target/debug/deps/libtokio-674e157f7b7b4a39.rlib -C link-arg=-fuse-ld=mold -L native=/home/clauses/RemoteProjects/zed/target/debug/build/aws-lc-sys-fc64e79a83f1e0af/out -L native=/home/clauses/RemoteProjects/zed/target/debug/build/ring-af128f452440e734/out -L native=/home/clauses/RemoteProjects/zed/target/debug/build/libsqlite3-sys-14655fbc9854d527/out -L native=/home/clauses/RemoteProjects/zed/target/debug/build/wasmtime-201f7cf12e2769b0/out -L native=/home/clauses/RemoteProjects/zed/target/debug/build/freetype-sys-1b3bdfb46d0d9873/out -L native=/usr/lib/x86_64-linux-gnu -L native=/home/clauses/RemoteProjects/zed/target/debug/build/libgit2-sys-3b47cb738acd96e6/out/build` (signal: 11, SIGSEGV: invalid memory reference)
```</details>

@petrochenkov
Copy link
Contributor

petrochenkov commented Jun 24, 2025

There are a few dozens of targeted uses of ensure_sufficient_stack in the compiler that make sure that recursive logic doesn't overflow the stack.
Figuring out which exactly recursion causes the overflow in gpui may help fixing it in the compiler by adding one more ensure_sufficient_stack call.

@WaffleLapkin WaffleLapkin removed their assignment Jun 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. 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.

4 participants