Skip to content

Rust associated type defaults are skipped under protocol-kind traits #2611

Description

@Widthdom

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions