Fixes https://gitlab.gnome.org/GNOME/vala/issues/1088
set_cvalue (expr, ctemp);
}
- expr.target_value.value_type = expr.value_type;
+ if (prop.get_accessor.value_type is GenericType) {
+ expr.target_value.value_type = prop.get_accessor.value_type.copy ();
+ } else {
+ expr.target_value.value_type = expr.value_type.copy ();
+ }
expr.target_value = store_temp_value (expr.target_value, expr);
} else if (expr.symbol_reference is LocalVariable) {
var local = (LocalVariable) expr.symbol_reference;
generics/integer-type-cast.vala \
generics/parameter-invalid-initializer.test \
generics/parameter-sizeof-initializer.vala \
+ generics/property-int-cast.vala \
generics/string-literal-comparison.vala \
generics/type-parameter-properties.vala \
generics/bug640330.test \
--- /dev/null
+class Foo<G> {
+ public G prop { get; private set; }
+
+ public Foo (G g) {
+ prop = g;
+ }
+}
+
+void main() {
+ var foo = new Foo<int> (23);
+ assert (foo.prop == 23);
+}