Rollup merge of #24321 - lstat:16602-needstest, r=pnkfelix

Closes #16602
This commit is contained in:
Manish Goregaokar 2015-04-12 18:46:14 +05:30
commit 882185ecd5
3 changed files with 70 additions and 0 deletions

View File

@ -0,0 +1,15 @@
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
fn main() {
let mut t = [1; 2];
t = [t[1] * 2, t[0] * 2];
assert_eq!(&t[..], &[2, 2]);
}

View File

@ -0,0 +1,21 @@
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
struct A {
pub x: u32,
pub y: u32,
}
fn main() {
let mut a = A { x: 1, y: 1 };
a = A { x: a.y * 2, y: a.x * 2 };
assert_eq!(a.x, 2);
assert_eq!(a.y, 2);
}

View File

@ -0,0 +1,34 @@
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#[derive(Debug)]
enum Foo {
Bar(u32, u32),
Baz(&'static u32, &'static u32)
}
static NUM: u32 = 100;
fn main () {
let mut b = Foo::Baz(&NUM, &NUM);
b = Foo::Bar(f(&b), g(&b));
}
static FNUM: u32 = 1;
fn f (b: &Foo) -> u32 {
FNUM
}
static GNUM: u32 = 2;
fn g (b: &Foo) -> u32 {
GNUM
}