title: Not conforming to a protocol
body: <p>I converted some Swift 2 code to Swift 3 and now my struct no longer conforms to a protocol. I clearly have the protocol, and every time I try reapply it, I get an another error, invalid redelacartion. I can't seem to figure out why this error is occurring. Here is my code if any one has any recommendations of whats wrong, or where to look?</p>
  
  <pre><code>struct wpOauth: wpOAuthProtocol,  {
  
    typealias PropertyType = ObserverProperty
    let propertyChanged = Event&lt;ObserverProperty&gt;()
  
  //We'll need to access NSUserDefaults
  let defaults = UserDefaults.standard
  
  
  func getUserData(completionHandler: @escaping (String) -&gt; ()) -&gt; () {
      guard let accessToken = defaults.string(forKey: "accessToken") else {
          return
      }
  
      manager.request(siteUrl, method: .post, parameters: [
          "access_token": accessToken
          ]).responseJSON { response in
  
              guard let data = response.result.value else{
                  self.propertyChanged.raise(data: .NetworkError)
                  return
              }
  
              let json = JSON(data)
  
              guard (json["error"].string != nil) else{
  
                  //Get username to be displayed in input field
                  guard let displayName = json["display_name"].string else{
                      return
                  }
  
                  completionHandler(displayName)
  
                  return
              }
  
      }
  }
  </code></pre>
  
  <p>This is the Protocol </p>
  
  <pre><code> protocol wpOAuthProtocol {
   func getUserData(completionHandler:(String) -&gt; ()) -&gt; ()
   }
  </code></pre>