title: Swift 2.2 #selector in protocol extension compiler error
body: <p>I've got a protocol extension it used to work perfectly before swift 2.2.<br></p>
  
  <p>Now I have a warning that tells me to use the new <code>#selector</code>, but if I add it</p>
  
  <blockquote>
    <p>no method declared with Objective-C Selector.<br></p>
  </blockquote>
  
  <p>I tried to reproduce the issue in this few lines of code, that can be easily copy and paste also into playground</p>
  
  <pre><code>  protocol Tappable {
      func addTapGestureRecognizer()
      func tapGestureDetected(gesture:UITapGestureRecognizer)
  }
  
  extension Tappable where Self: UIView {
      func addTapGestureRecognizer() {
          let gesture = UITapGestureRecognizer(target: self, action:#selector(Tappable.tapGestureDetected(_:)))
          addGestureRecognizer(gesture)
      }
  }
  
  class TapView: UIView, Tappable {
      func tapGestureDetected(gesture:UITapGestureRecognizer) {
          print("Tapped")
      }
  }
  </code></pre>
  
  <p>There is also a suggestion to append to that method in the protocol <code>@objc</code>, but if I do it asks me also to add it to the class that implements it, but once I add the class doesn't conform to the protocol anymore, because it doesn't seems to see the implementation in the protocol extension.
  <br>
  How can I implement this correctly?</p>