2018-07-28 10:34:52 -05:00
|
|
|
#![warn(clippy::all)]
|
2019-08-15 03:13:52 -05:00
|
|
|
#![allow(clippy::blacklisted_name, clippy::no_effect, redundant_semicolon, unused_assignments)]
|
2017-02-07 14:05:30 -06:00
|
|
|
|
|
|
|
struct Foo(u32);
|
|
|
|
|
2019-09-02 07:15:52 -05:00
|
|
|
#[derive(Clone)]
|
|
|
|
struct Bar {
|
|
|
|
a: u32,
|
|
|
|
b: u32,
|
|
|
|
}
|
|
|
|
|
|
|
|
fn field() {
|
|
|
|
let mut bar = Bar { a: 1, b: 2 };
|
|
|
|
|
|
|
|
let temp = bar.a;
|
|
|
|
bar.a = bar.b;
|
|
|
|
bar.b = temp;
|
|
|
|
|
|
|
|
let mut baz = vec![bar.clone(), bar.clone()];
|
|
|
|
let temp = baz[0].a;
|
|
|
|
baz[0].a = baz[1].a;
|
|
|
|
baz[1].a = temp;
|
|
|
|
}
|
|
|
|
|
2017-02-07 14:05:30 -06:00
|
|
|
fn array() {
|
|
|
|
let mut foo = [1, 2];
|
2017-02-08 07:58:07 -06:00
|
|
|
let temp = foo[0];
|
2017-02-07 14:05:30 -06:00
|
|
|
foo[0] = foo[1];
|
|
|
|
foo[1] = temp;
|
2017-02-08 07:58:07 -06:00
|
|
|
|
2017-02-07 14:05:30 -06:00
|
|
|
foo.swap(0, 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
fn slice() {
|
|
|
|
let foo = &mut [1, 2];
|
2017-02-08 07:58:07 -06:00
|
|
|
let temp = foo[0];
|
2017-02-07 14:05:30 -06:00
|
|
|
foo[0] = foo[1];
|
|
|
|
foo[1] = temp;
|
2017-02-08 07:58:07 -06:00
|
|
|
|
2017-02-07 14:05:30 -06:00
|
|
|
foo.swap(0, 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
fn vec() {
|
|
|
|
let mut foo = vec![1, 2];
|
2017-02-08 07:58:07 -06:00
|
|
|
let temp = foo[0];
|
2017-02-07 14:05:30 -06:00
|
|
|
foo[0] = foo[1];
|
|
|
|
foo[1] = temp;
|
2017-02-08 07:58:07 -06:00
|
|
|
|
2017-02-07 14:05:30 -06:00
|
|
|
foo.swap(0, 1);
|
|
|
|
}
|
|
|
|
|
2018-12-11 13:50:55 -06:00
|
|
|
#[rustfmt::skip]
|
2017-02-07 14:05:30 -06:00
|
|
|
fn main() {
|
2019-09-02 07:15:52 -05:00
|
|
|
field();
|
2017-02-07 14:05:30 -06:00
|
|
|
array();
|
|
|
|
slice();
|
|
|
|
vec();
|
|
|
|
|
|
|
|
let mut a = 42;
|
|
|
|
let mut b = 1337;
|
|
|
|
|
2017-02-08 07:58:07 -06:00
|
|
|
a = b;
|
2017-02-07 14:05:30 -06:00
|
|
|
b = a;
|
|
|
|
|
2018-12-11 13:50:55 -06:00
|
|
|
; let t = a;
|
2017-02-07 14:05:30 -06:00
|
|
|
a = b;
|
|
|
|
b = t;
|
2017-02-08 07:58:07 -06:00
|
|
|
|
2017-02-07 14:05:30 -06:00
|
|
|
let mut c = Foo(42);
|
|
|
|
|
2017-02-08 07:58:07 -06:00
|
|
|
c.0 = a;
|
2017-02-07 14:05:30 -06:00
|
|
|
a = c.0;
|
|
|
|
|
2018-12-11 13:50:55 -06:00
|
|
|
; let t = c.0;
|
2017-02-07 14:05:30 -06:00
|
|
|
c.0 = a;
|
|
|
|
a = t;
|
|
|
|
}
|