mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
The above referenced issue was causing a compiler crash when writing differentiable protocols and corresponding implementers, without importing the `_Differentiation` module. Changes in this CR fix the issue by marking any `@differentiable` attributes as invalid, if the `_Differentiation` module has not been imported. This ignores the `@differentiable` attributes when the protocol witnesses are being verified. Witness verification was previously leading to an error (due to missing `@differentiable` attribute on the protocol requirement implementer), and the corresponding diagnostic emission code was then leading to a crash, because it was expecting the `_Differentiation` module to be present.
Differentiable Programming Test Suite
This directory tests differentiable programming in Swift, described in
docs/DifferentiableProgramming.md.
Tests are categorized in subdirectories mimicking the directories in test/.