Summary
Rust trait declarations are indexed with kind protocol, but the associated type default post-processing path only scanned trait containers with kind interface. As a result, defaults such as type Output = (); were not emitted as property symbols and the net9 CI test Extract_RustTraitAssociatedTypeDefaults_RecordsPropertySymbols failed.
Reproduction
dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj --framework net9.0 --filter "FullyQualifiedName~SymbolExtractorTests.Extract_RustTraitAssociatedTypeDefaults_RecordsPropertySymbols"
Expected
Associated type defaults inside Rust traits are emitted as property symbols with the trait container.
Actual
No matching property symbol is emitted because the post-processing pass skips protocol trait containers.
Summary
Rust trait declarations are indexed with kind
protocol, but the associated type default post-processing path only scanned trait containers with kindinterface. As a result, defaults such astype Output = ();were not emitted as property symbols and the net9 CI testExtract_RustTraitAssociatedTypeDefaults_RecordsPropertySymbolsfailed.Reproduction
dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj --framework net9.0 --filter "FullyQualifiedName~SymbolExtractorTests.Extract_RustTraitAssociatedTypeDefaults_RecordsPropertySymbols"Expected
Associated type defaults inside Rust traits are emitted as property symbols with the trait container.
Actual
No matching property symbol is emitted because the post-processing pass skips
protocoltrait containers.