Make a qualified guess for the cause of the problem instead of triggering
an assertion.
https://bugzilla.gnome.org/show_bug.cgi?id=587905
objects/test-029.vala \
objects/test-034.vala \
objects/bug566909.vala \
+ objects/bug587905.test \
objects/bug588203.vala \
objects/bug589928.vala \
objects/bug593260.vala \
--- /dev/null
+Invalid Code
+
+class Generic<T> {
+ class Nested {
+ public T member;
+ }
+}
+
+void main () {
+}
// trace type arguments back to the datatype where the method has been declared
var instance_type = get_instance_base_type_for_member (derived_instance_type, (TypeSymbol) generic_type.type_parameter.parent_symbol, node_reference);
- assert (instance_type != null);
+ if (instance_type == null) {
+ Report.error (node_reference.source_reference, "The type-parameter `%s' must be defined on enclosing type".printf (generic_type.to_string ()));
+ node_reference.error = true;
+ return null;
+ }
int param_index;
if (instance_type is DelegateType) {