https://bugzilla.gnome.org/show_bug.cgi?id=777697
basic-types/bug756376.vala \
basic-types/bug761307.vala \
basic-types/bug771626.test \
+ basic-types/bug777697.test \
pointers/bug590641.vala \
namespaces.vala \
methods/lambda.vala \
--- /dev/null
+Invalid Code
+
+namespace Foo {
+ string bar = "bar";
+}
+
+void main () {
+}
return false;
}
+ if (parent_symbol is Namespace && initializer.is_constant ()) {
+ if ((variable_type.nullable || nitializer.is_non_null ()) && (variable_type.value_owned || variable_type.is_disposable ())) {
+ error = true;
+ Report.error (source_reference, "Owned namespace fields can only be initialized in a function or method");
+ return false;
+ }
+ }
+
if (binding == MemberBinding.STATIC && parent_symbol is Class && ((Class)parent_symbol).is_compact && !initializer.is_constant ()) {
error = true;
Report.error (source_reference, "Static fields in compact classes cannot have non-constant initializers");