about summary refs log tree commit diff
path: root/compiler/rustc_metadata/src
diff options
context:
space:
mode:
authorAlan Egerton <eggyal@gmail.com>2021-06-17 12:11:40 +0100
committerAlan Egerton <eggyal@gmail.com>2021-06-17 12:11:40 +0100
commit872839eb494e2ed6b2e7c9ba28ec3450c399d935 (patch)
treeccab2cf6a3e90afa5d144f139a90efae156c2241 /compiler/rustc_metadata/src
parent93c636211ca4b0b7745d6d4ca82587a27ddc59a8 (diff)
downloadrust-872839eb494e2ed6b2e7c9ba28ec3450c399d935.tar.gz
rust-872839eb494e2ed6b2e7c9ba28ec3450c399d935.zip
Early return from `inject_profiler_runtime`
Diffstat (limited to 'compiler/rustc_metadata/src')
-rw-r--r--compiler/rustc_metadata/src/creader.rs46
1 files changed, 23 insertions, 23 deletions
diff --git a/compiler/rustc_metadata/src/creader.rs b/compiler/rustc_metadata/src/creader.rs
index 8108470e3d3..dbf36c5d397 100644
--- a/compiler/rustc_metadata/src/creader.rs
+++ b/compiler/rustc_metadata/src/creader.rs
@@ -769,32 +769,32 @@ impl<'a> CrateLoader<'a> {
     }
 
     fn inject_profiler_runtime(&mut self, krate: &ast::Crate) {
-        if self.sess.instrument_coverage()
-            || self.sess.opts.debugging_opts.profile
-            || self.sess.opts.cg.profile_generate.enabled()
+        let profiler_runtime = &self.sess.opts.debugging_opts.profiler_runtime;
+
+        if !(profiler_runtime.is_some()
+            && (self.sess.instrument_coverage()
+                || self.sess.opts.debugging_opts.profile
+                || self.sess.opts.cg.profile_generate.enabled()))
         {
-            if let Some(name) =
-                self.sess.opts.debugging_opts.profiler_runtime.as_deref().map(Symbol::intern)
-            {
-                info!("loading profiler");
-
-                if name == sym::profiler_builtins
-                    && self.sess.contains_name(&krate.attrs, sym::no_core)
-                {
-                    self.sess.err(
-                        "`profiler_builtins` crate (required by compiler options) \
-                                is not compatible with crate attribute `#![no_core]`",
-                    );
-                }
+            return;
+        }
 
-                let cnum = self.resolve_crate(name, DUMMY_SP, CrateDepKind::Implicit, None);
-                let data = self.cstore.get_crate_data(cnum);
+        info!("loading profiler");
 
-                // Sanity check the loaded crate to ensure it is indeed a profiler runtime
-                if !data.is_profiler_runtime() {
-                    self.sess.err(&format!("the crate `{}` is not a profiler runtime", name));
-                }
-            }
+        let name = Symbol::intern(profiler_runtime.as_ref().unwrap());
+        if name == sym::profiler_builtins && self.sess.contains_name(&krate.attrs, sym::no_core) {
+            self.sess.err(
+                "`profiler_builtins` crate (required by compiler options) \
+                        is not compatible with crate attribute `#![no_core]`",
+            );
+        }
+
+        let cnum = self.resolve_crate(name, DUMMY_SP, CrateDepKind::Implicit, None);
+        let data = self.cstore.get_crate_data(cnum);
+
+        // Sanity check the loaded crate to ensure it is indeed a profiler runtime
+        if !data.is_profiler_runtime() {
+            self.sess.err(&format!("the crate `{}` is not a profiler runtime", name));
         }
     }