Rollup merge of #104266 - compiler-errors:issue-102430, r=Mark-Simulacrum
Regression test for coercion of mut-ref to dyn-star Closes #102430
This commit is contained in:
commit
cc96cdd696
1 changed files with 32 additions and 0 deletions
32
src/test/ui/dyn-star/issue-102430.rs
Normal file
32
src/test/ui/dyn-star/issue-102430.rs
Normal file
|
@ -0,0 +1,32 @@
|
|||
// 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
|
||||
}
|
||||
}
|
||||
|
||||
impl AddOne for &mut usize {
|
||||
fn add1(&mut self) -> usize {
|
||||
(*self).add1()
|
||||
}
|
||||
}
|
||||
|
||||
fn add_one(mut i: dyn* AddOne + '_) -> usize {
|
||||
i.add1()
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let mut x = 42usize;
|
||||
let y = &mut x as (dyn* AddOne + '_);
|
||||
|
||||
println!("{}", add_one(y));
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue