Compiler Error CS1629

Unsafe code may not appear in iterators

The C# language specification does not allow unsafe code in iterators.

The following sample generates CS1629:

// CS1629.cs
// compile with: /unsafe  
using System.Collections.Generic;
class C 
{
   IEnumerator<int> IteratorMeth() {
      int i;
      unsafe  // CS1629
      {
         int *p = &i;
         yield return *p;
      }
   }
}