2015-04-14 05:49:26 -05:00
|
|
|
// Regression test for #24356
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
{
|
|
|
|
use std::ops::Deref;
|
|
|
|
|
|
|
|
struct Thing(i8);
|
|
|
|
|
|
|
|
/*
|
|
|
|
// Correct impl
|
|
|
|
impl Deref for Thing {
|
|
|
|
type Target = i8;
|
|
|
|
fn deref(&self) -> &i8 { &self.0 }
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
|
|
|
|
// Causes ICE
|
|
|
|
impl Deref for Thing {
|
2016-08-04 23:21:24 -05:00
|
|
|
//~^ ERROR E0046
|
2015-04-14 05:49:26 -05:00
|
|
|
fn deref(&self) -> i8 { self.0 }
|
|
|
|
}
|
|
|
|
|
|
|
|
let thing = Thing(72);
|
|
|
|
|
|
|
|
*thing
|
|
|
|
};
|
|
|
|
}
|