title: Swift struct adopting protocol with static read-write property doesn't conform?
body: <p>Why doesn't this compile in Swift 1.2?</p>
  
  <pre><code>protocol Proto {
      static var name : String {get set}
  }
  struct Struct : Proto {
      static var name : String = "name"
  }
  </code></pre>
  
  <p>(In Swift 1.1, just substitute <code>class</code> for <code>static</code> inside the protocol declaration. Same problem.)</p>
  
  <p>The compiler complains that I'm not conforming to the protocol. But why am I not? It's easy to prove that the static property <code>name</code> in Struct <em>is</em> both readable and writable, so I've satisfied the spirit of the protocol, surely.</p>
  
  <p>I have some additional observations:</p>
  
  <ul>
  <li><p>If I remove the <code>set</code> from the protocol requirement, the issue goes away.</p></li>
  <li><p>If I leave the <code>set</code> in place, but I remove the <code>static</code> (or <code>class</code>) from the protocol requirement and the <code>static</code> from the Struct implementation, the issue goes away.</p></li>
  <li><p>If I leave the <code>static</code> in place and turn the stored variable into a computed variable, the issue goes away.</p></li>
  <li><p>If I change the struct to a class, the issue goes away.</p></li>
  </ul>
  
  <p>But I'm no closer to understanding what the compiler doesn't like about what I've got. Why doesn't a static stored property satisfy the protocol requirement?</p>