X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=tests%2Fui%2Fmin_max.rs;h=f7ed72a11cf684b64f8d584cbaa990ae4aa0fa39;hb=87e740921abd4132152f090545fa4c9ed9fa0d6d;hp=1199206e42c35fb6001dfe0be9e629436677761b;hpb=fcdce8fc1d4891032699554fe64fdcd8e54afe49;p=rust.git diff --git a/tests/ui/min_max.rs b/tests/ui/min_max.rs index 1199206e42c..f7ed72a11cf 100644 --- a/tests/ui/min_max.rs +++ b/tests/ui/min_max.rs @@ -1,13 +1,22 @@ +#![warn(clippy::all)] +use std::cmp::max as my_max; +use std::cmp::min as my_min; +use std::cmp::{max, min}; +const LARGE: usize = 3; -#![warn(clippy)] +struct NotOrd(u64); -use std::cmp::{min, max}; -use std::cmp::min as my_min; -use std::cmp::max as my_max; +impl NotOrd { + fn min(self, x: u64) -> NotOrd { + NotOrd(x) + } -const LARGE : usize = 3; + fn max(self, x: u64) -> NotOrd { + NotOrd(x) + } +} fn main() { let x; @@ -23,6 +32,9 @@ fn main() { min(1, max(LARGE, x)); // no error, we don't lookup consts here + let y = 2isize; + min(max(y, -1), 3); + let s; s = "Hello"; @@ -30,4 +42,24 @@ fn main() { max(min(s, "Apple"), "Zoo"); max("Apple", min(s, "Zoo")); // ok + + let f = 3f32; + x.min(1).max(3); + x.max(3).min(1); + f.max(3f32).min(1f32); + + x.max(1).min(3); // ok + x.min(3).max(1); // ok + f.min(3f32).max(1f32); // ok + + max(x.min(1), 3); + min(x.max(1), 3); // ok + + s.max("Zoo").min("Apple"); + s.min("Apple").max("Zoo"); + + s.min("Zoo").max("Apple"); // ok + + let not_ord = NotOrd(1); + not_ord.min(1).max(3); // ok }