swift
0f076c07 - Fix metadata availability testing for parameterized existentials

Commit
1 year ago
Fix metadata availability testing for parameterized existentials and implement it for @isolated(any) function types. The existing testing was pretty broken: we were diagnosing all sorts of things that don't require type metadata (like using a tuple with an extended existential in a value position in an API signature) and not diagnosing several things that do (like covariant function conversions that erase types). There's therefore some risk to this patch, but I'm not too worried because needing metadata like this is pretty uncommon, and it's likely that programs won't build correctly anyway --- it'll just get caught by the linker instead of the compiler.
Author
Committer
Parents
  • include/swift/AST
    • File
      DiagnosticsSema.def
    • File
      FeatureAvailability.def
  • lib
    • IRGen
      • File
        GenReflection.cpp
      • File
        MetadataRequest.cpp
    • Sema
      • File
        TypeCheckAvailability.cpp
      • File
        TypeCheckAvailability.h
      • File
        TypeCheckProtocol.cpp
  • test
    • IRGen
      • isolated_any.sil
      • isolated_any_metadata.sil
    • Parse
      • File
        isolated_any.swift
    • Sema
      • File
        availability_isolated_any.swift
      • File
        availability_parameterized_existential.swift
  • validation-test/IRGen
    • 98995607.swift.gyb