Use tcx.require_lang_item
This commit is contained in:
parent
1c8e658820
commit
88d71504dd
@ -21,6 +21,3 @@ monomorphize_large_assignments =
|
|||||||
moving {$size} bytes
|
moving {$size} bytes
|
||||||
.label = value moved from here
|
.label = value moved from here
|
||||||
.note = The current maximum size is {$limit}, but it can be customized with the move_size_limit attribute: `#![move_size_limit = "..."]`
|
.note = The current maximum size is {$limit}, but it can be customized with the move_size_limit attribute: `#![move_size_limit = "..."]`
|
||||||
|
|
||||||
monomorphize_requires_lang_item =
|
|
||||||
requires `{$lang_item}` lang_item
|
|
||||||
|
@ -201,7 +201,7 @@
|
|||||||
use std::ops::Range;
|
use std::ops::Range;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
use crate::errors::{LargeAssignmentsLint, RecursionLimit, RequiresLangItem, TypeLengthLimit};
|
use crate::errors::{LargeAssignmentsLint, RecursionLimit, TypeLengthLimit};
|
||||||
|
|
||||||
#[derive(PartialEq)]
|
#[derive(PartialEq)]
|
||||||
pub enum MonoItemCollectionMode {
|
pub enum MonoItemCollectionMode {
|
||||||
@ -1298,14 +1298,7 @@ fn push_extra_entry_roots(&mut self) {
|
|||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
let start_def_id = match self.tcx.lang_items().require(LangItem::Start) {
|
let start_def_id = self.tcx.require_lang_item(LangItem::Start, None);
|
||||||
Ok(s) => s,
|
|
||||||
Err(lang_item_err) => {
|
|
||||||
self.tcx
|
|
||||||
.sess
|
|
||||||
.emit_fatal(RequiresLangItem { lang_item: lang_item_err.0.name().to_string() });
|
|
||||||
}
|
|
||||||
};
|
|
||||||
let main_ret_ty = self.tcx.fn_sig(main_def_id).output();
|
let main_ret_ty = self.tcx.fn_sig(main_def_id).output();
|
||||||
|
|
||||||
// Given that `main()` has no arguments,
|
// Given that `main()` has no arguments,
|
||||||
|
@ -32,12 +32,6 @@ pub struct TypeLengthLimit {
|
|||||||
pub type_length: usize,
|
pub type_length: usize,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Diagnostic)]
|
|
||||||
#[diag(monomorphize_requires_lang_item)]
|
|
||||||
pub struct RequiresLangItem {
|
|
||||||
pub lang_item: String,
|
|
||||||
}
|
|
||||||
|
|
||||||
pub struct UnusedGenericParams {
|
pub struct UnusedGenericParams {
|
||||||
pub span: Span,
|
pub span: Span,
|
||||||
pub param_spans: Vec<Span>,
|
pub param_spans: Vec<Span>,
|
||||||
|
Loading…
Reference in New Issue
Block a user