Skip to content

Commit 7b1b175

Browse files
committed
fix bugs with effects fallback
1 parent 04eec37 commit 7b1b175

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

compiler/rustc_monomorphize/src/collector.rs

-6
Original file line numberDiff line numberDiff line change
@@ -815,12 +815,6 @@ impl<'a, 'tcx> MirVisitor<'tcx> for MirUsedCollector<'a, 'tcx> {
815815
mir::AssertKind::BoundsCheck { .. } => LangItem::PanicBoundsCheck,
816816
_ => LangItem::Panic,
817817
};
818-
let def_id = tcx.require_lang_item(lang_item, Some(source));
819-
let instance = if has_host_effect {
820-
Instance::new(def_id, tcx.mk_args(&[tcx.consts.true_.into()]))
821-
} else {
822-
Instance::mono(tcx, def_id)
823-
};
824818
push_mono_lang_item(self, lang_item);
825819
}
826820
mir::TerminatorKind::UnwindTerminate(reason) => {

compiler/rustc_passes/src/lang_items.rs

+10-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ use rustc_hir::lang_items::{extract, GenericRequirement};
2020
use rustc_hir::{LangItem, LanguageItems, Target};
2121
use rustc_middle::ty::TyCtxt;
2222
use rustc_session::cstore::ExternCrate;
23-
use rustc_span::{symbol::kw::Empty, Span};
23+
use rustc_span::symbol::kw::Empty;
24+
use rustc_span::{sym, Span};
2425

2526
use rustc_middle::query::Providers;
2627

@@ -157,7 +158,14 @@ impl<'tcx> LanguageItemCollector<'tcx> {
157158
self.tcx.hir().get_by_def_id(item_def_id)
158159
{
159160
let (actual_num, generics_span) = match kind.generics() {
160-
Some(generics) => (generics.params.len(), generics.span),
161+
Some(generics) => (
162+
generics
163+
.params
164+
.iter()
165+
.filter(|p| !self.tcx.has_attr(p.def_id, sym::rustc_host))
166+
.count(),
167+
generics.span,
168+
),
161169
None => (0, *item_span),
162170
};
163171

0 commit comments

Comments
 (0)