public CCodeExpression get_type_id_expression (DataType type, bool is_chainup = false) {
if (type is GenericType) {
var type_parameter = ((GenericType) type).type_parameter;
+ unowned Symbol? parent = type_parameter.owner.owner;
+ if (parent is Class && ((Class) parent).is_compact) {
+ Report.error (type.source_reference, "static type-parameter `%s' can not be used in runtime context", type.type_symbol.get_full_name ());
+ return new CCodeInvalidExpression();
+ }
string identifier = get_ccode_type_id (type_parameter);
return get_generic_type_expression (identifier, (GenericType) type, is_chainup);
} else {
generics/string-literal-comparison.vala \
generics/type-parameter-properties.vala \
generics/type-parameter-property-clash.vala \
+ generics/type-parameter-static-in-runtime.test \
generics/value-pointer-type-access.vala \
generics/bug640330.vala \
generics/bug640330-2.test \