diff options
| author | bors <bors@rust-lang.org> | 2015-11-12 10:38:48 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-11-12 10:38:48 +0000 |
| commit | 0bd708461b0e301c7fb34635d978247a80ccf3b2 (patch) | |
| tree | 6eabf307b21ddef348b35800dd4af77443860cff | |
| parent | afd4a5420c3a9f6642da655543aa26df15b2ef9c (diff) | |
| parent | 780581e8a1233f744329f37b6de10177069fbd86 (diff) | |
Auto merge of #29770 - ollie27:assert_eq_unsized, r=alexcrichton
`format_args!` doesn't support none Sized types so we should just pass it the references to `left_val` and `right_val`. The following works: ```rust assert!([1, 2, 3][..] == vec![1, 2, 3][..]) ``` So I would expect this to as well: ```rust assert_eq!([1, 2, 3][..], vec![1, 2, 3][..]) ``` But it fails with "error: the trait `core::marker::Sized` is not implemented for the type `[_]` [E0277]" I don't know if this change will have any nasty side effects I don't understand.
| -rw-r--r-- | src/libcore/macros.rs | 2 | ||||
| -rw-r--r-- | src/test/run-pass/assert-eq-macro-unsized.rs | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/libcore/macros.rs b/src/libcore/macros.rs index 579232e5a5d..a4a2552025b 100644 --- a/src/libcore/macros.rs +++ b/src/libcore/macros.rs @@ -89,7 +89,7 @@ macro_rules! assert_eq { (left_val, right_val) => { if !(*left_val == *right_val) { panic!("assertion failed: `(left == right)` \ - (left: `{:?}`, right: `{:?}`)", *left_val, *right_val) + (left: `{:?}`, right: `{:?}`)", left_val, right_val) } } } diff --git a/src/test/run-pass/assert-eq-macro-unsized.rs b/src/test/run-pass/assert-eq-macro-unsized.rs new file mode 100644 index 00000000000..e21d3ef0ed0 --- /dev/null +++ b/src/test/run-pass/assert-eq-macro-unsized.rs @@ -0,0 +1,13 @@ +// Copyright 2015 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 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +pub fn main() { + assert_eq!([1, 2, 3][..], vec![1, 2, 3][..]); +} |
