title: Swift - Not wait for async to return
body: <p>I'd like to be able to let the function <code>doSomething()</code> from <code>class B</code> to not be <code>async</code> and to not block it's caller thread. But with the following code I get this error:</p>
  <blockquote>
  <p>Cannot pass function of type '() async -&gt; Void' to parameter expecting synchronous function type</p>
  </blockquote>
  <p>and xcode try to enforce the <code>doSomething()</code> function from <code>class B</code> to be an <code>async</code></p>
  <pre><code>class A {
      func doSomething() async throws {
         //perform 
      }
  }
  
  class B {
     let a = A()
     func doSomething() {
        DispatchQueue.global().async {
          do {
             await try a.doSomething()
          } catch {
             print(error)
          }
       }
    }
  }
  </code></pre>