about summary refs log tree commit diff
path: root/compiler/rustc_transmute
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-11-05 13:48:30 +0000
committerbors <bors@rust-lang.org>2022-11-05 13:48:30 +0000
commit6b8d9dd0a09851b3e4f400ddd1303857945be25d (patch)
tree41c63f339061a02a324140c7be0ccca383c7f0a2 /compiler/rustc_transmute
parentb0f3940c35d565399dccf8c79f38147b40f2724a (diff)
parent749afe57c3e16667128c3e983166d7a69d03a3dd (diff)
downloadrust-6b8d9dd0a09851b3e4f400ddd1303857945be25d.tar.gz
rust-6b8d9dd0a09851b3e4f400ddd1303857945be25d.zip
Auto merge of #103831 - chenyukang:yukang/fix-103751-ice, r=nagisa
Fix capacity overflow issue during transmutability check

Fixes #103751
Diffstat (limited to 'compiler/rustc_transmute')
-rw-r--r--compiler/rustc_transmute/src/layout/tree.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_transmute/src/layout/tree.rs b/compiler/rustc_transmute/src/layout/tree.rs
index 2bc6bc1fc23..30e20ba6f58 100644
--- a/compiler/rustc_transmute/src/layout/tree.rs
+++ b/compiler/rustc_transmute/src/layout/tree.rs
@@ -436,8 +436,8 @@ pub(crate) mod rustc {
 
             // finally: padding
             let padding_span = trace_span!("adding trailing padding").entered();
-            let padding_needed = layout_summary.total_size - variant_layout.size();
-            if padding_needed > 0 {
+            if layout_summary.total_size > variant_layout.size() {
+                let padding_needed = layout_summary.total_size - variant_layout.size();
                 tree = tree.then(Self::padding(padding_needed));
             };
             drop(padding_span);