Don't CoerceUnsized dyn* to dyn*
This commit is contained in:
parent
0af211af67
commit
6e6c49e7ce
3 changed files with 28 additions and 2 deletions
26
src/test/ui/dyn-star/dont-unsize-coerce-dyn-star.rs
Normal file
26
src/test/ui/dyn-star/dont-unsize-coerce-dyn-star.rs
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
// check-pass
|
||||
|
||||
#![feature(dyn_star)]
|
||||
#![allow(incomplete_features)]
|
||||
|
||||
trait AddOne {
|
||||
fn add1(&mut self) -> usize;
|
||||
}
|
||||
|
||||
impl AddOne for usize {
|
||||
fn add1(&mut self) -> usize {
|
||||
*self += 1;
|
||||
*self
|
||||
}
|
||||
}
|
||||
|
||||
fn add_one(i: &mut (dyn* AddOne + '_)) -> usize {
|
||||
i.add1()
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let mut x = 42usize as dyn* AddOne;
|
||||
|
||||
println!("{}", add_one(&mut x));
|
||||
println!("{}", add_one(&mut x));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue