Skip to content

Commit 499b34c

Browse files
committed
Apply let-else statements
1 parent 1a92399 commit 499b34c

File tree

8 files changed

+12
-31
lines changed

8 files changed

+12
-31
lines changed

compiler/codegen/src/compile.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1412,9 +1412,7 @@ impl Compiler {
14121412
) -> CompileResult<()> {
14131413
let with_location = self.current_source_location;
14141414

1415-
let (item, items) = if let Some(parts) = items.split_first() {
1416-
parts
1417-
} else {
1415+
let Some((item, items)) = items.split_first() else {
14181416
return Err(self.error(CodegenErrorType::EmptyWithItems));
14191417
};
14201418

compiler/parser/build.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@ fn main() -> anyhow::Result<()> {
1717
}
1818

1919
fn requires_lalrpop(source: &str, target: &str) -> Option<String> {
20-
let target = if let Ok(target) = File::open(target) {
21-
target
22-
} else {
20+
let Ok(target) = File::open(target) else {
2321
return Some("python.rs doesn't exist. regenerate.".to_owned());
2422
};
2523

@@ -71,9 +69,7 @@ fn requires_lalrpop(source: &str, target: &str) -> Option<String> {
7169
}
7270

7371
fn try_lalrpop(source: &str, target: &str) -> anyhow::Result<()> {
74-
let _message = if let Some(msg) = requires_lalrpop(source, target) {
75-
msg
76-
} else {
72+
let Some(_message) = requires_lalrpop(source, target) else {
7773
return Ok(());
7874
};
7975

stdlib/src/scproxy.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,7 @@ mod _scproxy {
3333

3434
#[pyfunction]
3535
fn _get_proxy_settings(vm: &VirtualMachine) -> PyResult<Option<PyDictRef>> {
36-
let proxy_dict = if let Some(p) = proxy_dict() {
37-
p
38-
} else {
36+
let Some(proxy_dict) = proxy_dict() else {
3937
return Ok(None);
4038
};
4139

@@ -73,9 +71,7 @@ mod _scproxy {
7371

7472
#[pyfunction]
7573
fn _get_proxies(vm: &VirtualMachine) -> PyResult<Option<PyDictRef>> {
76-
let proxy_dict = if let Some(p) = proxy_dict() {
77-
p
78-
} else {
74+
let Some(proxy_dict) = proxy_dict() else {
7975
return Ok(None);
8076
};
8177

vm/src/builtins/function.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -392,13 +392,12 @@ impl PyFunction {
392392
fn set_qualname(&self, value: PySetterValue, vm: &VirtualMachine) -> PyResult<()> {
393393
match value {
394394
PySetterValue::Assign(value) => {
395-
if let Ok(qualname) = value.downcast::<PyStr>() {
396-
*self.qualname.lock() = qualname;
397-
} else {
395+
let Ok(qualname) = value.downcast::<PyStr>() else {
398396
return Err(vm.new_type_error(
399397
"__qualname__ must be set to a string object".to_string(),
400398
));
401-
}
399+
};
400+
*self.qualname.lock() = qualname;
402401
}
403402
PySetterValue::Delete => {
404403
return Err(

vm/src/builtins/type.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -959,9 +959,7 @@ impl GetAttr for PyType {
959959
))
960960
}
961961

962-
let name = if let Some(name) = vm.ctx.interned_str(&*name_str) {
963-
name
964-
} else {
962+
let Some(name) = vm.ctx.interned_str(&*name_str) else {
965963
return Err(attribute_error(zelf, name_str.as_str(), vm));
966964
};
967965
vm_trace!("type.__getattribute__({:?}, {:?})", zelf, name);

vm/src/dictdatatype.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -586,9 +586,7 @@ impl<T: Clone> Dict<T> {
586586
pred: impl Fn(&T) -> Result<bool, E>,
587587
) -> Result<PopInnerResult<T>, E> {
588588
let (entry_index, index_index) = lookup;
589-
let entry_index = if let Some(entry_index) = entry_index.index() {
590-
entry_index
591-
} else {
589+
let Some(entry_index) = entry_index.index() else {
592590
return Ok(ControlFlow::Break(None));
593591
};
594592
let inner = &mut *self.write();

vm/src/protocol/number.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,9 +243,7 @@ impl PyNumber<'_> {
243243

244244
// PyNumber_Check
245245
pub fn check(obj: &PyObject) -> bool {
246-
let methods = if let Some(m) = Self::find_methods(obj) {
247-
m
248-
} else {
246+
let Some(methods) = Self::find_methods(obj) else {
249247
return false;
250248
};
251249
let methods = methods.as_ref();

vm/src/stdlib/itertools.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,7 @@ mod decl {
110110
impl IterNextIterable for PyItertoolsChain {}
111111
impl IterNext for PyItertoolsChain {
112112
fn next(zelf: &Py<Self>, vm: &VirtualMachine) -> PyResult<PyIterReturn> {
113-
let source = if let Some(source) = zelf.source.read().clone() {
114-
source
115-
} else {
113+
let Some(source) = zelf.source.read().clone() else {
116114
return Ok(PyIterReturn::StopIteration(None));
117115
};
118116
let next = loop {

0 commit comments

Comments
 (0)