Extend test for const_mut_refs feature

This commit is contained in:
Christian Poveda 2019-11-23 15:00:14 -05:00
parent d92e9b7374
commit e31a1368fd

View File

@ -6,12 +6,31 @@ struct Foo {
x: usize
}
const fn bar(foo: &mut Foo) -> usize {
const fn foo() -> Foo {
Foo { x: 0 }
}
impl Foo {
const fn bar(&mut self) -> usize {
self.x = 1;
self.x
}
}
const fn baz(foo: &mut Foo) -> usize {
let x = &mut foo.x;
*x = 1;
*x = 2;
*x
}
fn main() {
let _: [(); bar(&mut Foo { x: 0 })] = [(); 1];
const fn bazz(foo: &mut Foo) -> usize {
foo.x = 3;
foo.x
}
fn main() {
let _: [(); foo().bar()] = [(); 1];
let _: [(); baz(&mut foo())] = [(); 2];
let _: [(); bazz(&mut foo())] = [(); 3];
}