You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: main.rs
    path of file: ./repos/rust-bible/part1/my-mod/src
    
    the code of the file until where you have to start completion: mod back_of_house {
    // 如果我们在一个结构体定义的前面使用了 pub ，这个结构体会变成公有的，
    // 但是这个结构体的字段仍然是私有的。我们可以根据情况决定每个字段是否公有。
    pub struct BreakFast {
        pub toast: String, // 表示这个字段是公开的
        fruit: String,     // 私有字段
    }

    impl BreakFast {
        pub fn new(toast: &str) -> Self {
            Self {
                toast: String::from(toast),
                fruit: String::
    
fn main() {
    println!("Hello, world!");
    let b = back_of_house::BreakFast::new("hello"); // 调用模块上的结构体方法
    println!("{}", b.toast);
    // println!("{}", b.fruit); // ^^^^^ private field
    println!("fruit: {}", b.get_fruit());
    println!("fruit: {}", b.get_fruit());
    println!("toast: {}", b.toast);
    println!("enum:{:?}", back_of_house::Appetizer::Salad);

    // 调用通过use 方式引入的crate mod
    println!("========call hosting mod func======");
    hosting::say("daheige");
    hosting::say("rust");
    say("rust123");

    // 调用标准库
    // 注意标准库（std）对于你的包来说也是外部 crate。
    // 因为标准库随 Rust 语言一同分发，无需修改 Cargo.toml 来引入 std，
    // 不过需要通过 use 将标准库中定义的项引入项目包的作用域中来引用它们
    let mut m = HashMap::new();
    m.insert(1, 2);
    println!("{}", m.get(&1).unwrap());

    // 调用外部crate mod
    // crates.io 上有很多 Rust 社区成员发布的包，将其引入你自己的项目都需要一道相同的步骤：
    // 在 Cargo.toml 列出它们并通过 use 将其中定义的项引入项目包的作用域中。
    let rnd: i64 = rand::thread_rng().gen_range(1..101);
    println!("rnd:{}", rnd);
}