diff --git a/src/librustc/metadata/loader.rs b/src/librustc/metadata/loader.rs index 62c179f598c96..cfb58734df287 100644 --- a/src/librustc/metadata/loader.rs +++ b/src/librustc/metadata/loader.rs @@ -426,6 +426,14 @@ impl<'a> Context<'a> { (file.slice(dylib_prefix.len(), file.len() - suffix.len()), false) } else { + let static_lib = format!("lib{}.a", self.crate_name); + if file == static_lib.as_slice() { + let msg = format!("found staticlib `{}` instead of \ + rlib `{}`, please compile using \ + --crate-type rlib instead.", + self.crate_name, self.crate_name); + self.sess.span_warn(self.span, msg.as_slice()); + } return FileDoesntMatch }; info!("lib candidate: {}", path.display());