diff options
| author | bors <bors@rust-lang.org> | 2021-12-30 14:52:50 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-12-30 14:52:50 +0000 |
| commit | b60e32c82864d841e87359333af1e6d1f9cff9ee (patch) | |
| tree | 2b87169833d19bc32c9c6b9dcf8ce682e58b68b7 /src | |
| parent | f8d4ee7c7adcea52dfc62328309f5ef7df000266 (diff) | |
| parent | c10fe04484e90ef32b5b8b9b9428a45fd6a8bb77 (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.rs | 20 | ||||
| -rw-r--r-- | src/test/ui/macros/stringify.rs | 6 | ||||
| -rw-r--r-- | src/test/ui/traits/issue-92292.rs | 32 |
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() {} |
