about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--compiler/rustc_codegen_cranelift/src/abi/mod.rs7
-rw-r--r--compiler/rustc_codegen_ssa/src/mir/block.rs11
-rw-r--r--compiler/rustc_middle/src/ty/instance.rs17
-rw-r--r--compiler/rustc_monomorphize/src/collector.rs14
-rw-r--r--src/test/ui/borrowck/issue-29166.rs (renamed from src/test/ui/issues/issue-29166.rs)0
-rw-r--r--src/test/ui/borrowck/issue-51301.rs (renamed from src/test/ui/issues/issue-51301.rs)0
-rw-r--r--src/test/ui/borrowck/issue-51301.stderr (renamed from src/test/ui/issues/issue-51301.stderr)0
-rw-r--r--src/test/ui/drop/issue-21486.rs (renamed from src/test/ui/issues/issue-21486.rs)0
-rw-r--r--src/test/ui/hygiene/issue-15221.rs (renamed from src/test/ui/issues/issue-15221.rs)0
-rw-r--r--src/test/ui/imports/issue-26930.rs (renamed from src/test/ui/issues/issue-26930.rs)0
-rw-r--r--src/test/ui/issues/issue-5353.rs18
-rw-r--r--src/test/ui/macros/issue-42954.fixed (renamed from src/test/ui/issues/issue-42954.fixed)0
-rw-r--r--src/test/ui/macros/issue-42954.rs (renamed from src/test/ui/issues/issue-42954.rs)0
-rw-r--r--src/test/ui/macros/issue-42954.stderr (renamed from src/test/ui/issues/issue-42954.stderr)0
-rw-r--r--src/test/ui/macros/issue-51848.rs (renamed from src/test/ui/issues/issue-51848.rs)0
-rw-r--r--src/test/ui/macros/issue-51848.stderr (renamed from src/test/ui/issues/issue-51848.stderr)0
-rw-r--r--src/test/ui/mir/issue-29227.rs (renamed from src/test/ui/issues/issue-29227.rs)0
-rw-r--r--src/test/ui/mir/issue-46845.rs (renamed from src/test/ui/issues/issue-46845.rs)0
-rw-r--r--src/test/ui/mir/issue-77002.rs (renamed from src/test/ui/issues/issue-77002.rs)0
-rw-r--r--src/test/ui/parser/issue-39616.rs (renamed from src/test/ui/issues/issue-39616.rs)0
-rw-r--r--src/test/ui/parser/issue-39616.stderr (renamed from src/test/ui/issues/issue-39616.stderr)0
-rw-r--r--src/test/ui/parser/issue-49257.rs (renamed from src/test/ui/issues/issue-49257.rs)0
-rw-r--r--src/test/ui/parser/issue-49257.stderr (renamed from src/test/ui/issues/issue-49257.stderr)0
-rw-r--r--src/test/ui/reachable/auxiliary/issue-11225-1.rs (renamed from src/test/ui/issues/auxiliary/issue-11225-1.rs)0
-rw-r--r--src/test/ui/reachable/auxiliary/issue-11225-2.rs (renamed from src/test/ui/issues/auxiliary/issue-11225-2.rs)0
-rw-r--r--src/test/ui/reachable/auxiliary/issue-11225-3.rs (renamed from src/test/ui/issues/auxiliary/issue-11225-3.rs)0
-rw-r--r--src/test/ui/reachable/issue-11225-1.rs (renamed from src/test/ui/issues/issue-11225-1.rs)0
-rw-r--r--src/test/ui/reachable/issue-11225-2.rs (renamed from src/test/ui/issues/issue-11225-2.rs)0
-rw-r--r--src/test/ui/reachable/issue-11225-3.rs (renamed from src/test/ui/issues/issue-11225-3.rs)0
-rw-r--r--src/test/ui/stdlib-unit-tests/issue-21058.rs (renamed from src/test/ui/issues/issue-21058.rs)0
-rw-r--r--src/test/ui/traits/issue-38404.rs (renamed from src/test/ui/issues/issue-38404.rs)0
-rw-r--r--src/test/ui/traits/issue-38404.stderr (renamed from src/test/ui/issues/issue-38404.stderr)0
-rw-r--r--src/test/ui/traits/issue-50480.rs (renamed from src/test/ui/issues/issue-50480.rs)0
-rw-r--r--src/test/ui/traits/issue-50480.stderr (renamed from src/test/ui/issues/issue-50480.stderr)0
-rw-r--r--src/test/ui/type-alias/issue-37515.rs (renamed from src/test/ui/issues/issue-37515.rs)0
-rw-r--r--src/test/ui/type-alias/issue-37515.stderr (renamed from src/test/ui/issues/issue-37515.stderr)0
-rw-r--r--src/test/ui/typeck/issue-33575.rs (renamed from src/test/ui/issues/issue-33575.rs)0
-rw-r--r--src/test/ui/typeck/issue-33575.stderr (renamed from src/test/ui/issues/issue-33575.stderr)0
-rw-r--r--src/tools/tidy/src/ui_tests.rs2
39 files changed, 35 insertions, 34 deletions
diff --git a/compiler/rustc_codegen_cranelift/src/abi/mod.rs b/compiler/rustc_codegen_cranelift/src/abi/mod.rs
index 1e22537c2ba..98b5fb1cce2 100644
--- a/compiler/rustc_codegen_cranelift/src/abi/mod.rs
+++ b/compiler/rustc_codegen_cranelift/src/abi/mod.rs
@@ -349,10 +349,9 @@ pub(crate) fn codegen_terminator_call<'tcx>(
 
     // Handle special calls like intrinsics and empty drop glue.
     let instance = if let ty::FnDef(def_id, substs) = *fn_ty.kind() {
-        let instance = ty::Instance::resolve(fx.tcx, ty::ParamEnv::reveal_all(), def_id, substs)
-            .unwrap()
-            .unwrap()
-            .polymorphize(fx.tcx);
+        let instance =
+            ty::Instance::expect_resolve(fx.tcx, ty::ParamEnv::reveal_all(), def_id, substs)
+                .polymorphize(fx.tcx);
 
         if fx.tcx.symbol_name(instance).name.starts_with("llvm.") {
             crate::intrinsics::codegen_llvm_intrinsic_call(
diff --git a/compiler/rustc_codegen_ssa/src/mir/block.rs b/compiler/rustc_codegen_ssa/src/mir/block.rs
index f3f5ddb52d6..831956cb2be 100644
--- a/compiler/rustc_codegen_ssa/src/mir/block.rs
+++ b/compiler/rustc_codegen_ssa/src/mir/block.rs
@@ -751,10 +751,13 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
         let (instance, mut llfn) = match *callee.layout.ty.kind() {
             ty::FnDef(def_id, substs) => (
                 Some(
-                    ty::Instance::resolve(bx.tcx(), ty::ParamEnv::reveal_all(), def_id, substs)
-                        .unwrap()
-                        .unwrap()
-                        .polymorphize(bx.tcx()),
+                    ty::Instance::expect_resolve(
+                        bx.tcx(),
+                        ty::ParamEnv::reveal_all(),
+                        def_id,
+                        substs,
+                    )
+                    .polymorphize(bx.tcx()),
                 ),
                 None,
             ),
diff --git a/compiler/rustc_middle/src/ty/instance.rs b/compiler/rustc_middle/src/ty/instance.rs
index 586460986dd..35d369ffc89 100644
--- a/compiler/rustc_middle/src/ty/instance.rs
+++ b/compiler/rustc_middle/src/ty/instance.rs
@@ -385,6 +385,21 @@ impl<'tcx> Instance<'tcx> {
         )
     }
 
+    pub fn expect_resolve(
+        tcx: TyCtxt<'tcx>,
+        param_env: ty::ParamEnv<'tcx>,
+        def_id: DefId,
+        substs: SubstsRef<'tcx>,
+    ) -> Instance<'tcx> {
+        match ty::Instance::resolve(tcx, param_env, def_id, substs) {
+            Ok(Some(instance)) => instance,
+            _ => bug!(
+                "failed to resolve instance for {}",
+                tcx.def_path_str_with_substs(def_id, substs)
+            ),
+        }
+    }
+
     // This should be kept up to date with `resolve`.
     pub fn resolve_opt_const_arg(
         tcx: TyCtxt<'tcx>,
@@ -525,7 +540,7 @@ impl<'tcx> Instance<'tcx> {
     pub fn resolve_drop_in_place(tcx: TyCtxt<'tcx>, ty: Ty<'tcx>) -> ty::Instance<'tcx> {
         let def_id = tcx.require_lang_item(LangItem::DropInPlace, None);
         let substs = tcx.intern_substs(&[ty.into()]);
-        Instance::resolve(tcx, ty::ParamEnv::reveal_all(), def_id, substs).unwrap().unwrap()
+        Instance::expect_resolve(tcx, ty::ParamEnv::reveal_all(), def_id, substs)
     }
 
     #[instrument(level = "debug", skip(tcx), ret)]
diff --git a/compiler/rustc_monomorphize/src/collector.rs b/compiler/rustc_monomorphize/src/collector.rs
index cf7226a129c..10ea4d29cfe 100644
--- a/compiler/rustc_monomorphize/src/collector.rs
+++ b/compiler/rustc_monomorphize/src/collector.rs
@@ -931,10 +931,13 @@ fn visit_fn_use<'tcx>(
 ) {
     if let ty::FnDef(def_id, substs) = *ty.kind() {
         let instance = if is_direct_call {
-            ty::Instance::resolve(tcx, ty::ParamEnv::reveal_all(), def_id, substs).unwrap().unwrap()
+            ty::Instance::expect_resolve(tcx, ty::ParamEnv::reveal_all(), def_id, substs)
         } else {
-            ty::Instance::resolve_for_fn_ptr(tcx, ty::ParamEnv::reveal_all(), def_id, substs)
-                .unwrap()
+            match ty::Instance::resolve_for_fn_ptr(tcx, ty::ParamEnv::reveal_all(), def_id, substs)
+            {
+                Some(instance) => instance,
+                _ => bug!("failed to resolve instance for {ty}"),
+            }
         };
         visit_instance_use(tcx, instance, is_direct_call, source, output);
     }
@@ -1369,9 +1372,8 @@ fn create_mono_items_for_default_impls<'tcx>(
                                 trait_ref.substs[param.index as usize]
                             }
                         });
-                    let instance = ty::Instance::resolve(tcx, param_env, method.def_id, substs)
-                        .unwrap()
-                        .unwrap();
+                    let instance =
+                        ty::Instance::expect_resolve(tcx, param_env, method.def_id, substs);
 
                     let mono_item = create_fn_mono_item(tcx, instance, DUMMY_SP);
                     if mono_item.node.is_instantiable(tcx) && should_codegen_locally(tcx, &instance)
diff --git a/src/test/ui/issues/issue-29166.rs b/src/test/ui/borrowck/issue-29166.rs
index ca819ba39a2..ca819ba39a2 100644
--- a/src/test/ui/issues/issue-29166.rs
+++ b/src/test/ui/borrowck/issue-29166.rs
diff --git a/src/test/ui/issues/issue-51301.rs b/src/test/ui/borrowck/issue-51301.rs
index 7e0a5190fcd..7e0a5190fcd 100644
--- a/src/test/ui/issues/issue-51301.rs
+++ b/src/test/ui/borrowck/issue-51301.rs
diff --git a/src/test/ui/issues/issue-51301.stderr b/src/test/ui/borrowck/issue-51301.stderr
index f3decf7a991..f3decf7a991 100644
--- a/src/test/ui/issues/issue-51301.stderr
+++ b/src/test/ui/borrowck/issue-51301.stderr
diff --git a/src/test/ui/issues/issue-21486.rs b/src/test/ui/drop/issue-21486.rs
index 46d6ccd56bd..46d6ccd56bd 100644
--- a/src/test/ui/issues/issue-21486.rs
+++ b/src/test/ui/drop/issue-21486.rs
diff --git a/src/test/ui/issues/issue-15221.rs b/src/test/ui/hygiene/issue-15221.rs
index 4b8319a8304..4b8319a8304 100644
--- a/src/test/ui/issues/issue-15221.rs
+++ b/src/test/ui/hygiene/issue-15221.rs
diff --git a/src/test/ui/issues/issue-26930.rs b/src/test/ui/imports/issue-26930.rs
index 707e71b1124..707e71b1124 100644
--- a/src/test/ui/issues/issue-26930.rs
+++ b/src/test/ui/imports/issue-26930.rs
diff --git a/src/test/ui/issues/issue-5353.rs b/src/test/ui/issues/issue-5353.rs
deleted file mode 100644
index 1d6813d5a39..00000000000
--- a/src/test/ui/issues/issue-5353.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// check-pass
-#![allow(dead_code)]
-// pretty-expanded FIXME #23616
-
-const INVALID_ENUM : u32 = 0;
-const INVALID_VALUE : u32 = 1;
-
-fn gl_err_str(err: u32) -> String
-{
-  match err
-  {
-    INVALID_ENUM => { "Invalid enum".to_string() },
-    INVALID_VALUE => { "Invalid value".to_string() },
-    _ => { "Unknown error".to_string() }
-  }
-}
-
-pub fn main() {}
diff --git a/src/test/ui/issues/issue-42954.fixed b/src/test/ui/macros/issue-42954.fixed
index a73054c9257..a73054c9257 100644
--- a/src/test/ui/issues/issue-42954.fixed
+++ b/src/test/ui/macros/issue-42954.fixed
diff --git a/src/test/ui/issues/issue-42954.rs b/src/test/ui/macros/issue-42954.rs
index 5f9b0e31da5..5f9b0e31da5 100644
--- a/src/test/ui/issues/issue-42954.rs
+++ b/src/test/ui/macros/issue-42954.rs
diff --git a/src/test/ui/issues/issue-42954.stderr b/src/test/ui/macros/issue-42954.stderr
index 396a91994eb..396a91994eb 100644
--- a/src/test/ui/issues/issue-42954.stderr
+++ b/src/test/ui/macros/issue-42954.stderr
diff --git a/src/test/ui/issues/issue-51848.rs b/src/test/ui/macros/issue-51848.rs
index 4792bdd64f0..4792bdd64f0 100644
--- a/src/test/ui/issues/issue-51848.rs
+++ b/src/test/ui/macros/issue-51848.rs
diff --git a/src/test/ui/issues/issue-51848.stderr b/src/test/ui/macros/issue-51848.stderr
index c25bedf37b7..c25bedf37b7 100644
--- a/src/test/ui/issues/issue-51848.stderr
+++ b/src/test/ui/macros/issue-51848.stderr
diff --git a/src/test/ui/issues/issue-29227.rs b/src/test/ui/mir/issue-29227.rs
index e9dfc2840e5..e9dfc2840e5 100644
--- a/src/test/ui/issues/issue-29227.rs
+++ b/src/test/ui/mir/issue-29227.rs
diff --git a/src/test/ui/issues/issue-46845.rs b/src/test/ui/mir/issue-46845.rs
index fc85b25519a..fc85b25519a 100644
--- a/src/test/ui/issues/issue-46845.rs
+++ b/src/test/ui/mir/issue-46845.rs
diff --git a/src/test/ui/issues/issue-77002.rs b/src/test/ui/mir/issue-77002.rs
index 0c37346eaf8..0c37346eaf8 100644
--- a/src/test/ui/issues/issue-77002.rs
+++ b/src/test/ui/mir/issue-77002.rs
diff --git a/src/test/ui/issues/issue-39616.rs b/src/test/ui/parser/issue-39616.rs
index 46b5aa334ca..46b5aa334ca 100644
--- a/src/test/ui/issues/issue-39616.rs
+++ b/src/test/ui/parser/issue-39616.rs
diff --git a/src/test/ui/issues/issue-39616.stderr b/src/test/ui/parser/issue-39616.stderr
index 393d1f2e2ce..393d1f2e2ce 100644
--- a/src/test/ui/issues/issue-39616.stderr
+++ b/src/test/ui/parser/issue-39616.stderr
diff --git a/src/test/ui/issues/issue-49257.rs b/src/test/ui/parser/issue-49257.rs
index a7fa19d52fd..a7fa19d52fd 100644
--- a/src/test/ui/issues/issue-49257.rs
+++ b/src/test/ui/parser/issue-49257.rs
diff --git a/src/test/ui/issues/issue-49257.stderr b/src/test/ui/parser/issue-49257.stderr
index 846467f7f22..846467f7f22 100644
--- a/src/test/ui/issues/issue-49257.stderr
+++ b/src/test/ui/parser/issue-49257.stderr
diff --git a/src/test/ui/issues/auxiliary/issue-11225-1.rs b/src/test/ui/reachable/auxiliary/issue-11225-1.rs
index 2c6f899a0f4..2c6f899a0f4 100644
--- a/src/test/ui/issues/auxiliary/issue-11225-1.rs
+++ b/src/test/ui/reachable/auxiliary/issue-11225-1.rs
diff --git a/src/test/ui/issues/auxiliary/issue-11225-2.rs b/src/test/ui/reachable/auxiliary/issue-11225-2.rs
index 4381f0a4edf..4381f0a4edf 100644
--- a/src/test/ui/issues/auxiliary/issue-11225-2.rs
+++ b/src/test/ui/reachable/auxiliary/issue-11225-2.rs
diff --git a/src/test/ui/issues/auxiliary/issue-11225-3.rs b/src/test/ui/reachable/auxiliary/issue-11225-3.rs
index 266e42a10b5..266e42a10b5 100644
--- a/src/test/ui/issues/auxiliary/issue-11225-3.rs
+++ b/src/test/ui/reachable/auxiliary/issue-11225-3.rs
diff --git a/src/test/ui/issues/issue-11225-1.rs b/src/test/ui/reachable/issue-11225-1.rs
index d1f2ea5e7de..d1f2ea5e7de 100644
--- a/src/test/ui/issues/issue-11225-1.rs
+++ b/src/test/ui/reachable/issue-11225-1.rs
diff --git a/src/test/ui/issues/issue-11225-2.rs b/src/test/ui/reachable/issue-11225-2.rs
index d41c75443f1..d41c75443f1 100644
--- a/src/test/ui/issues/issue-11225-2.rs
+++ b/src/test/ui/reachable/issue-11225-2.rs
diff --git a/src/test/ui/issues/issue-11225-3.rs b/src/test/ui/reachable/issue-11225-3.rs
index e69496baa26..e69496baa26 100644
--- a/src/test/ui/issues/issue-11225-3.rs
+++ b/src/test/ui/reachable/issue-11225-3.rs
diff --git a/src/test/ui/issues/issue-21058.rs b/src/test/ui/stdlib-unit-tests/issue-21058.rs
index 6facf0b2dd5..6facf0b2dd5 100644
--- a/src/test/ui/issues/issue-21058.rs
+++ b/src/test/ui/stdlib-unit-tests/issue-21058.rs
diff --git a/src/test/ui/issues/issue-38404.rs b/src/test/ui/traits/issue-38404.rs
index 1a92acc3404..1a92acc3404 100644
--- a/src/test/ui/issues/issue-38404.rs
+++ b/src/test/ui/traits/issue-38404.rs
diff --git a/src/test/ui/issues/issue-38404.stderr b/src/test/ui/traits/issue-38404.stderr
index d7721d7e69c..d7721d7e69c 100644
--- a/src/test/ui/issues/issue-38404.stderr
+++ b/src/test/ui/traits/issue-38404.stderr
diff --git a/src/test/ui/issues/issue-50480.rs b/src/test/ui/traits/issue-50480.rs
index 10597caf5b2..10597caf5b2 100644
--- a/src/test/ui/issues/issue-50480.rs
+++ b/src/test/ui/traits/issue-50480.rs
diff --git a/src/test/ui/issues/issue-50480.stderr b/src/test/ui/traits/issue-50480.stderr
index 0bb1f9ae035..0bb1f9ae035 100644
--- a/src/test/ui/issues/issue-50480.stderr
+++ b/src/test/ui/traits/issue-50480.stderr
diff --git a/src/test/ui/issues/issue-37515.rs b/src/test/ui/type-alias/issue-37515.rs
index b3a870d505a..b3a870d505a 100644
--- a/src/test/ui/issues/issue-37515.rs
+++ b/src/test/ui/type-alias/issue-37515.rs
diff --git a/src/test/ui/issues/issue-37515.stderr b/src/test/ui/type-alias/issue-37515.stderr
index f1e83ca74d8..f1e83ca74d8 100644
--- a/src/test/ui/issues/issue-37515.stderr
+++ b/src/test/ui/type-alias/issue-37515.stderr
diff --git a/src/test/ui/issues/issue-33575.rs b/src/test/ui/typeck/issue-33575.rs
index de544afae73..de544afae73 100644
--- a/src/test/ui/issues/issue-33575.rs
+++ b/src/test/ui/typeck/issue-33575.rs
diff --git a/src/test/ui/issues/issue-33575.stderr b/src/test/ui/typeck/issue-33575.stderr
index bbd8042d1cd..bbd8042d1cd 100644
--- a/src/test/ui/issues/issue-33575.stderr
+++ b/src/test/ui/typeck/issue-33575.stderr
diff --git a/src/tools/tidy/src/ui_tests.rs b/src/tools/tidy/src/ui_tests.rs
index ee326e190ff..19e2528bb24 100644
--- a/src/tools/tidy/src/ui_tests.rs
+++ b/src/tools/tidy/src/ui_tests.rs
@@ -10,7 +10,7 @@ use std::path::Path;
 const ENTRY_LIMIT: usize = 1000;
 // FIXME: The following limits should be reduced eventually.
 const ROOT_ENTRY_LIMIT: usize = 939;
-const ISSUES_ENTRY_LIMIT: usize = 2070;
+const ISSUES_ENTRY_LIMIT: usize = 2040;
 
 fn check_entries(path: &Path, bad: &mut bool) {
     for dir in Walk::new(&path.join("test/ui")) {