Skip to content

save-analysis doesn't dump information about glob imports #33213

Closed
@aochagavia

Description

@aochagavia

Running rustc foo.rs -Z save-analysis on the following code:

use self::foo::*;
mod foo {
    pub struct Bar;
    pub enum Baz {}
}

fn new_bar() -> Bar { Bar }
fn new_baz() -> Baz { panic!() }
fn main() {}

The output is:

crate,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,1,file_col,0,extent_start,0,extent_start_bytes,0,file_line_end,9,file_col_end,11,extent_end,151,extent_end_bytes,151,name,"globs1",crate_root,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code"
external_crate,name,"alloc",crate,"5",file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs"
external_crate,name,"libc",crate,"7",file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs"
external_crate,name,"std",crate,"1",file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs"
external_crate,name,"collections",crate,"3",file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs"
external_crate,name,"rustc_unicode",crate,"4",file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs"
external_crate,name,"rand",crate,"6",file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs"
external_crate,name,"core",crate,"2",file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs"
external_crate,name,"alloc_system",crate,"8",file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs"
end_external_crates
mod_ref,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,1,file_col,4,extent_start,4,extent_start_bytes,4,file_line_end,1,file_col_end,8,extent_end,8,extent_end_bytes,8,refid,"0",refidcrate,"0",qualname,"::self",scopeid,"0"
mod_ref,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,1,file_col,10,extent_start,10,extent_start_bytes,10,file_line_end,1,file_col_end,13,extent_end,13,extent_end_bytes,13,refid,"0",refidcrate,"0",qualname,"self::foo",scopeid,"0"
module,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,2,file_col,4,extent_start,23,extent_start_bytes,23,file_line_end,2,file_col_end,7,extent_end,26,extent_end_bytes,26,id,"5",qualname,"::foo",scopeid,"0",def_file,"globs1.rs"
struct,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,3,file_col,15,extent_start,45,extent_start_bytes,45,file_line_end,3,file_col_end,18,extent_end,48,extent_end_bytes,48,id,"7",ctor_id,"8",qualname,"::foo::Bar",scopeid,"5",value,"pub struct Bar;"
enum,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,4,file_col,13,extent_start,64,extent_start_bytes,64,file_line_end,4,file_col_end,16,extent_end,67,extent_end_bytes,67,id,"9",qualname,"::foo::Baz",scopeid,"5",value,"pub enum Baz {}"
function,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,7,file_col,3,extent_start,80,extent_start_bytes,80,file_line_end,7,file_col_end,10,extent_end,87,extent_end_bytes,87,id,"10",qualname,"::new_bar",declid,"",declidcrate,"",scopeid,"0"
type_ref,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,7,file_col,16,extent_start,93,extent_start_bytes,93,file_line_end,7,file_col_end,19,extent_end,96,extent_end_bytes,96,refid,"7",refidcrate,"0",qualname,"",scopeid,"0"
type_ref,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,7,file_col,22,extent_start,99,extent_start_bytes,99,file_line_end,7,file_col_end,25,extent_end,102,extent_end_bytes,102,refid,"8",refidcrate,"0",qualname,"",scopeid,"29"
function,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,8,file_col,3,extent_start,109,extent_start_bytes,109,file_line_end,8,file_col_end,10,extent_end,116,extent_end_bytes,116,id,"11",qualname,"::new_baz",declid,"",declidcrate,"",scopeid,"0"
type_ref,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,8,file_col,16,extent_start,122,extent_start_bytes,122,file_line_end,8,file_col_end,19,extent_end,125,extent_end_bytes,125,refid,"9",refidcrate,"0",qualname,"",scopeid,"0"
macro_use,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,8,file_col,22,extent_start,128,extent_start_bytes,128,file_line_end,8,file_col_end,27,extent_end,133,extent_end_bytes,133,callee_name,"panic",qualname,"panic::10335926828616349768",scopeid,"34"
function,file_name,"D:\Computer Science\Thesis\rrt\components\compiler\tests\code\globs1.rs",file_line,9,file_col,3,extent_start,143,extent_start_bytes,143,file_line_end,9,file_col_end,7,extent_end,147,extent_end_bytes,147,id,"13",qualname,"::main",declid,"",declidcrate,"",scopeid,"0"

I would expect a line containing information about the imports inserted by the compiler, namely self::foo::Bar and self::foo::Baz. This used to work in the past.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions