using System;
public class Program
{
public abstract record Bar<T> where T : new() {
public static T DefaultValue { get; } = new T();
}
public record Foo : Bar<Foo>
public int Test = 4;
public static Foo Default = new Foo {
Test = 2,
};
public static void Main()
Foo r = null;
Console.WriteLine("Test = {0}", Foo.Default.Test);