<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS0171</ErrorName>
  <Examples>
    <string>// CS0171: Field `Test.x' must be fully assigned before control leaves the constructor
// Line: 10

public struct Test
{
	internal int x;

	public Test (int x)
	{
		X = x;
	}

	public int X
	{
		get { return x; }
		set { x = value; }
	}
}
</string>
    <string>// CS0171: Field `S&lt;TKey&gt;.key' must be fully assigned before control leaves the constructor
// Line: 13

public struct S&lt;TKey&gt; {
	internal TKey key;

	public TKey Key {
		get { return key; }
		private set { key = value; }
	}
		
	public S (TKey key)
	{
		Key = key;
	}
}
</string>
    <string>// CS0171: Field `S.value' must be fully assigned before control leaves the constructor
// Line: 10

using System;

struct S
{
	internal string value;

	public S (int arg)
	{
		if (arg &gt; 0) {
			return;
		}

		throw new ApplicationException ();
	}
}
</string>
    <string>// CS0171: Field `S.ev' must be fully assigned before control leaves the constructor
// Line: 12

using System;

struct S
{
	public event EventHandler ev;
	
	public S (int i)
	{
	}
}
</string>
    <string>// CS0171: Field `Test.v2' must be fully assigned before control leaves the constructor
// Line: 28

public struct V
{
	public int x;
}

struct Test
{
	public V v1;
	public V v2;

	public Test (int mm)
	{
		v1 = new V ();
	}

	public static void Main ()
	{
	}
}
</string>
    <string>// CS0171: Field `S1.s2' must be fully assigned before control leaves the constructor
// Line: 11

using System;

struct S1
{
	S2 s2;

	public S1 (int arg)
	{
	}
}

struct S2
{
	int field;
}
</string>
    <string>// CS0171: Field `X.x' must be fully assigned before control leaves the constructor
// Line: 
struct X {
	public readonly int x;

	X (int a)
	{
	}

	static void Main () {}
}
</string>
  </Examples>
</ErrorDocumentation>