Skip to content

Commit 63eae64

Browse files
committed
loader: suggest to set crate type explicitly
Now loader suggests to set crate type explicitly if it founds file with name similar to crate name, but different extension. This commit adds warning if loader found static library instead of rlib or dylib. It fixes issue rust-lang#14416.
1 parent ba24610 commit 63eae64

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/librustc/metadata/loader.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,14 @@ impl<'a> Context<'a> {
426426
(file.slice(dylib_prefix.len(), file.len() - suffix.len()),
427427
false)
428428
} else {
429+
let static_lib = format!("lib{}.a", self.crate_name);
430+
if file == static_lib.as_slice() {
431+
let msg = format!("found staticlib `{}` instead of \
432+
rlib `{}`, please compile using \
433+
--crate-type rlib instead.",
434+
self.crate_name, self.crate_name);
435+
self.sess.span_warn(self.span, msg.as_slice());
436+
}
429437
return FileDoesntMatch
430438
};
431439
info!("lib candidate: {}", path.display());

0 commit comments

Comments
 (0)