use let-else syntax where possible (#8886)

# Description
this pr changes some `if-let`s to `let-else`s

# User-Facing Changes
none
This commit is contained in:
mike
2023-04-14 21:51:38 +03:00
committed by GitHub
parent 6cedc05384
commit a122e55129
7 changed files with 22 additions and 37 deletions

View File

@ -111,15 +111,13 @@ pub fn help_aliases(
name.push_str(&r.item);
}
let alias = if let Some(id) = engine_state.find_decl(name.as_bytes(), &[]) {
if let Some(alias) = engine_state.get_decl(id).as_alias() {
alias
} else {
return Err(ShellError::AliasNotFound(span(
&rest.iter().map(|r| r.span).collect::<Vec<Span>>(),
)));
}
} else {
let Some(alias) = engine_state.find_decl(name.as_bytes(), &[]) else {
return Err(ShellError::AliasNotFound(span(
&rest.iter().map(|r| r.span).collect::<Vec<Span>>(),
)));
};
let Some(alias) = engine_state.get_decl(alias).as_alias() else {
return Err(ShellError::AliasNotFound(span(
&rest.iter().map(|r| r.span).collect::<Vec<Span>>(),
)));

View File

@ -117,9 +117,7 @@ pub fn help_modules(
name.push_str(&r.item);
}
let module_id = if let Some(id) = engine_state.find_module(name.as_bytes(), &[]) {
id
} else {
let Some(module_id) = engine_state.find_module(name.as_bytes(), &[]) else {
return Err(ShellError::ModuleNotFoundAtRuntime {
mod_name: name,
span: span(&rest.iter().map(|r| r.span).collect::<Vec<Span>>()),

View File

@ -45,13 +45,10 @@ impl Command for Use {
call: &Call,
input: PipelineData,
) -> Result<PipelineData, ShellError> {
let import_pattern = if let Some(Expression {
expr: Expr::ImportPattern(pat),
let Some(Expression {
expr: Expr::ImportPattern(import_pattern),
..
}) = call.get_parser_info("import_pattern")
{
pat
} else {
}) = call.get_parser_info("import_pattern") else {
return Err(ShellError::GenericError(
"Unexpected import".into(),
"import pattern not supported".into(),