[vala/bug736774: 2/3] Revert "Fix regression when assigning owned expressions to unowned variables."



commit d864ee2df2e98b36c74084494b3aa3ff24b1e4b6
Author: Luca Bruno <lucabru src gnome org>
Date:   Thu Sep 18 22:36:40 2014 +0200

    Revert "Fix regression when assigning owned expressions to unowned variables."
    
    This reverts commit ba1fa0759989dcbb9046c7dfc06cce6c4aa23411.

 vala/valasemanticanalyzer.vala |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala
index 65eb7db..91f2769 100644
--- a/vala/valasemanticanalyzer.vala
+++ b/vala/valasemanticanalyzer.vala
@@ -892,7 +892,8 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
        public static Expression create_temp_access (LocalVariable local, DataType? target_type) {
                Expression temp_access = new MemberAccess.simple (local.name, local.source_reference);
 
-               if (local.variable_type.is_disposable ()) {
+               var target_owned = target_type == null || target_type.value_owned;
+               if (target_owned && local.variable_type.is_disposable ()) {
                        temp_access = new ReferenceTransferExpression (temp_access, local.source_reference);
                        temp_access.target_type = target_type != null ? target_type.copy () : 
local.variable_type.copy ();
                        temp_access.target_type.value_owned = true;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]