Is this a regression or a bug fix in Swift 5 compiler?

Next regression:

struct A {
  typealias Value = Int
}

protocol B {
  typealias Value = A.Value
  typealias X = String
}

protocol NestedProtocol {
  typealias _B = B
}

struct Something: NestedProtocol {
  // workaround: `struct InnerTest: B` but why did it break?

  struct InnerTest: _B { // conforms to `B` but all type aliases are lost
    var value: Value = 42 // error: Use of undeclared type 'Value'
    var x: X = "wait what?" // error Use of undeclared type 'X'
  }
}