object Test {
  abstract class Base { val changesBaseClasses: Boolean }
  class Concrete extends Base { val changesBaseClasses = true }
  def getBase : Base = new Concrete

  var c = new Base { val changesBaseClasses = true }
  c = getBase
}

Test case extracted from Paul's broken patch fo...
Test case extracted from Paul's broken patch fo...

Test case extracted from Paul's broken patch for #1458

Essentially one needs to make sure Base { val changesBaseClasses = true } doesn't infer the refinement type Base { val changesBaseClasses : Boolean(true) = true }

