Rollup merge of #31818 - GuillaumeGomez:error_display, r=brson

Fixes #31788
This commit is contained in:
Manish Goregaokar 2016-02-25 11:41:02 +05:30
commit 7731cdc18c
2 changed files with 27 additions and 2 deletions

View File

@ -184,10 +184,13 @@ impl<'a, 'tcx> LanguageItemCollector<'a, 'tcx> {
// Check for duplicates.
match self.items.items[item_index] {
Some(original_def_id) if original_def_id != item_def_id => {
let cstore = &self.session.cstore;
span_err!(self.session, span, E0152,
"duplicate entry for `{}`", LanguageItems::item_name(item_index));
"duplicate entry for `{}`, first definition found in `{}`",
LanguageItems::item_name(item_index),
cstore.crate_name(item_def_id.krate));
}
Some(_) | None => {
_ => {
// OK.
}
}

View File

@ -0,0 +1,22 @@
// Copyright 2015 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 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// Test for issue #31788
// error-pattern: duplicate entry for `panic_fmt`, first definition found in `std`
#![feature(lang_items)]
#[lang = "panic_fmt"]
fn panic_fmt() -> ! {
loop {}
}
fn main() {}