Rust: Rust mengeluh tentang "tipe pribadi di antarmuka publik" meskipun tipe dan antarmuka keduanya alias.

Dibuat pada 16 Jun 2016  ·  1Komentar  ·  Sumber: rust-lang/rust

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

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.

>Semua komentar

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat