about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-12-30 14:52:50 +0000
committerbors <bors@rust-lang.org>2021-12-30 14:52:50 +0000
commitb60e32c82864d841e87359333af1e6d1f9cff9ee (patch)
tree2b87169833d19bc32c9c6b9dcf8ce682e58b68b7 /src
parentf8d4ee7c7adcea52dfc62328309f5ef7df000266 (diff)
parentc10fe04484e90ef32b5b8b9b9428a45fd6a8bb77 (diff)
Auto merge of #92434 - matthiaskrgr:rollup-m8wuq0v, r=matthiaskrgr
Rollup of 4 pull requests

Successful merges:

 - #91519 (ast: Avoid aborts on fatal errors thrown from mutable AST visitor)
 - #92414 (Fix spacing of pretty printed const item without body)
 - #92423 (Add UI test for #92292)
 - #92427 (Use `UnsafeCell::get_mut()` in `core::lazy::OnceCell::get_mut()`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'src')
-rw-r--r--src/test/pretty/nested-item-vis-defaultness.rs20
-rw-r--r--src/test/ui/macros/stringify.rs6
-rw-r--r--src/test/ui/traits/issue-92292.rs32
3 files changed, 45 insertions, 13 deletions
diff --git a/src/test/pretty/nested-item-vis-defaultness.rs b/src/test/pretty/nested-item-vis-defaultness.rs
index f46c0e3f1bc..b094ba577db 100644
--- a/src/test/pretty/nested-item-vis-defaultness.rs
+++ b/src/test/pretty/nested-item-vis-defaultness.rs
@@ -6,42 +6,42 @@ fn main() {}
 
 #[cfg(FALSE)]
 extern "C" {
-    static X: u8 ;
+    static X: u8;
     type X;
     fn foo();
-    pub static X: u8 ;
+    pub static X: u8;
     pub type X;
     pub fn foo();
 }
 
 #[cfg(FALSE)]
 trait T {
-    const X: u8 ;
+    const X: u8;
     type X;
     fn foo();
-    default const X: u8 ;
+    default const X: u8;
     default type X;
     default fn foo();
-    pub const X: u8 ;
+    pub const X: u8;
     pub type X;
     pub fn foo();
-    pub default const X: u8 ;
+    pub default const X: u8;
     pub default type X;
     pub default fn foo();
 }
 
 #[cfg(FALSE)]
 impl T for S {
-    const X: u8 ;
+    const X: u8;
     type X;
     fn foo();
-    default const X: u8 ;
+    default const X: u8;
     default type X;
     default fn foo();
-    pub const X: u8 ;
+    pub const X: u8;
     pub type X;
     pub fn foo();
-    pub default const X: u8 ;
+    pub default const X: u8;
     pub default type X;
     pub default fn foo();
 }
diff --git a/src/test/ui/macros/stringify.rs b/src/test/ui/macros/stringify.rs
index 90bc7dc1da2..7d1c05a85bc 100644
--- a/src/test/ui/macros/stringify.rs
+++ b/src/test/ui/macros/stringify.rs
@@ -382,13 +382,13 @@ fn test_item() {
         stringify_item!(
             static S: ();
         ),
-        "static S: () ;", // FIXME
+        "static S: ();",
     );
     assert_eq!(
         stringify_item!(
             static mut S: ();
         ),
-        "static mut S: () ;",
+        "static mut S: ();",
     );
 
     // ItemKind::Const
@@ -402,7 +402,7 @@ fn test_item() {
         stringify_item!(
             const S: ();
         ),
-        "const S: () ;", // FIXME
+        "const S: ();",
     );
 
     // ItemKind::Fn
diff --git a/src/test/ui/traits/issue-92292.rs b/src/test/ui/traits/issue-92292.rs
new file mode 100644
index 00000000000..bb3700a2b5e
--- /dev/null
+++ b/src/test/ui/traits/issue-92292.rs
@@ -0,0 +1,32 @@
+// check-pass
+
+use std::marker::PhantomData;
+
+pub struct MyGenericType<T> {
+    _marker: PhantomData<*const T>,
+}
+
+pub struct MyNonGenericType;
+
+impl<T> From<MyGenericType<T>> for MyNonGenericType {
+    fn from(_: MyGenericType<T>) -> Self {
+        todo!()
+    }
+}
+
+pub trait MyTrait {
+    const MY_CONSTANT: i32;
+}
+
+impl<T> MyTrait for MyGenericType<T>
+where
+    Self: Into<MyNonGenericType>,
+{
+    const MY_CONSTANT: i32 = 1;
+}
+
+impl<T> MyGenericType<T> {
+    const MY_OTHER_CONSTANT: i32 = <MyGenericType<T> as MyTrait>::MY_CONSTANT;
+}
+
+fn main() {}