about summary refs log tree commit diff
path: root/src/librustdoc
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-06-10 21:12:25 +0200
committerGitHub <noreply@github.com>2024-06-10 21:12:25 +0200
commit2d7f7ffba5697a1393c275d669bb1489951dd90e (patch)
tree600bd0a0dab2b4d36b74007f2a192ae78f08ac25 /src/librustdoc
parentbcc6fda0ef7a8531c8cad10fadc4e27140b5bc83 (diff)
parent3c57ea0df79c8ee2ad1ff99881f80ab87b186935 (diff)
downloadrust-2d7f7ffba5697a1393c275d669bb1489951dd90e.tar.gz
rust-2d7f7ffba5697a1393c275d669bb1489951dd90e.zip
Rollup merge of #126159 - RalfJung:scalarint-size-mismatch, r=oli-obk
ScalarInt: size mismatches are a bug, do not delay the panic

Cc [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/146212-t-compiler.2Fconst-eval/topic/Why.20are.20ScalarInt.20to.20iN.2FuN.20methods.20fallible.3F)

r? ``@oli-obk``
Diffstat (limited to 'src/librustdoc')
-rw-r--r--src/librustdoc/clean/utils.rs3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/librustdoc/clean/utils.rs b/src/librustdoc/clean/utils.rs
index 7fc3d4508d7..7c83d438719 100644
--- a/src/librustdoc/clean/utils.rs
+++ b/src/librustdoc/clean/utils.rs
@@ -431,8 +431,7 @@ fn print_const_with_custom_print_scalar<'tcx>(
         (mir::Const::Val(mir::ConstValue::Scalar(int), _), ty::Int(i)) => {
             let ty = ct.ty();
             let size = tcx.layout_of(ty::ParamEnv::empty().and(ty)).unwrap().size;
-            let data = int.assert_bits(size);
-            let sign_extended_data = size.sign_extend(data) as i128;
+            let sign_extended_data = int.assert_scalar_int().to_int(size);
             let mut output = if with_underscores {
                 format_integer_with_underscore_sep(&sign_extended_data.to_string())
             } else {