mirror of
https://github.com/rust-lang/rust.git
synced 2026-06-02 15:56:09 +03:00
Rollup merge of #98701 - TaKO8Ki:add-regression-test-for-50439, r=Mark-Simulacrum
Add regression test for #50439 closes #50439
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
#![feature(specialization)]
|
||||
#![allow(incomplete_features)]
|
||||
|
||||
pub trait ReflectDrop {
|
||||
const REFLECT_DROP: bool = false;
|
||||
}
|
||||
|
||||
impl<T> ReflectDrop for T where T: Clone {}
|
||||
|
||||
pub trait PinDropInternal {
|
||||
fn is_valid()
|
||||
where
|
||||
Self: ReflectDrop;
|
||||
}
|
||||
|
||||
struct Bears<T>(T);
|
||||
|
||||
default impl<T> ReflectDrop for Bears<T> {}
|
||||
|
||||
impl<T: Sized> PinDropInternal for Bears<T> {
|
||||
fn is_valid()
|
||||
where
|
||||
Self: ReflectDrop,
|
||||
{
|
||||
let _ = [(); 0 - !!(<Bears<T> as ReflectDrop>::REFLECT_DROP) as usize]; //~ ERROR constant expression depends on a generic parameter
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,10 @@
|
||||
error: constant expression depends on a generic parameter
|
||||
--> $DIR/issue-50439.rs:25:22
|
||||
|
|
||||
LL | let _ = [(); 0 - !!(<Bears<T> as ReflectDrop>::REFLECT_DROP) as usize];
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this may fail depending on what value the parameter takes
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
Reference in New Issue
Block a user