Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
copilot-c99: Disallow conflicting trigger definitions. Refs Copilot-L…
…anguage#296. The current implementation of Copilot does not allow using the same trigger handler name multiple times, since the C99 backend produces multiple repeated declarations, which is invalid. Prior commits have modified the C99 backend to now allow for multiple triggers with the same handler. However, the resulting code is only valid in C if the triggers always have the same type signatures, since C does not support polymorphism. This commit adds a check to the compilation step to ensure that triggers used multiple times are always used with the same types (and, consequently, the same arity).
- Loading branch information