} else {
delegate_type = base_property.property_type as DelegateType;
if (delegate_type != null && delegate_type.delegate_symbol.has_target) {
- temp_var = get_temp_variable (new PointerType (new VoidType ()));
+ temp_var = get_temp_variable (new PointerType (new VoidType ()), false, expr, false);
ctemp = get_variable_cexpression (temp_var.name);
emit_temp_var (temp_var);
ccall.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, ctemp));
asynchronous/bug613484.vala \
asynchronous/bug620740.vala \
asynchronous/bug639591.vala \
+ asynchronous/bug641182.vala \
asynchronous/closures.vala \
dbus/basic-types.test \
dbus/arrays.test \
--- /dev/null
+public delegate void Bar ();
+
+class Foo {
+ public Bar bar { get; set; }
+}
+
+async void test () {
+ var foo = new Foo ();
+ var i = 0;
+ foo.bar = () => { i++; };
+ foo.bar ();
+}
+
+void main() {
+ test ();
+}