From 0df221e993a1f7f1fc4d80c6a4fa0e43c05c30c7 Mon Sep 17 00:00:00 2001 From: Huon Wilson Date: Mon, 26 May 2014 22:42:48 +1000 Subject: rustc: provide more precise information about refutable patterns. The compiler now points exactly which part(s) of a pattern are refutable, rather than just highlighting the whole pattern. --- .../precise-refutable-pattern-errors.rs | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/test/compile-fail/precise-refutable-pattern-errors.rs (limited to 'src/test/compile-fail/precise-refutable-pattern-errors.rs') diff --git a/src/test/compile-fail/precise-refutable-pattern-errors.rs b/src/test/compile-fail/precise-refutable-pattern-errors.rs new file mode 100644 index 00000000000..efa2dbad83f --- /dev/null +++ b/src/test/compile-fail/precise-refutable-pattern-errors.rs @@ -0,0 +1,32 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + + +fn func( + ( + 1, //~ ERROR refutable pattern in function argument + ( + Some( //~ ERROR refutable pattern in function argument + 1), // nested, so no warning. + 2..3 //~ ERROR refutable pattern in function argument + ) + ): (int, (Option, int)) + ) {} + +fn main() { + let ( + 1, //~ ERROR refutable pattern in local binding + ( + Some( //~ ERROR refutable pattern in local binding + 1), // nested, so no warning. + 2..3 //~ ERROR refutable pattern in local binding + ) + ) = (1, (None, 2)); +} -- cgit 1.4.1-3-g733a5