// Compiler options: -langversion:experimental using System; struct S { public static int P { get; } = 4; public static int[] PA { get; } = { 0, 2 }; public static int Main () { if (P != 4) return 1; if (PA [1] != 2) return 10; var c = new C (); if (c.P != -3) return 2; if (c.P2 != 1) return 3; c.P2 = 9; if (c.P2 != 9) return 4; var s = new S2 (null); if (s.P != 4) return 12; if (s.P2 != 1) return 13; s.P2 = 9; if (s.P2 != 9) return 14; return 0; } } class C { public decimal P { get; } = -3; public int P2 { get; set; } = 1; } struct S2 { public int P { get; } = 4; public int P2 { get; set; } = 1; public S2 (object o) { } }