Skip to content

Confusing error message when using re-exported struct [E0423] #133343

@PitiBouchon

Description

@PitiBouchon

Code

pub use my_mod::MyStruct; // this pub use is causing the problem

mod my_mod {
    #[derive(Debug)]
    pub struct MyStruct(u32);

    mod my_sub_mod {
        use crate::MyStruct; // import the rexported struct

        fn my_func() {
            let s = MyStruct(42);
            println!("MyStruct: {:?}", s);
        }
    }
}

Current output

error[E0423]: expected function, tuple struct or tuple variant, found struct `MyStruct`
  --> src/lib.rs:11:21
   |
11 |             let s = MyStruct(42);
   |                     ^^^^^^^^

For more information about this error, try `rustc --explain E0423`.

Desired output

Either having no error or the error saying the import is bad

Rust Version

rustc 1.81.0

Anything else?

This is a really confusing message that is not helping

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-diagnosticsArea: Messages for errors, warnings, and lintsT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions