Auto merge of #57880 - Zoxc:error-on-cycle, r=michaelwoerister
Always emit an error for a query cycle r? @michaelwoerister cc @nikomatsakis @wesleywiser
This commit is contained in:
commit
eac09088e1
13 changed files with 149 additions and 178 deletions
|
|
@ -6,16 +6,16 @@ fn main() {
|
|||
println!("{}", bar());
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
fn foo(x: i32, y: i32) -> bool {
|
||||
x == y
|
||||
}
|
||||
|
||||
fn bar() -> bool {
|
||||
let f = foo;
|
||||
f(1, -1)
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
fn foo(x: i32, y: i32) -> bool {
|
||||
x == y
|
||||
}
|
||||
|
||||
// END RUST SOURCE
|
||||
// START rustc.bar.Inline.after.mir
|
||||
// ...
|
||||
|
|
|
|||
|
|
@ -6,16 +6,16 @@ fn main() {
|
|||
println!("{}", bar());
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
fn foo(x: &i32, y: &i32) -> bool {
|
||||
*x == *y
|
||||
}
|
||||
|
||||
fn bar() -> bool {
|
||||
let f = foo;
|
||||
f(&1, &-1)
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
fn foo(x: &i32, y: &i32) -> bool {
|
||||
*x == *y
|
||||
}
|
||||
|
||||
// END RUST SOURCE
|
||||
// START rustc.bar.Inline.after.mir
|
||||
// ...
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
// compile-flags: -Z span_free_formats -Z mir-opt-level=3
|
||||
|
||||
fn test2(x: &dyn X) -> bool {
|
||||
test(x)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn test(x: &dyn X) -> bool {
|
||||
x.y()
|
||||
}
|
||||
|
||||
fn test2(x: &dyn X) -> bool {
|
||||
test(x)
|
||||
}
|
||||
|
||||
trait X {
|
||||
fn y(&self) -> bool {
|
||||
false
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue