RustにはVoldemort types(ヴォルデモート型)と呼ばれるものがある。(lintの暫定的な名前はunnameable_types) 簡単に言うと、プライベートなモジュールの中で定義されているパブリックな型のこと。 mod m { // `m::super`の外でこの名前を使うことはできない pub struct Voldemort; } // 外部クレートは`m::Voldemort`にアクセスする手段がない // しかし、`Voldemort`は`pub`なので戻り値として返すことは可能 pub fn get_voldemort() -> m::Voldemort { m::Voldemort }