From 3b78a474f3048dd6221e1ddd3e5b1af61df3945d Mon Sep 17 00:00:00 2001 From: Pulkit Goyal <7895pulkit@gmail.com> Date: Thu, 9 May 2019 21:32:33 +0300 Subject: [PATCH] Fix HIR printing of existential type #60662 This fixes https://github.com/rust-lang/rust/issues/60662 --- src/librustc/hir/print.rs | 1 - src/test/ui/issues/issue-60662.rs | 11 +++++++++++ src/test/ui/issues/issue-60662.stdout | 14 ++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/test/ui/issues/issue-60662.rs create mode 100644 src/test/ui/issues/issue-60662.stdout diff --git a/src/librustc/hir/print.rs b/src/librustc/hir/print.rs index c42d8f3cb3c36..88fbe9a06ddd1 100644 --- a/src/librustc/hir/print.rs +++ b/src/librustc/hir/print.rs @@ -646,7 +646,6 @@ impl<'a> State<'a> { self.print_where_clause(&exist.generics.where_clause)?; self.s.space()?; - self.word_space(":")?; let mut real_bounds = Vec::with_capacity(exist.bounds.len()); for b in exist.bounds.iter() { if let GenericBound::Trait(ref ptr, hir::TraitBoundModifier::Maybe) = *b { diff --git a/src/test/ui/issues/issue-60662.rs b/src/test/ui/issues/issue-60662.rs new file mode 100644 index 0000000000000..fe4eaff742d62 --- /dev/null +++ b/src/test/ui/issues/issue-60662.rs @@ -0,0 +1,11 @@ +// compile-pass +// compile-flags: -Z unpretty=hir + +#![feature(existential_type)] + +trait Animal { +} + +fn main() { + pub existential type ServeFut: Animal; +} diff --git a/src/test/ui/issues/issue-60662.stdout b/src/test/ui/issues/issue-60662.stdout new file mode 100644 index 0000000000000..5acfdf9ed5342 --- /dev/null +++ b/src/test/ui/issues/issue-60662.stdout @@ -0,0 +1,14 @@ +// compile-pass +// compile-flags: -Z unpretty=hir + +#![feature(existential_type)] +#[prelude_import] +use ::std::prelude::v1::*; +#[macro_use] +extern crate std; + +trait Animal { } + +fn main() { + pub existential type ServeFut : Animal; + }