abstract public class a
  {
    public abstract void func<T>(ref T arg);
  }
  public class b : a
  {
     public override void func<T>(ref T arg)
     {
     }
  }
class main {
	public static void Main () {}
}