Test showing previous behavior
This commit is contained in:
parent
e08b80c0fb
commit
850bcbdc2e
18
tests/mir-opt/build_correct_coerce.main.built.after.mir
Normal file
18
tests/mir-opt/build_correct_coerce.main.built.after.mir
Normal file
@ -0,0 +1,18 @@
|
||||
// MIR for `main` after built
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: ();
|
||||
let _1: for<'a> fn(&'a (), &'a ());
|
||||
scope 1 {
|
||||
debug x => _1;
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1);
|
||||
_1 = foo as for<'a, 'b> fn(&'a (), &'b ()) (PointerCoercion(ReifyFnPointer));
|
||||
FakeRead(ForLet(None), _1);
|
||||
_0 = const ();
|
||||
StorageDead(_1);
|
||||
return;
|
||||
}
|
||||
}
|
12
tests/mir-opt/build_correct_coerce.rs
Normal file
12
tests/mir-opt/build_correct_coerce.rs
Normal file
@ -0,0 +1,12 @@
|
||||
// skip-filecheck
|
||||
|
||||
// Validate that we record the target for the `as` coercion as `for<'a> fn(&'a (), &'a ())`,
|
||||
// and not `for<'a, 'b>(&'a (), &'b ())`. We previously did the latter due to a bug in
|
||||
// the code that records adjustments in HIR typeck.
|
||||
|
||||
fn foo<'a, 'b>(_: &'a (), _: &'b ()) {}
|
||||
|
||||
// EMIT_MIR build_correct_coerce.main.built.after.mir
|
||||
fn main() {
|
||||
let x = foo as for<'a> fn(&'a (), &'a ());
|
||||
}
|
Loading…
Reference in New Issue
Block a user