// -*- rust -*-
type rect = rec(int x, int y, int w, int h);
fn f(rect r, int x, int y, int w, int h) {
  check (r.x == x);
  check (r.y == y);
  check (r.w == w);
  check (r.h == h);
}
fn main() {
  let rect r = rec(x=10, y=20, w=100, h=200);
  check (r.x == 10);
  check (r.y == 20);
  check (r.w == 100);
  check (r.h == 200);
  let rect r2 = r;
  let int x = r2.x;
  check (x == 10);
  f(r, 10, 20, 100, 200);
  f(r2, 10, 20, 100, 200);
}
// -*- rust -*-
type rect = rec(int x, int y, int w, int h);
fn f(rect r, int x, int y, int w, int h) {
  assert (r.x == x);
  assert (r.y == y);
  assert (r.w == w);
  assert (r.h == h);
}
fn main() {
  let rect r = rec(x=10, y=20, w=100, h=200);
  assert (r.x == 10);
  assert (r.y == 20);
  assert (r.w == 100);
  assert (r.h == 200);
  let rect r2 = r;
  let int x = r2.x;
  assert (x == 10);
  f(r, 10, 20, 100, 200);
  f(r2, 10, 20, 100, 200);
}
// -*- rust -*-
type rect = rec(int x, int y, int w, int h);
fn f(rect r, int x, int y, int w, int h) {
  check (r.x == x);
  check (r.y == y);
  check (r.w == w);
  check (r.h == h);
}
fn main() {
  let rect r = rec(x=10, y=20, w=100, h=200);
  check (r.x == 10);
  check (r.y == 20);
  check (r.w == 100);
  check (r.h == 200);
  let rect r2 = r;
  let int x = r2.x;
  check (x == 10);
  f(r, 10, 20, 100, 200);
  f(r2, 10, 20, 100, 200);
}
// -*- rust -*-
type rect = rec(int x, int y, int w, int h);
fn f(rect r, int x, int y, int w, int h) {
  assert (r.x == x);
  assert (r.y == y);
  assert (r.w == w);
  assert (r.h == h);
}
fn main() {
  let rect r = rec(x=10, y=20, w=100, h=200);
  assert (r.x == 10);
  assert (r.y == 20);
  assert (r.w == 100);
  assert (r.h == 200);
  let rect r2 = r;
  let int x = r2.x;
  assert (x == 10);
  f(r, 10, 20, 100, 200);
  f(r2, 10, 20, 100, 200);
}
// -*- rust -*-
type rect = rec(int x, int y, int w, int h);
fn f(rect r, int x, int y, int w, int h) {
    assert (r.x == x);
    assert (r.y == y);
    assert (r.w == w);
    assert (r.h == h);
}
fn main() {
    let rect r = rec(x=10, y=20, w=100, h=200);
    assert (r.x == 10);
    assert (r.y == 20);
    assert (r.w == 100);
    assert (r.h == 200);
    let rect r2 = r;
    let int x = r2.x;
    assert (x == 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// -*- rust -*-
type rect = {x: int, y: int, w: int, h: int};
fn f(r: rect, x: int, y: int, w: int, h: int) {
    assert (r.x == x);
    assert (r.y == y);
    assert (r.w == w);
    assert (r.h == h);
}
fn main() {
    let r: rect = {x: 10, y: 20, w: 100, h: 200};
    assert (r.x == 10);
    assert (r.y == 20);
    assert (r.w == 100);
    assert (r.h == 200);
    let r2: rect = r;
    let x: int = r2.x;
    assert (x == 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// -*- rust -*-
type rect = {x: int, y: int, w: int, h: int};
fn f(r: rect, x: int, y: int, w: int, h: int) {
    assert (r.x == x);
    assert (r.y == y);
    assert (r.w == w);
    assert (r.h == h);
}
fn main() {
    let r: rect = {x: 10, y: 20, w: 100, h: 200};
    assert (r.x == 10);
    assert (r.y == 20);
    assert (r.w == 100);
    assert (r.h == 200);
    let r2: rect = r;
    let x: int = r2.x;
    assert (x == 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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.
// -*- rust -*-
type rect = {x: int, y: int, w: int, h: int};
fn f(r: rect, x: int, y: int, w: int, h: int) {
    assert (r.x == x);
    assert (r.y == y);
    assert (r.w == w);
    assert (r.h == h);
}
fn main() {
    let r: rect = {x: 10, y: 20, w: 100, h: 200};
    assert (r.x == 10);
    assert (r.y == 20);
    assert (r.w == 100);
    assert (r.h == 200);
    let r2: rect = r;
    let x: int = r2.x;
    assert (x == 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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.
// -*- rust -*-
struct Rect {x: int, y: int, w: int, h: int}
fn f(r: Rect, x: int, y: int, w: int, h: int) {
    assert (r.x == x);
    assert (r.y == y);
    assert (r.w == w);
    assert (r.h == h);
}
fn main() {
    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
    assert (r.x == 10);
    assert (r.y == 20);
    assert (r.w == 100);
    assert (r.h == 200);
    let r2: Rect = r;
    let x: int = r2.x;
    assert (x == 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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.
// -*- rust -*-
struct Rect {x: int, y: int, w: int, h: int}
fn f(r: Rect, x: int, y: int, w: int, h: int) {
    assert (r.x == x);
    assert (r.y == y);
    assert (r.w == w);
    assert (r.h == h);
}
pub fn main() {
    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
    assert (r.x == 10);
    assert (r.y == 20);
    assert (r.w == 100);
    assert (r.h == 200);
    let r2: Rect = r;
    let x: int = r2.x;
    assert (x == 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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.
// -*- rust -*-
struct Rect {x: int, y: int, w: int, h: int}
fn f(r: Rect, x: int, y: int, w: int, h: int) {
    fail_unless!((r.x == x));
    fail_unless!((r.y == y));
    fail_unless!((r.w == w));
    fail_unless!((r.h == h));
}
pub fn main() {
    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
    fail_unless!((r.x == 10));
    fail_unless!((r.y == 20));
    fail_unless!((r.w == 100));
    fail_unless!((r.h == 200));
    let r2: Rect = r;
    let x: int = r2.x;
    fail_unless!((x == 10));
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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.
// -*- rust -*-
struct Rect {x: int, y: int, w: int, h: int}
fn f(r: Rect, x: int, y: int, w: int, h: int) {
    assert!((r.x == x));
    assert!((r.y == y));
    assert!((r.w == w));
    assert!((r.h == h));
}
pub fn main() {
    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
    assert!((r.x == 10));
    assert!((r.y == 20));
    assert!((r.w == 100));
    assert!((r.h == 200));
    let r2: Rect = r;
    let x: int = r2.x;
    assert!((x == 10));
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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.
// -*- rust -*-
struct Rect {x: int, y: int, w: int, h: int}
fn f(r: Rect, x: int, y: int, w: int, h: int) {
    assert_eq!(r.x, x);
    assert_eq!(r.y, y);
    assert_eq!(r.w, w);
    assert_eq!(r.h, h);
}
pub fn main() {
    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
    assert_eq!(r.x, 10);
    assert_eq!(r.y, 20);
    assert_eq!(r.w, 100);
    assert_eq!(r.h, 200);
    let r2: Rect = r;
    let x: int = r2.x;
    assert_eq!(x, 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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 Rect {x: int, y: int, w: int, h: int}
fn f(r: Rect, x: int, y: int, w: int, h: int) {
    assert_eq!(r.x, x);
    assert_eq!(r.y, y);
    assert_eq!(r.w, w);
    assert_eq!(r.h, h);
}
pub fn main() {
    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
    assert_eq!(r.x, 10);
    assert_eq!(r.y, 20);
    assert_eq!(r.w, 100);
    assert_eq!(r.h, 200);
    let r2: Rect = r;
    let x: int = r2.x;
    assert_eq!(x, 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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 Rect {x: int, y: int, w: int, h: int}
impl Copy for Rect {}
fn f(r: Rect, x: int, y: int, w: int, h: int) {
    assert_eq!(r.x, x);
    assert_eq!(r.y, y);
    assert_eq!(r.w, w);
    assert_eq!(r.h, h);
}
pub fn main() {
    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
    assert_eq!(r.x, 10);
    assert_eq!(r.y, 20);
    assert_eq!(r.w, 100);
    assert_eq!(r.h, 200);
    let r2: Rect = r;
    let x: int = r2.x;
    assert_eq!(x, 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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(Copy)]
struct Rect {x: int, y: int, w: int, h: int}
fn f(r: Rect, x: int, y: int, w: int, h: int) {
    assert_eq!(r.x, x);
    assert_eq!(r.y, y);
    assert_eq!(r.w, w);
    assert_eq!(r.h, h);
}
pub fn main() {
    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
    assert_eq!(r.x, 10);
    assert_eq!(r.y, 20);
    assert_eq!(r.w, 100);
    assert_eq!(r.h, 200);
    let r2: Rect = r;
    let x: int = r2.x;
    assert_eq!(x, 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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.
// pretty-expanded FIXME #23616
#[derive(Copy)]
struct Rect {x: int, y: int, w: int, h: int}
fn f(r: Rect, x: int, y: int, w: int, h: int) {
    assert_eq!(r.x, x);
    assert_eq!(r.y, y);
    assert_eq!(r.w, w);
    assert_eq!(r.h, h);
}
pub fn main() {
    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
    assert_eq!(r.x, 10);
    assert_eq!(r.y, 20);
    assert_eq!(r.w, 100);
    assert_eq!(r.h, 200);
    let r2: Rect = r;
    let x: int = r2.x;
    assert_eq!(x, 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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.
// pretty-expanded FIXME #23616
#[derive(Copy)]
struct Rect {x: isize, y: isize, w: isize, h: isize}
fn f(r: Rect, x: isize, y: isize, w: isize, h: isize) {
    assert_eq!(r.x, x);
    assert_eq!(r.y, y);
    assert_eq!(r.w, w);
    assert_eq!(r.h, h);
}
pub fn main() {
    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
    assert_eq!(r.x, 10);
    assert_eq!(r.y, 20);
    assert_eq!(r.w, 100);
    assert_eq!(r.h, 200);
    let r2: Rect = r;
    let x: isize = r2.x;
    assert_eq!(x, 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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.
// pretty-expanded FIXME #23616
#[derive(Copy, Clone)]
struct Rect {x: isize, y: isize, w: isize, h: isize}
fn f(r: Rect, x: isize, y: isize, w: isize, h: isize) {
    assert_eq!(r.x, x);
    assert_eq!(r.y, y);
    assert_eq!(r.w, w);
    assert_eq!(r.h, h);
}
pub fn main() {
    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
    assert_eq!(r.x, 10);
    assert_eq!(r.y, 20);
    assert_eq!(r.w, 100);
    assert_eq!(r.h, 200);
    let r2: Rect = r;
    let x: isize = r2.x;
    assert_eq!(x, 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}
// Copyright 2012 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(Copy, Clone)]
struct Rect {x: isize, y: isize, w: isize, h: isize}
fn f(r: Rect, x: isize, y: isize, w: isize, h: isize) {
    assert_eq!(r.x, x);
    assert_eq!(r.y, y);
    assert_eq!(r.w, w);
    assert_eq!(r.h, h);
}
pub fn main() {
    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
    assert_eq!(r.x, 10);
    assert_eq!(r.y, 20);
    assert_eq!(r.w, 100);
    assert_eq!(r.h, 200);
    let r2: Rect = r;
    let x: isize = r2.x;
    assert_eq!(x, 10);
    f(r, 10, 20, 100, 200);
    f(r2, 10, 20, 100, 200);
}