From 425ec6914c40ed0654db16f417e80daa2a84cdd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= <rverschelde@gmail.com>
Date: Mon, 4 Mar 2019 12:25:59 +0100
Subject: Revert "Forbid implicit type conversion in GDScript"

---
 modules/gdscript/gdscript_function.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

(limited to 'modules/gdscript/gdscript_function.h')

diff --git a/modules/gdscript/gdscript_function.h b/modules/gdscript/gdscript_function.h
index 34fc51e92a..cefc28d77f 100644
--- a/modules/gdscript/gdscript_function.h
+++ b/modules/gdscript/gdscript_function.h
@@ -55,7 +55,7 @@ struct GDScriptDataType {
 	StringName native_type;
 	Ref<Script> script_type;
 
-	bool is_type(const Variant &p_variant) const {
+	bool is_type(const Variant &p_variant, bool p_allow_implicit_conversion = false) const {
 		if (!has_type) return true; // Can't type check
 
 		switch (kind) {
@@ -63,7 +63,11 @@ struct GDScriptDataType {
 				break;
 			case BUILTIN: {
 				Variant::Type var_type = p_variant.get_type();
-				return builtin_type == var_type;
+				bool valid = builtin_type == var_type;
+				if (!valid && p_allow_implicit_conversion) {
+					valid = Variant::can_convert_strict(var_type, builtin_type);
+				}
+				return valid;
 			} break;
 			case NATIVE: {
 				if (p_variant.get_type() == Variant::NIL) {
-- 
cgit v1.2.3