| #![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 | |
| //~| ERROR constant expression depends on a generic parameter | |
| } | |
| } | |
| fn main() {} |