#![feature(plugin)] #![plugin(clippy)] #![deny(clippy)] use std::cmp::{min, max}; use std::cmp::min as my_min; use std::cmp::max as my_max; const LARGE : usize = 3; fn main() { let x; x = 2usize; min(1, max(3, x)); //~ERROR this min/max combination leads to constant result min(max(3, x), 1); //~ERROR this min/max combination leads to constant result max(min(x, 1), 3); //~ERROR this min/max combination leads to constant result max(3, min(x, 1)); //~ERROR this min/max combination leads to constant result my_max(3, my_min(x, 1)); //~ERROR this min/max combination leads to constant result min(3, max(1, x)); // ok, could be 1, 2 or 3 depending on x min(1, max(LARGE, x)); // no error, we don't lookup consts here let s; s = "Hello"; min("Apple", max("Zoo", s)); //~ERROR this min/max combination leads to constant result max(min(s, "Apple"), "Zoo"); //~ERROR this min/max combination leads to constant result max("Apple", min(s, "Zoo")); // ok }