No it can't. You're missing the recursive call to `eval`.
https://rust-lang.github.io/rfcs/2294-if-let-guard.html
[1] https://github.com/rust-lang/rust/issues/51114
https://rust-lang.github.io/rfcs/2294-if-let-guard.html
[1] https://github.com/rust-lang/rust/issues/51114