]> git.lizzy.rs Git - rust.git/blob - tests/ui/min_max.rs
Merge remote-tracking branch 'upstream/master'
[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
11
12
13
14 #![warn(clippy::all)]
15
16 use std::cmp::{min, max};
17 use std::cmp::min as my_min;
18 use std::cmp::max as my_max;
19
20 const LARGE : usize = 3;
21
22 fn main() {
23     let x;
24     x = 2usize;
25     min(1, max(3, x));
26     min(max(3, x), 1);
27     max(min(x, 1), 3);
28     max(3, min(x, 1));
29
30     my_max(3, my_min(x, 1));
31
32     min(3, max(1, x)); // ok, could be 1, 2 or 3 depending on x
33
34     min(1, max(LARGE, x)); // no error, we don't lookup consts here
35
36     let y = 2isize;
37     min(max(y, -1), 3);
38
39     let s;
40     s = "Hello";
41
42     min("Apple", max("Zoo", s));
43     max(min(s, "Apple"), "Zoo");
44
45     max("Apple", min(s, "Zoo")); // ok
46 }