This needs to be handled gracefully. So throwing an error is no option.
generics/reference-transfer.vala \
generics/string-literal-comparison.vala \
generics/type-parameter-properties.vala \
+ generics/type-parameter-property-clash.vala \
generics/value-pointer-type-access.vala \
generics/bug640330.vala \
generics/bug640330-2.test \
--- /dev/null
+class Foo<G> : Object {
+ public Type foo_g_type { get { return typeof (G); } }
+}
+
+class Bar<G> : Foo<G> {
+ public Type bar_g_type { get { return typeof (G); } }
+}
+
+void main () {
+ var bar = new Bar<string> ();
+ assert (bar.bar_g_type == typeof (string));
+ assert (bar.foo_g_type == typeof (string));
+}