title: Implicit ExecutionContext priority in Scala 2.12
body: <p>In Scala 2.12 importing the <code>global</code> execution context and then having another implicit execution context defined in the scope results in an ambiguous implicit, while in 2.11 it works just fine.</p>
  
  <pre><code>import scala.concurrent._
  import scala.concurrent.ExecutionContext.Implicits.global
  
  class A(implicit ec: ExecutionContext) {
    x = implicitly[ExecutionContext]
  }
  </code></pre>
  
  <p>Compiler gives error:</p>
  
  <pre><code>error: ambiguous implicit values:
   both lazy value global in object Implicits of type =&gt; scala.concurrent.ExecutionContext
   and value ec in class A of type scala.concurrent.ExecutionContext
   match expected type scala.concurrent.ExecutionContext
         val x = implicitly[ExecutionContext]
                           ^
  </code></pre>
  
  <p>What is the cause of this and how to work around it in code?</p>