Suppose I use a crate, that defines a type (struct or enum) Foo, is there a difference between:
extern crate foo; pub type Bar = foo::Foo;
extern crate foo; pub use foo::Foo as Bar;
I’m aware that
use work differently for modules and generic types, but are they the same for simple types?
If not, in which one is preferred and why?
Also, why are there two very similar language features with such a different syntax?