No, you were right. extern_mod_str is an extern crate expression. crate_str just defines the name of the current crate. external_crate records the name of another crate referenced from this one and the crate num it got inside this crate.