// Compiler options: -langversion:experimental
class Derived (int arg, ref byte b, out int o) : Base (out o)
{
	public long field = arg;
	public int fieldRef = b;
}

class Base
{
	internal Base (out int o)
	{
		o = 8;
	}
}

class X
{
	public static int Main ()
	{
		int arg;
		byte b = 4;
		var d = new Derived (-5, ref b, out arg);
		if (d.field != -5)
			return 1;

		if (d.fieldRef != 4)
			return 2;

		System.Console.WriteLine ("ok");
		return 0;
	}
}