typestar

use, as y reexportaciones en Rust

Traer nombres al alcance, renombrar choques y reexportar una API.

mod store {
    pub mod inner {
        pub struct Row(pub u32);
    }
    pub use inner::Row;

    pub fn make() -> Row {
        Row(7)
    }
}

mod client {
    use super::store::{self, Row};

    pub fn read() -> u32 {
        let row: Row = store::make();
        row.0
    }
}

use std::collections::HashMap as Table;

fn main() {
    println!("{}", client::read());
    let mut t: Table<&str, u32> = Table::new();
    t.insert("rows", client::read());
    println!("{:?}", t);
}

Cómo funciona

  1. use acorta una ruta; as la renombra.
  2. super:: se refiere al módulo padre.
  3. pub use reexporta, aplanando un árbol interno.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
28
Caracteres a escribir
405
Tokens
145
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 87 segundos.

Escribe este fragmento

Paso 2 de 3 en Módulos y visibilidad; paso 2 de 12 en Módulos, pruebas y macros.

← Anterior Siguiente →