]> git.lizzy.rs Git - rust.git/commitdiff
Filter predicates first for fast-path type flags
authorMichael Goulet <michael@errs.io>
Fri, 20 Jan 2023 03:20:17 +0000 (03:20 +0000)
committerMichael Goulet <michael@errs.io>
Fri, 20 Jan 2023 03:20:17 +0000 (03:20 +0000)
compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs

index 2733d9643fd77ad8c53d120322b6989138d1ecaf..87d574ff107b29b9d4a09c1195566bf2f66a050d 100644 (file)
@@ -174,8 +174,8 @@ fn assemble_candidates_from_caller_bounds<'o>(
             .param_env
             .caller_bounds()
             .iter()
-            .filter_map(|p| p.to_opt_poly_trait_pred())
-            .filter(|p| !p.references_error());
+            .filter(|p| !p.references_error())
+            .filter_map(|p| p.to_opt_poly_trait_pred());
 
         // Micro-optimization: filter out predicates relating to different traits.
         let matching_bounds =