Simplify string operations in crate loader
This commit is contained in:
parent
3a02cdb54f
commit
4c2b21a2ef
@ -414,12 +414,18 @@ impl<'a> CrateLocator<'a> {
|
|||||||
debug!("testing {}", spf.path.display());
|
debug!("testing {}", spf.path.display());
|
||||||
|
|
||||||
let f = &spf.file_name_str;
|
let f = &spf.file_name_str;
|
||||||
let (hash, kind) = if f.starts_with(rlib_prefix) && f.ends_with(rlib_suffix) {
|
let (hash, kind) = if let Some(f) = f.strip_prefix(rlib_prefix)
|
||||||
(&f[rlib_prefix.len()..(f.len() - rlib_suffix.len())], CrateFlavor::Rlib)
|
&& let Some(f) = f.strip_suffix(rlib_suffix)
|
||||||
} else if f.starts_with(rmeta_prefix) && f.ends_with(rmeta_suffix) {
|
{
|
||||||
(&f[rmeta_prefix.len()..(f.len() - rmeta_suffix.len())], CrateFlavor::Rmeta)
|
(f, CrateFlavor::Rlib)
|
||||||
} else if f.starts_with(dylib_prefix) && f.ends_with(dylib_suffix.as_ref()) {
|
} else if let Some(f) = f.strip_prefix(rmeta_prefix)
|
||||||
(&f[dylib_prefix.len()..(f.len() - dylib_suffix.len())], CrateFlavor::Dylib)
|
&& let Some(f) = f.strip_suffix(rmeta_suffix)
|
||||||
|
{
|
||||||
|
(f, CrateFlavor::Rmeta)
|
||||||
|
} else if let Some(f) = f.strip_prefix(dylib_prefix)
|
||||||
|
&& let Some(f) = f.strip_suffix(dylib_suffix.as_ref())
|
||||||
|
{
|
||||||
|
(f, CrateFlavor::Dylib)
|
||||||
} else {
|
} else {
|
||||||
if f.starts_with(staticlib_prefix) && f.ends_with(staticlib_suffix.as_ref()) {
|
if f.starts_with(staticlib_prefix) && f.ends_with(staticlib_suffix.as_ref()) {
|
||||||
self.crate_rejections.via_kind.push(CrateMismatch {
|
self.crate_rejections.via_kind.push(CrateMismatch {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user