じゃスルーしてたlet-else話でもするか
>>19のリンクに書いてあるlet-elseのリファクタリングってあり?
Afterでもダメってほどじゃないが俺はBeforeのほうがいいように思える

//Before
pub async fn close(&mut self) -> Result<()> {
if let Some(mut file) = self.file.take() {
debug!("File {} closed", self.filename());
file.flush().await?;
}

Ok(())
}

//After
pub async fn close(&mut self) -> Result<()> {
let Some(mut file) = self.file.take() else {
return Ok(());
};

debug!("File {} closed", self.filename());
file.flush().await
}