Fix enum variant/type name clashes

In rust master enum variants and types share the same namespace now. This
breaks the build due to `enum CompletionType { ..., Path }` vs `struct Path`
and `enum State{ ..., String}` vs `std::string::String`.