summaryrefslogtreecommitdiffstats
path: root/tests/ui/error-codes/e0119/issue-23563.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/error-codes/e0119/issue-23563.rs')
-rw-r--r--tests/ui/error-codes/e0119/issue-23563.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/ui/error-codes/e0119/issue-23563.rs b/tests/ui/error-codes/e0119/issue-23563.rs
new file mode 100644
index 000000000..f578560c5
--- /dev/null
+++ b/tests/ui/error-codes/e0119/issue-23563.rs
@@ -0,0 +1,29 @@
+// aux-build:issue-23563-a.rs
+
+// Ref: https://github.com/rust-lang/rust/issues/23563#issuecomment-260751672
+
+extern crate issue_23563_a as a;
+
+use a::LolFrom;
+use a::LolInto;
+use a::LolTo;
+
+struct LocalType<T>(Option<T>);
+
+impl<'a, T> LolFrom<&'a [T]> for LocalType<T> { //~ ERROR conflicting implementations of trait
+ fn from(_: &'a [T]) -> LocalType<T> { LocalType(None) }
+}
+
+impl<T> LolInto<LocalType<T>> for LocalType<T> {
+ fn convert_into(self) -> LocalType<T> {
+ self
+ }
+}
+
+impl LolTo<LocalType<u8>> for [u8] {
+ fn convert_to(&self) -> LocalType<u8> {
+ LocalType(None)
+ }
+}
+
+fn main() {}