Crash when using protocol extension key path from another target

I recent ran into a pretty simple compiler crash when making a key path to the purport added in a protocol extension in another target.

// Module A
func useDependency() {
    _ = \DependencyProtocol.someValue
}

// Module B
public protocol DependencyProtocol {}

public extension DependencyProtocol {
    var someValue: Bool { false }
}

If the property is defined in the protocol or the extension is in the same module that uses it, there's not issue.

I've filed and issue for it already I'm mainly wondering if anyone knows of a possible workaround for it.

We're trying to have a SettingsStore protocol that we add extensions on to add properties, nearly identical to how EnvironmentValues has properties added to it. We'd like to use a protocol so we can replace the implementation in our tests with a mock version.

https://bugs.swift.org/browse/SR-16091