blob: 2dc818a7015b20d7351fe652e333dd18825eb448 [file]
#![feature(reborrow)]
use std::marker::{CoerceShared, PhantomData, Reborrow};
struct GenericMut<'a, T, U> {
value: &'a mut T,
marker: PhantomData<U>,
}
impl<'a, T, U> Reborrow for GenericMut<'a, T, U> {}
#[derive(Clone, Copy)]
struct GenericRef<'a, T, U> {
value: &'a U,
marker: PhantomData<T>,
}
impl<'a, T, U> CoerceShared<GenericRef<'a, T, U>> for GenericMut<'a, T, U> {}
//~^ ERROR
fn main() {}