Fix conflicts after rebase
- r-l/r 126784 - r-l/r 127113 - r-l/miri 3562
This commit is contained in:
parent
54e11cf378
commit
7fd0c55a1a
@ -767,7 +767,7 @@ pub enum TerminatorKind<'tcx> {
|
||||
/// These are owned by the callee, which is free to modify them.
|
||||
/// This allows the memory occupied by "by-value" arguments to be
|
||||
/// reused across function calls without duplicating the contents.
|
||||
args: Vec<Spanned<Operand<'tcx>>>,
|
||||
args: Box<[Spanned<Operand<'tcx>>]>,
|
||||
// FIXME(explicit_tail_calls): should we have the span for `become`? is this span accurate? do we need it?
|
||||
/// This `Span` is the span of the function, without the dot and receiver
|
||||
/// (e.g. `foo(a, b)` in `x.foo(a, b)`
|
||||
|
@ -106,7 +106,7 @@ pub(crate) fn stmt_expr(
|
||||
|
||||
this.in_scope((region_scope, source_info), lint_level, |this| {
|
||||
let fun = unpack!(block = this.as_local_operand(block, fun));
|
||||
let args: Vec<_> = args
|
||||
let args: Box<[_]> = args
|
||||
.into_iter()
|
||||
.copied()
|
||||
.map(|arg| Spanned {
|
||||
|
@ -40,7 +40,9 @@ pub fn add_function_level_costs(&mut self) {
|
||||
fn is_call_like(bbd: &BasicBlockData<'_>) -> bool {
|
||||
use TerminatorKind::*;
|
||||
match bbd.terminator().kind {
|
||||
Call { .. } | Drop { .. } | Assert { .. } | InlineAsm { .. } => true,
|
||||
Call { .. } | TailCall { .. } | Drop { .. } | Assert { .. } | InlineAsm { .. } => {
|
||||
true
|
||||
}
|
||||
|
||||
Goto { .. }
|
||||
| SwitchInt { .. }
|
||||
@ -137,6 +139,9 @@ fn visit_terminator(&mut self, terminator: &Terminator<'tcx>, _: Location) {
|
||||
self.penalty += LANDINGPAD_PENALTY;
|
||||
}
|
||||
}
|
||||
TerminatorKind::TailCall { .. } => {
|
||||
self.penalty += CALL_PENALTY;
|
||||
}
|
||||
TerminatorKind::SwitchInt { discr, targets } => {
|
||||
if discr.constant().is_some() {
|
||||
// Not only will this become a `Goto`, but likely other
|
||||
|
@ -8,7 +8,7 @@ LL | extern "rust-call" fn call_once(self, args: Args) -> Self::Output;
|
||||
= help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information
|
||||
= note: BACKTRACE:
|
||||
= note: inside `<fn() as std::ops::FnOnce<()>>::call_once - shim(fn())` at RUSTLIB/core/src/ops/function.rs:LL:CC
|
||||
= note: inside `std::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>` at RUSTLIB/std/src/sys_common/backtrace.rs:LL:CC
|
||||
= note: inside `std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>` at RUSTLIB/std/src/sys/backtrace.rs:LL:CC
|
||||
= note: inside closure at RUSTLIB/std/src/rt.rs:LL:CC
|
||||
= note: inside `std::ops::function::impls::<impl std::ops::FnOnce<()> for &dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe>::call_once` at RUSTLIB/core/src/ops/function.rs:LL:CC
|
||||
= note: inside `std::panicking::r#try::do_call::<&dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe, i32>` at RUSTLIB/std/src/panicking.rs:LL:CC
|
||||
|
@ -7,7 +7,7 @@ LL | f(0);
|
||||
= help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
|
||||
= help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information
|
||||
= help: this means these two types are not *guaranteed* to be ABI-compatible across all targets
|
||||
= help: if you think this code should be accepted anyway, please report an issue
|
||||
= help: if you think this code should be accepted anyway, please report an issue with Miri
|
||||
= note: BACKTRACE:
|
||||
= note: inside `main` at $DIR/signature-mismatch-arg.rs:LL:CC
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user