Make const_eval_select
a real intrinsic
This commit is contained in:
parent
8521a8c92d
commit
075084f772
27 changed files with 432 additions and 287 deletions
|
@ -112,12 +112,6 @@
|
|||
//! method in operand position, we treat it as a neighbor of the current
|
||||
//! mono item. Calls are just a special case of that.
|
||||
//!
|
||||
//! #### Closures
|
||||
//! In a way, closures are a simple case. Since every closure object needs to be
|
||||
//! constructed somewhere, we can reliably discover them by observing
|
||||
//! `RValue::Aggregate` expressions with `AggregateKind::Closure`. This is also
|
||||
//! true for closures inlined from other crates.
|
||||
//!
|
||||
//! #### Drop glue
|
||||
//! Drop glue mono items are introduced by MIR drop-statements. The
|
||||
//! generated mono item will again have drop-glue item neighbors if the
|
||||
|
@ -835,7 +829,7 @@ impl<'a, 'tcx> MirVisitor<'tcx> for MirNeighborCollector<'a, 'tcx> {
|
|||
mir::TerminatorKind::Call { ref func, .. } => {
|
||||
let callee_ty = func.ty(self.body, tcx);
|
||||
let callee_ty = self.monomorphize(callee_ty);
|
||||
visit_fn_use(self.tcx, callee_ty, true, source, &mut self.output);
|
||||
visit_fn_use(self.tcx, callee_ty, true, source, &mut self.output)
|
||||
}
|
||||
mir::TerminatorKind::Drop { ref place, .. }
|
||||
| mir::TerminatorKind::DropAndReplace { ref place, .. } => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue