backports https://github.com/scala/scala/pull/3647