// Compiler options: -t:library public struct S { } public enum E { Value = 3 } public class B { public static string TestString (string s = "mono") { return s; } public static B TestB (B b = null) { return b; } public static T Test (T t = default (T)) { return t; } public static ulong TestNew (ulong s = new ulong ()) { return s; } public static decimal TestDecimal (int i, decimal d = decimal.MinValue) { return d; } public static E TestEnum (E e = E.Value) { return e; } byte ch; public byte this [int id, byte v = 1+5] { get { return v; } set { ch = value; } } }