Un extern crate x;
carica x
nello spazio dei nomi corrente. Le istruzioni use
sono percorsi assoluti a meno che non inizi con self::
, quindi se metti il tuo extern crate core;
in qualsiasi posto tranne la radice della cassa, allora devi specificare un percorso assoluto o usare self::
.
mod foo {
mod bar {
extern crate core;
use foo::bar::core::ops::Mul;
// or `use self::core::ops::Mul;`
// or even `use super::bar::core::ops::Mul;` if you’re mad
// but not `use core::ops::Mul;`.
}
}
... ma come regola generale, non si dovrebbe usare core
direttamente in ogni caso. Tutto il materiale stabile da esso è disponibile in std
che è incluso automaticamente.
fonte
2015-06-15 11:27:30
Perché non usare 'std :: ops :: Mul'? – mdup
@mdup perché il compilatore ha detto 'core' e questa è una parte super-non ovvia di Rust :-( – Shepmaster