From: Jürg Billeter Date: Thu, 6 Oct 2016 09:07:59 +0000 (+0200) Subject: Do not report internal error for invalid code with nested generics X-Git-Tag: 0.35.1~112 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1fcd716d3b9b3d7b740a4c488cd6a28c0e5f0414;p=thirdparty%2Fvala.git Do not report internal error for invalid code with nested generics Reported-by: Matthias Berndt --- diff --git a/vala/valatypeparameter.vala b/vala/valatypeparameter.vala index 0fa3bd8ed..de0023b0c 100644 --- a/vala/valatypeparameter.vala +++ b/vala/valatypeparameter.vala @@ -49,12 +49,12 @@ public class Vala.TypeParameter : Symbol { * otherwise */ public bool equals (TypeParameter param2) { - /* only type parameters with the same parent are comparable */ - if (parent_symbol != param2.parent_symbol) { - Report.error (source_reference, "internal error: comparing type parameters with different parents"); + /* only type parameters with a common scope are comparable */ + if (!owner.is_subscope_of (param2.owner) && !param2.owner.is_subscope_of (owner)) { + Report.error (source_reference, "internal error: comparing type parameters from different scopes"); return false; } - return name == param2.name; + return name == param2.name && parent_symbol == param2.parent_symbol; } }