From 98d5db3350c79f9f8061afc2e78fed838a45cfe5 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Wed, 15 Nov 2017 13:28:35 -0500 Subject: [PATCH] add a new test featuring two impl traits to show what it looks like --- .../impl-trait/universal-two-impl-traits.rs | 21 +++++++++++++++++++ .../universal-two-impl-traits.stderr | 11 ++++++++++ 2 files changed, 32 insertions(+) create mode 100644 src/test/ui/impl-trait/universal-two-impl-traits.rs create mode 100644 src/test/ui/impl-trait/universal-two-impl-traits.stderr diff --git a/src/test/ui/impl-trait/universal-two-impl-traits.rs b/src/test/ui/impl-trait/universal-two-impl-traits.rs new file mode 100644 index 0000000000000..f8855a7975550 --- /dev/null +++ b/src/test/ui/impl-trait/universal-two-impl-traits.rs @@ -0,0 +1,21 @@ +// Copyright 2017 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. + +#![feature(universal_impl_trait)] + +use std::fmt::Debug; + +fn foo(x: impl Debug, y: impl Debug) -> String { + let mut a = x; + a = y; + format!("{:?}", a) +} + +fn main() { } diff --git a/src/test/ui/impl-trait/universal-two-impl-traits.stderr b/src/test/ui/impl-trait/universal-two-impl-traits.stderr new file mode 100644 index 0000000000000..c663d38ca8a48 --- /dev/null +++ b/src/test/ui/impl-trait/universal-two-impl-traits.stderr @@ -0,0 +1,11 @@ +error[E0308]: mismatched types + --> $DIR/universal-two-impl-traits.rs:17:9 + | +17 | a = y; + | ^ expected type parameter, found a different type parameter + | + = note: expected type `impl Debug` (type parameter) + found type `impl Debug` (type parameter) + +error: aborting due to previous error +