fn logical_or_expr(&mut self) -> WeldResult<Box<Expr>> {
        let mut res = self.logical_and_expr()?;
        while *self.peek() == TLogicalOr {
            self.consume(TLogicalOr)?;
            let right = self.logical_and_expr()?;
            res = expr_box(
                BinOp {
                    kind: LogicalOr,
                    left: res,
                    right,
                },
                Annotations::new(),
            )
        }
        Ok(res)
    }
Parse a logical or expression with terms separated by || (for operator precedence).
weld/src/syntax/parser.rs