From da46eeac88ea24c8c7b5d78c5ac4e0fe681ef13e Mon Sep 17 00:00:00 2001 From: Yuki OKUSHI Date: Tue, 30 Apr 2019 20:43:03 +0900 Subject: [PATCH] Add error for existential types --- src/librustc_passes/ast_validation.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/librustc_passes/ast_validation.rs b/src/librustc_passes/ast_validation.rs index 9dd8a7050fd..a482f60897b 100644 --- a/src/librustc_passes/ast_validation.rs +++ b/src/librustc_passes/ast_validation.rs @@ -679,6 +679,12 @@ fn visit_item(&mut self, item: &'a Item) { "unions cannot have zero fields"); } } + ItemKind::Existential(ref bounds, _) => { + if !bounds.iter() + .any(|b| if let GenericBound::Trait(..) = *b { true } else { false }) { + self.err_handler().span_err(item.span, "at least one trait must be specified"); + } + } _ => {} } -- 2.44.0