From 75d2db97fe7ab1c17cf6865c6a5a575f5aede6f7 Mon Sep 17 00:00:00 2001 From: Adrian Budau Date: Sun, 11 Aug 2019 22:44:42 +0300 Subject: [PATCH] Regression test for #56870 --- src/test/ui/issues/issue-56870.rs | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/test/ui/issues/issue-56870.rs diff --git a/src/test/ui/issues/issue-56870.rs b/src/test/ui/issues/issue-56870.rs new file mode 100644 index 0000000000000..137a0ede0b33c --- /dev/null +++ b/src/test/ui/issues/issue-56870.rs @@ -0,0 +1,38 @@ +// build-pass +// Regression test for #56870: Internal compiler error (traits & associated consts) + +use std::fmt::Debug; + +pub trait Foo { + const FOO: *const u8; +} + +impl Foo for dyn Debug { + const FOO: *const u8 = ::fmt as *const u8; +} + +pub trait Bar { + const BAR: *const u8; +} + +pub trait Baz { + type Data: Debug; +} + +pub struct BarStruct(S); + +impl Bar for BarStruct { + const BAR: *const u8 = ::Data>>::FOO; +} + +struct AnotherStruct; +#[derive(Debug)] +struct SomeStruct; + +impl Baz for AnotherStruct { + type Data = SomeStruct; +} + +fn main() { + let _x = as Bar>::BAR; +}