From 0e56ec2dbdbbd463d608c42e0aa117357e18936a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 17 May 2017 22:00:02 -0400 Subject: Don't allow non-equality comparisons across types. --- mesonbuild/interpreterbase.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'mesonbuild/interpreterbase.py') diff --git a/mesonbuild/interpreterbase.py b/mesonbuild/interpreterbase.py index 8b951b3..fb87ea2 100644 --- a/mesonbuild/interpreterbase.py +++ b/mesonbuild/interpreterbase.py @@ -221,6 +221,11 @@ class InterpreterBase: return val1 == val2 elif node.ctype == '!=': return val1 != val2 + elif not isinstance(val1, type(val2)): + raise InterpreterException( + 'Values of different types ({}, {}) cannot be compared using {}.'.format(type(val1).__name__, + type(val2).__name__, + node.ctype)) elif not self.is_elementary_type(val1): raise InterpreterException('{} can only be compared for equality.'.format(node.left.value)) elif not self.is_elementary_type(val2): -- cgit v1.1