Skip to content

Compilation error on TimeInterval typealias #853

Description

@vgritsenko

Commit hash: 0dd772b

Context:
While working on a test Android app, noticed that this simple enum referencing TimeInterval is not compiling, even though TimeInterval is defined in the Foundation:

import Foundation

public enum TestEnum {
    case one
    case two(first: TimeInterval)
}

Produces following Java:

extension TestEnum: _RawDiscriminatorRepresentable {
  public var _rawDiscriminator: Int32 {
    switch self {
      case .one: return 0
    } // printEnumRawDiscriminator(_:_:) @ JExtractSwiftLib/JNISwift2JavaGenerator+SwiftThunkPrinting.swift:414
  } // printEnumRawDiscriminator(_:_:) @ JExtractSwiftLib/JNISwift2JavaGenerator+SwiftThunkPrinting.swift:413
} // printEnumRawDiscriminator(_:_:) @ JExtractSwiftLib/JNISwift2JavaGenerator+SwiftThunkPrinting.swift:412

And I see the following in the build output:

[warning][SwiftExtract/SwiftAnalysisVisitor.swift:263](visit(enumCaseDecl:in:)) Failed to import: TestEnum.two in module 'SwiftTestLib'; unknown(IdentifierTypeSyntax
╰─name: identifier("TimeInterval"), file: ".../SwiftTestApplication/lib/.build/checkouts/swift-java/Sources/SwiftExtract/SwiftTypes/SwiftType.swift", line: 579). If the unresolved type lives in another Swift module, declare it as a SwiftPM target dependency with its own swift-java.config (the JExtractSwiftPlugin wires --depends-on automatically), or pass --depends-on <Module>=<config-path> explicitly. 

Environment: Swift 6.3.3 on macOS.

$ swiftly run swift --version
Apple Swift version 6.3.3 (swift-6.3.3-RELEASE)
Target: arm64-apple-macosx26.0

$ uname -a
Darwin it-C01241 25.5.0 Darwin Kernel Version 25.5.0: Tue Jun  9 22:18:58 PDT 2026; root:xnu-12377.121.10~1/RELEASE_ARM64_T6000 arm64

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature:jextractIssues related to jextract-swift

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions