because most of the time we can just promote things as necessary
.rhs = rhs
};
- if (rhs->cast != FR_TYPE_INVALID) {
- fr_strerror_const("Unexpected cast in right side of comparison");
- fr_sbuff_set(&our_in, &m_rhs_cast);
- goto error;
- }
-
#ifdef HAVE_REGEX
/*
* LHS can't have regex. We can't use regex as a unary
condition <ipaddr>&Filter-Id == &Framed-IP-Address
match <ipaddr>&Filter-Id == &Framed-IP-Address
+#
+# We can automatically promote things as needed. But if the
+# user forces incompatible types, then that's an error.
+#
condition <ipaddr>&Filter-Id == <integer>&Framed-IP-Address
-match ERROR offset 22: Unexpected cast in right side of comparison
+match ERROR offset 0: Incompatible casts
condition <ipaddr>&Filter-Id == <blerg>&Framed-IP-Address
match ERROR offset 23: Unknown data type