2015-01-10 06:26:58 +00:00
|
|
|
#![feature(plugin)]
|
2014-12-25 01:48:03 +00:00
|
|
|
|
2015-03-02 10:43:44 +00:00
|
|
|
#![plugin(clippy)]
|
2015-04-13 17:58:18 +00:00
|
|
|
#![deny(clippy)]
|
|
|
|
#![allow(unused)]
|
2014-12-25 01:48:03 +00:00
|
|
|
|
2015-04-13 17:58:18 +00:00
|
|
|
fn the_answer(ref mut x: u8) { //~ ERROR `ref` directly on a function argument is ignored
|
2014-12-25 01:48:03 +00:00
|
|
|
*x = 42;
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let mut x = 0;
|
|
|
|
the_answer(x);
|
2015-08-16 11:54:03 +00:00
|
|
|
// Closures should not warn
|
|
|
|
let y = |ref x| { println!("{:?}", x) };
|
|
|
|
y(1u8);
|
2015-09-22 07:08:42 +00:00
|
|
|
|
2016-02-07 17:28:37 +00:00
|
|
|
let ref x = 1;
|
|
|
|
//~^ ERROR `ref` on an entire `let` pattern is discouraged
|
|
|
|
//~| HELP try
|
|
|
|
//~| SUGGESTION let x = &1;
|
2015-09-22 07:08:42 +00:00
|
|
|
|
2016-06-29 20:37:10 +00:00
|
|
|
let ref y: (&_, u8) = (&1, 2);
|
2016-02-07 17:28:37 +00:00
|
|
|
//~^ ERROR `ref` on an entire `let` pattern is discouraged
|
|
|
|
//~| HELP try
|
2016-07-15 12:22:34 +00:00
|
|
|
//~| SUGGESTION let y: &(&_, u8) = &(&1, 2);
|
2015-09-22 07:08:42 +00:00
|
|
|
|
2016-06-29 20:37:10 +00:00
|
|
|
let ref z = 1 + 2;
|
|
|
|
//~^ ERROR `ref` on an entire `let` pattern is discouraged
|
|
|
|
//~| HELP try
|
|
|
|
//~| SUGGESTION let z = &(1 + 2);
|
|
|
|
|
2016-07-15 12:22:34 +00:00
|
|
|
let ref mut z = 1 + 2;
|
|
|
|
//~^ ERROR `ref` on an entire `let` pattern is discouraged
|
|
|
|
//~| HELP try
|
2016-07-15 13:32:41 +00:00
|
|
|
//~| SUGGESTION let z = &mut (1 + 2);
|
2016-07-15 12:22:34 +00:00
|
|
|
|
2015-09-22 07:08:42 +00:00
|
|
|
let (ref x, _) = (1,2); // okay, not top level
|
2014-12-25 01:48:03 +00:00
|
|
|
println!("The answer is {}.", x);
|
|
|
|
}
|