Na przykład:Dlaczego mogę używać Ok i Err bezpośrednio bez przedrostka Result ::?
enum Foobar {
Foo(i32),
Bar(i32),
}
fn main() {
let a: Result<i32, i32> = Result::Ok(1);
let b: Result<i32, i32> = Ok(1);
let c: Foobar = Foobar::Foo(1);
let d: Foobar = Foo(1); // Error!
}
muszę napisać Foobar::Foo()
zamiast tylko Foo()
, ale mogę tylko napisać Ok()
bez Result::
. Dlaczego? Mam takie samo pytanie dla Some
i None
.