[Mono-bugs] [Bug 82490][Min] Changed - ContextStatic variable initializer doesn't work

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Mon Aug 20 10:04:49 EDT 2007


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by jan.oravec at 6com.sk.

http://bugzilla.ximian.com/show_bug.cgi?id=82490

--- shadow/82490	2007-08-20 08:52:18.000000000 -0400
+++ shadow/82490.tmp.27208	2007-08-20 10:04:49.000000000 -0400
@@ -173,6 +173,38 @@
 
 see http://www.yoda.arachsys.com/csharp/beforefieldinit.html
 
 This is "by design" as well and not-a-bug. You can repro it
 w/out contexts.
 
+
+------- Additional Comments From jan.oravec at 6com.sk  2007-08-20 10:04 -------
+Thanks for good pointer and sorry for taking your time with not-a-bugs.
+
+I do not think it is related to beforefieldinit, as initializer should
+still be called before access.
+
+I think it has something to do with initializer dependency resolution,
+as changing order of static variables helped. Mono appears to run
+initializers in code order, even if there is a dependency. The
+following code writes 'true':
+
+
+class A { }
+
+class B
+{
+  public static A foo = goo;
+  public static A goo = new A ();
+}
+
+class C
+{
+  public static void Main ()
+  {
+    System.Console.WriteLine (B.foo == null);
+  }
+}
+
+I would expect some dependency resolution, but I am not sure about C#
+specification. Not reopening as I am not sure if this is a bug or feature.
+


More information about the mono-bugs mailing list