]> git.lizzy.rs Git - rust.git/blob - tests/ui/min_max.rs
rustfmt tests
[rust.git] / tests / ui / min_max.rs
1 // Copyright 2014-2018 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution.
3 //
4 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
5 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
6 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
7 // option. This file may not be copied, modified, or distributed
8 // except according to those terms.
9
10 #![warn(clippy::all)]
11
12 use std::cmp::max as my_max;
13 use std::cmp::min as my_min;
14 use std::cmp::{max, min};
15
16 const LARGE: usize = 3;
17
18 fn main() {
19     let x;
20     x = 2usize;
21     min(1, max(3, x));
22     min(max(3, x), 1);
23     max(min(x, 1), 3);
24     max(3, min(x, 1));
25
26     my_max(3, my_min(x, 1));
27
28     min(3, max(1, x)); // ok, could be 1, 2 or 3 depending on x
29
30     min(1, max(LARGE, x)); // no error, we don't lookup consts here
31
32     let y = 2isize;
33     min(max(y, -1), 3);
34
35     let s;
36     s = "Hello";
37
38     min("Apple", max("Zoo", s));
39     max(min(s, "Apple"), "Zoo");
40
41     max("Apple", min(s, "Zoo")); // ok
42 }