aboutsummaryrefslogtreecommitdiff
path: root/tests/ui/pin_project/visibility.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/pin_project/visibility.rs')
-rw-r--r--tests/ui/pin_project/visibility.rs61
1 files changed, 14 insertions, 47 deletions
diff --git a/tests/ui/pin_project/visibility.rs b/tests/ui/pin_project/visibility.rs
index 01c0831..fdff5a6 100644
--- a/tests/ui/pin_project/visibility.rs
+++ b/tests/ui/pin_project/visibility.rs
@@ -1,23 +1,26 @@
+/// Only named projected types can be imported.
+/// See import_unnamed.rs for unnamed projected types.
+
mod pub_ {
use pin_project::pin_project;
- #[pin_project]
+ #[pin_project(project = DProj, project_ref = DProjRef)]
pub struct Default(());
- #[pin_project(project_replace)]
+ #[pin_project(project = RProj, project_ref = RProjRef, project_replace = RProjOwn)]
pub struct Replace(());
}
pub mod pub_use {
#[rustfmt::skip]
- pub use crate::pub_::__DefaultProjection; //~ ERROR E0365
+ pub use crate::pub_::DProj; //~ ERROR E0365
#[rustfmt::skip]
- pub use crate::pub_::__DefaultProjectionRef; //~ ERROR E0365
+ pub use crate::pub_::DProjRef; //~ ERROR E0365
#[rustfmt::skip]
- pub use crate::pub_::__ReplaceProjection; //~ ERROR E0365
+ pub use crate::pub_::RProj; //~ ERROR E0365
#[rustfmt::skip]
- pub use crate::pub_::__ReplaceProjectionOwned; //~ ERROR E0365
+ pub use crate::pub_::RProjOwn; //~ ERROR E0365
#[rustfmt::skip]
- pub use crate::pub_::__ReplaceProjectionRef; //~ ERROR E0365
+ pub use crate::pub_::RProjRef; //~ ERROR E0365
// Confirm that the visibility of the original type is not changed.
pub use crate::pub_::{Default, Replace};
@@ -25,58 +28,22 @@ pub mod pub_use {
pub mod pub_use2 {
// Ok
#[allow(unused_imports)]
- pub(crate) use crate::pub_::{
- __DefaultProjection, __DefaultProjectionRef, __ReplaceProjection, __ReplaceProjectionOwned,
- __ReplaceProjectionRef,
- };
+ pub(crate) use crate::pub_::{DProj, DProjRef, RProj, RProjOwn, RProjRef};
}
mod pub_crate {
use pin_project::pin_project;
- #[pin_project]
+ #[pin_project(project = DProj, project_ref = DProjRef)]
pub(crate) struct Default(());
- #[pin_project(project_replace)]
+ #[pin_project(project = RProj, project_ref = RProjRef, project_replace = RProjOwn)]
pub(crate) struct Replace(());
}
pub mod pub_crate_use {
// Ok
#[allow(unused_imports)]
- pub(crate) use crate::pub_crate::{
- __DefaultProjection, __DefaultProjectionRef, __ReplaceProjection, __ReplaceProjectionOwned,
- __ReplaceProjectionRef,
- };
-}
-
-mod pub_renamed {
- use pin_project::pin_project;
-
- #[pin_project(project = DProj, project_ref = DProjRef)]
- pub struct Default(());
-
- #[pin_project(project = RProj, project_ref = RProjRef, project_replace = RProjOwn)]
- pub struct Replace(());
-}
-pub mod pub_renamed_use {
- #[rustfmt::skip]
- pub use crate::pub_renamed::DProj; //~ ERROR E0365
- #[rustfmt::skip]
- pub use crate::pub_renamed::DProjRef; //~ ERROR E0365
- #[rustfmt::skip]
- pub use crate::pub_renamed::RProj; //~ ERROR E0365
- #[rustfmt::skip]
- pub use crate::pub_renamed::RProjOwn; //~ ERROR E0365
- #[rustfmt::skip]
- pub use crate::pub_renamed::RProjRef; //~ ERROR E0365
-
- // Confirm that the visibility of the original type is not changed.
- pub use crate::pub_renamed::{Default, Replace};
-}
-pub mod pub_renamed_use2 {
- // Ok
- #[allow(unused_imports)]
- pub(crate) use crate::pub_renamed::{DProj, DProjRef, RProj, RProjOwn, RProjRef};
+ pub(crate) use crate::pub_crate::{DProj, DProjRef, RProj, RProjOwn, RProjRef};
}
fn main() {}