]> git.proxmox.com Git - rustc.git/blame - src/test/run-pass/out-pointer-aliasing.rs
New upstream version 1.33.0+dfsg1
[rustc.git] / src / test / run-pass / out-pointer-aliasing.rs
CommitLineData
c34b1796 1#[derive(Copy, Clone)]
1a4d82fc 2pub struct Foo {
c34b1796
AL
3 f1: isize,
4 _f2: isize,
223e47cc
LB
5}
6
1a4d82fc
JJ
7#[inline(never)]
8pub fn foo(f: &mut Foo) -> Foo {
9 let ret = *f;
10 f.f1 = 0;
11 ret
223e47cc
LB
12}
13
14pub fn main() {
1a4d82fc
JJ
15 let mut f = Foo {
16 f1: 8,
17 _f2: 9,
223e47cc 18 };
1a4d82fc
JJ
19 f = foo(&mut f);
20 assert_eq!(f.f1, 8);
223e47cc 21}