<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS1654</ErrorName>
  <Examples>
    <string>// CS1654: Cannot assign to members of `f' because it is a `using variable'
// Line: 22

using System;

struct Foo : IDisposable
{
	public int Property {
		set { }
	}

	public void Dispose ()
	{
	}
}

class Bar
{
	static void Main ()
	{
		using (var f = new Foo ()) {
			f.Property = 0;
		}
	}
}</string>
    <string>// CS1654: Cannot assign to members of `f' because it is a `using variable'
// Line: 22

using System;

struct Foo : IDisposable
{
	public int this[int arg] {
		set { }
	}

	public void Dispose ()
	{
	}
}

class Bar
{
	static void Main ()
	{
		using (var f = new Foo ()) {
			f[0] = 1;
		}
	}
}</string>
    <string>// CS1654: Cannot assign to members of `q' because it is a `foreach iteration variable'
// Line: 22

using System.Collections;

struct P {
	public int x;
}

struct Q {
	public P p;
}

class Test {
	static IEnumerable foo () { return null; }

	static void Main ()
	{
		IEnumerable f = foo ();
		if (f != null)
			foreach (Q q in f)
				q.p.x = 0;
	}
}
</string>
    <string>// CS1654: Cannot assign to members of `p' because it is a `foreach iteration variable'
// Line: 18

using System.Collections;

struct P {
	public int x;
}

class Test {
	static IEnumerable foo () { return null; }

	static void Main ()
	{
		IEnumerable f = foo ();
		if (f != null)
			foreach (P p in f)
				p.x = 0;
	}
}
</string>
    <string>// CS1654: Cannot assign to members of `p' because it is a `foreach iteration variable'
// Line: 14

using System.Collections;

struct P {
	public int x { get; set; }
}

class Test {
	static void Foo (IEnumerable f)
	{
		foreach (P p in f)
			p.x += 2;
	}
}
</string>
  </Examples>
</ErrorDocumentation>