rust中use rand::Rng后为什么可以直接在函数中使用rand?

在rust教程中有一个猜随机数的示例:
use std::io;
use rand::Rng;

fn main() {
println!("Guess the number!");

let secret_number = rand::thread_rng().gen_range(1..101);

……
其中通过use引入了rand::Rng,但并未引入rand,为什么在代码中还是可以使用rand::thread_rng()函数?

use rand::Rng;
这个就是引入了rand。
你也可以加一个

use rand::thread_rng;

使用的时候,可以直接用thread_rng()函数。

let secret_number = thread_rng().gen_range(1..101);