title: How do I implement an operator for a class nested in a generic struct?
body: <p>When I nest a class inside a generic struct and try to implement the equality operator, like this:</p>
  
  <pre><code>struct Outer&lt;T&gt; {
      class Inner : Equatable {}
  }
  
  @infix func == &lt;T&gt;(lhs: Outer&lt;T&gt;.Inner, rhs: Outer&lt;T&gt;.Inner) -&gt; Bool {
      return lhs === rhs
  }
  </code></pre>
  
  <p>I get the following error when I try to run the project:</p>
  
  <pre><code>While emitting IR SIL function @_TFCC4Test5Outer5InnerCU__fMS1_FT_S1_ for 'init' at .../Testing.swift:20:11
  &lt;unknown&gt;:0: error: unable to execute command: Segmentation fault: 11
  &lt;unknown&gt;:0: error: swift frontend command failed due to signal (use -v to see invocation)
  Command /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 254
  </code></pre>
  
  <p>However, it works fine when I do the same thing without nesting the class:</p>
  
  <pre><code>class MyClass : Equatable {}
  
  @infix func == (lhs: MyClass, rhs: MyClass) -&gt; Bool {
      return lhs === rhs
  }
  </code></pre>
  
  <p>Is this a bug with the compiler, or am I doing something wrong?</p>