Compile RHS of binary expressions (oopsie)

Not sure how this happened besides being a gigantic moron, I completely
forgot to do `self.compile_expr(&expr.rhs)`.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2024-09-24 12:27:53 -07:00
parent 4b5d2af117
commit 3e769e9c48

View File

@@ -796,6 +796,8 @@ impl ExprVisitor for Compiler<'_> {
let constant_id = self.insert_constant(self.create_str(name))?; let constant_id = self.insert_constant(self.create_str(name))?;
self.emit(expr_line_number(expr), Op::GetAttr(constant_id)); self.emit(expr_line_number(expr), Op::GetAttr(constant_id));
self.compile_expr(&expr.rhs)?;
// convert RHS to a bool if we're doing AND or OR // convert RHS to a bool if we're doing AND or OR
if let TokenKind::And | TokenKind::Or = expr.op.kind { if let TokenKind::And | TokenKind::Or = expr.op.kind {
let constant_id = self.insert_constant(self.create_str("to_bool"))?; let constant_id = self.insert_constant(self.create_str("to_bool"))?;