use core::nonzero::NonZero;
use std::os::raw::c_void;
type Foo = NonZero<*const c_void>;
// warning: private type in public interface
pub type Bar = Foo;
// warning: private type in public interface
pub type Baz = Foo;
Saya juga mencoba pub use
ing NonZero
dan c_void
tetapi itu tidak membantu, jadi bukan tipe itu sendiri yang menjadi masalah. Tampaknya aneh bahwa Rust akan mengeluh tentang perilaku ini ketika, misalnya, pesan kesalahan tidak mengetahui alias. Bahkan jika ya, akan sepele untuk menyelesaikan alias pribadi ke tipe publik yang mereka definisikan, jadi saya tidak bisa melihat kegunaan dari pelarangan ini.
rustc --version --verbose
saya :
rustc 1.11.0-nightly (6b4511755 2016-06-14)
binary: rustc
commit-hash: 6b4511755cfe63a46f2db8c72145e07f94911c08
commit-date: 2016-06-14
host: x86_64-unknown-linux-gnu
release: 1.11.0-nightly
Ada masalah tentang ini (https://github.com/rust-lang/rust/issues/30503) dan PR memperbaikinya (https://github.com/rust-lang/rust/pull/34193).
Ini dapat diterapkan lebih dari setengah tahun yang lalu, hanya saja pengambilan keputusan terkadang sangat lambat untuk fitur sekunder yang tidak diprioritaskan.
Komentar yang paling membantu
Ada masalah tentang ini (https://github.com/rust-lang/rust/issues/30503) dan PR memperbaikinya (https://github.com/rust-lang/rust/pull/34193).
Ini dapat diterapkan lebih dari setengah tahun yang lalu, hanya saja pengambilan keputusan terkadang sangat lambat untuk fitur sekunder yang tidak diprioritaskan.