Compiler Crash on nested associatedtype (swiftlang-5.7.0.123.8 - XCode 14-Beta6)

When using swift-driver version: 1.62.3 Apple Swift version 5.7 (swiftlang-5.7.0.123.8 clang-1400.0.29.50) Target: x86_64-apple-macosx12.0;

Compiler crashes (dump below) on the following [reduced on purpose] code:

import Foundation

class Object { init(){} }
class GlobalSettings { init(){}}
class RealmGlobalSettings: Object {}

protocol DomainConvertibleType {
    associatedtype DomainType
    
    var toDomainObject: DomainType { get }
}

protocol RealmConvertible {
    associatedtype RealmType: DomainConvertibleType
    
    var identifier: String { get }
        
    func toRealmObject(realm: String?) -> RealmType
}

public protocol RepositoryType {
    associatedtype T
    
    func save(entity: T) 
}

class Repository<T: RealmConvertible>: RepositoryType where T == T.RealmType.DomainType, T.RealmType: Object {
	func save(entity: T)  {
        print("Test")
    }
}

protocol SetGlobalSettingsUseCase {
    func save(globalSettings: GlobalSettings)
}

extension Repository: SetGlobalSettingsUseCase where T == GlobalSettings {
    func save(globalSettings entity: GlobalSettings) {}
}

extension RealmGlobalSettings: DomainConvertibleType {
    var toDomainObject: GlobalSettings {
        GlobalSettings()
    }
}

extension GlobalSettings: RealmConvertible {
    typealias RealmType = RealmGlobalSettings

    func toRealmObject(realm: String?) -> RealmGlobalSettings {
        return RealmGlobalSettings()
    }
}

Crash Dump:

Cannot build interface type for term τ_0_0.[RealmConvertible:RealmType].[DomainConvertibleType:DomainType]
Prefix term does not not have a nested type named RealmType: τ_0_0
Property map entry: τ_0_0 => { layout: _NativeClass superclass: [superclass: GlobalSettings] concrete_type: [concrete: GlobalSettings] }

Property map: {
  τ_0_0 => { layout: _NativeClass superclass: [superclass: GlobalSettings] concrete_type: [concrete: GlobalSettings] }
}
Stack dump:
0.	Program arguments: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -interpret test.swift -enable-objc-interop -stack-check -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -color-diagnostics -new-driver-path /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-driver -empty-abi-descriptor -resource-dir /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift -module-name test -disable-clang-spi -target-sdk-version 12.3
1.	Apple Swift version 5.7 (swiftlang-5.7.0.123.8 clang-1400.0.29.50)
2.	Compiling with the current language version
3.	While evaluating request TypeCheckSourceFileRequest(source_file "test.swift")
4.	While type-checking extension of Repository (at test.swift:37:1)
5.	While evaluating request GenericSignatureRequest(extension of Repository)
6.	While evaluating request InferredGenericSignatureRequest(test, NULL, <T>, extension of Repository, {}, {(Repository<T>, null)}, 1)
7.	While evaluating request InferredGenericSignatureRequestRQM(NULL, <T>, extension of Repository, {}, {(Repository<T>, null)}, 1)
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  swift-frontend           0x0000000105ae8827 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 39
1  swift-frontend           0x0000000105ae7858 llvm::sys::RunSignalHandlers() + 248
2  swift-frontend           0x0000000105ae8e40 SignalHandler(int) + 288
3  libsystem_platform.dylib 0x00007ff810b77dfd _sigtramp + 29
4  swift-frontend           0x0000000101c6fb97 swift::rewriting::Symbol::dump(llvm::raw_ostream&) const + 2423
5  libsystem_c.dylib        0x00007ff810aadd24 abort + 123
6  swift-frontend           0x0000000101c2d861 getTypeForSymbolRange(swift::rewriting::Symbol const*, swift::rewriting::Symbol const*, swift::ArrayRefView<swift::Type, swift::GenericTypeParamType*, swift::GenericTypeParamType* swift::staticCastHelper<swift::GenericTypeParamType>(swift::Type const&), true>, swift::rewriting::PropertyMap const&) + 2465
7  swift-frontend           0x0000000101c410be swift::rewriting::RequirementMachine::buildRequirementsFromRules(llvm::ArrayRef<unsigned int>, llvm::ArrayRef<unsigned int>, swift::ArrayRefView<swift::Type, swift::GenericTypeParamType*, swift::GenericTypeParamType* swift::staticCastHelper<swift::GenericTypeParamType>(swift::Type const&), true>, bool, std::__1::vector<swift::Requirement, std::__1::allocator<swift::Requirement> >&, std::__1::vector<swift::ProtocolTypeAlias, std::__1::allocator<swift::ProtocolTypeAlias> >&) const + 718
8  swift-frontend           0x0000000101c4fea4 swift::rewriting::RequirementMachine::computeMinimalGenericSignature(bool) + 244
9  swift-frontend           0x0000000101c52b3d swift::InferredGenericSignatureRequestRQM::evaluate(swift::Evaluator&, swift::GenericSignatureImpl const*, swift::GenericParamList*, swift::WhereClauseOwner, llvm::SmallVector<swift::Requirement, 2u>, llvm::SmallVector<swift::TypeLoc, 2u>, bool) const + 3213
10 swift-frontend           0x00000001016b00b7 swift::SimpleRequest<swift::InferredGenericSignatureRequestRQM, llvm::PointerIntPair<swift::GenericSignature, 3u, swift::OptionSet<swift::GenericSignatureErrorFlags, unsigned int>, llvm::PointerLikeTypeTraits<swift::GenericSignature>, llvm::PointerIntPairInfo<swift::GenericSignature, 3u, llvm::PointerLikeTypeTraits<swift::GenericSignature> > > (swift::GenericSignatureImpl const*, swift::GenericParamList*, swift::WhereClauseOwner, llvm::SmallVector<swift::Requirement, 2u>, llvm::SmallVector<swift::TypeLoc, 2u>, bool), (swift::RequestFlags)2>::evaluateRequest(swift::InferredGenericSignatureRequestRQM const&, swift::Evaluator&) + 343
11 swift-frontend           0x0000000101b87a2e llvm::Expected<swift::InferredGenericSignatureRequestRQM::OutputType> swift::Evaluator::getResultCached<swift::InferredGenericSignatureRequestRQM, (void*)0>(swift::InferredGenericSignatureRequestRQM const&) + 2158
12 swift-frontend           0x0000000101b7a5d5 swift::InferredGenericSignatureRequest::evaluate(swift::Evaluator&, swift::ModuleDecl*, swift::GenericSignatureImpl const*, swift::GenericParamList*, swift::WhereClauseOwner, llvm::SmallVector<swift::Requirement, 2u>, llvm::SmallVector<swift::TypeLoc, 2u>, bool) const + 421
13 swift-frontend           0x00000001016aff1f swift::SimpleRequest<swift::InferredGenericSignatureRequest, llvm::PointerIntPair<swift::GenericSignature, 3u, swift::OptionSet<swift::GenericSignatureErrorFlags, unsigned int>, llvm::PointerLikeTypeTraits<swift::GenericSignature>, llvm::PointerIntPairInfo<swift::GenericSignature, 3u, llvm::PointerLikeTypeTraits<swift::GenericSignature> > > (swift::ModuleDecl*, swift::GenericSignatureImpl const*, swift::GenericParamList*, swift::WhereClauseOwner, llvm::SmallVector<swift::Requirement, 2u>, llvm::SmallVector<swift::TypeLoc, 2u>, bool), (swift::RequestFlags)2>::evaluateRequest(swift::InferredGenericSignatureRequest const&, swift::Evaluator&) + 351
14 swift-frontend           0x000000010158554d llvm::Expected<swift::InferredGenericSignatureRequest::OutputType> swift::Evaluator::getResultUncached<swift::InferredGenericSignatureRequest>(swift::InferredGenericSignatureRequest const&) + 733
15 swift-frontend           0x000000010158515e llvm::Expected<swift::InferredGenericSignatureRequest::OutputType> swift::Evaluator::getResultCached<swift::InferredGenericSignatureRequest, (void*)0>(swift::InferredGenericSignatureRequest const&) + 702
16 swift-frontend           0x000000010164b36c swift::GenericSignatureRequest::evaluate(swift::Evaluator&, swift::GenericContext*) const + 2380
17 swift-frontend           0x0000000101a4f60e swift::GenericContext::getGenericSignature() const + 1934
18 swift-frontend           0x0000000101620581 swift::ASTVisitor<(anonymous namespace)::DeclChecker, void, void, void, void, void, void>::visit(swift::Decl*) + 2193
19 swift-frontend           0x000000010161c629 (anonymous namespace)::DeclChecker::visit(swift::Decl*) + 441
20 swift-frontend           0x000000010161c461 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 193
21 swift-frontend           0x00000001016f8cf7 swift::TypeCheckSourceFileRequest::evaluate(swift::Evaluator&, swift::SourceFile*) const + 567
22 swift-frontend           0x00000001016fbe9d llvm::Expected<swift::TypeCheckSourceFileRequest::OutputType> swift::Evaluator::getResultUncached<swift::TypeCheckSourceFileRequest>(swift::TypeCheckSourceFileRequest const&) + 669
23 swift-frontend           0x00000001016f8a72 swift::performTypeChecking(swift::SourceFile&) + 114
24 swift-frontend           0x0000000100724a84 swift::CompilerInstance::performSema() + 292
25 swift-frontend           0x00000001006a7e17 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 4711
26 swift-frontend           0x000000010063e12a swift::mainEntry(int, char const**) + 3082
27 dyld                     0x000000011511c52e start + 462

This is now a Ticket: Compiler Crash on nested associatedtype (5.7 XCode beta6) · Issue #60900 · apple/swift · GitHub