Sync from rust da935398d5
This commit is contained in:
commit
383bb665d2
@ -34,7 +34,9 @@ pub(crate) fn unsized_info<'tcx>(
|
|||||||
{
|
{
|
||||||
let old_info =
|
let old_info =
|
||||||
old_info.expect("unsized_info: missing old info for trait upcasting coercion");
|
old_info.expect("unsized_info: missing old info for trait upcasting coercion");
|
||||||
if data_a.principal_def_id() == data_b.principal_def_id() {
|
let b_principal_def_id = data_b.principal_def_id();
|
||||||
|
if data_a.principal_def_id() == b_principal_def_id || b_principal_def_id.is_none() {
|
||||||
|
// A NOP cast that doesn't actually change anything, should be allowed even with invalid vtables.
|
||||||
debug_assert!(
|
debug_assert!(
|
||||||
validate_trivial_unsize(fx.tcx, data_a, data_b),
|
validate_trivial_unsize(fx.tcx, data_a, data_b),
|
||||||
"NOP unsize vtable changed principal trait ref: {data_a} -> {data_b}"
|
"NOP unsize vtable changed principal trait ref: {data_a} -> {data_b}"
|
||||||
|
Loading…
Reference in New Issue
Block a user