pw_digital_io: move type trait definition

Specialization `internal::Requires<class DigitalInterrupt>` was defined
in `pw_digital_io.h` instead of `internal/conversions.h`. This was
missed when moving specializations in the original change.

Change-Id: I205ad9dc5524938cf5bfa8db4be3ea8cd93118c4
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/98660
Commit-Queue: Anton Markov <amarkov@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
diff --git a/pw_digital_io/public/pw_digital_io/digital_io.h b/pw_digital_io/public/pw_digital_io/digital_io.h
index bbb565b..483f1a6 100644
--- a/pw_digital_io/public/pw_digital_io/digital_io.h
+++ b/pw_digital_io/public/pw_digital_io/digital_io.h
@@ -230,12 +230,6 @@
 // Use this class in APIs when only interrupt functionality is required.
 // Extend this class to implement a line that only supports interrupts.
 //
-template <>
-struct internal::Requires<class DigitalInterrupt> {
-  static constexpr bool input = false;
-  static constexpr bool output = false;
-  static constexpr bool interrupt = true;
-};
 class DigitalInterrupt
     : public DigitalIoOptional,
       public internal::Conversions<DigitalInterrupt, DigitalIoOptional> {
diff --git a/pw_digital_io/public/pw_digital_io/internal/conversions.h b/pw_digital_io/public/pw_digital_io/internal/conversions.h
index e0acde9..ec2585d 100644
--- a/pw_digital_io/public/pw_digital_io/internal/conversions.h
+++ b/pw_digital_io/public/pw_digital_io/internal/conversions.h
@@ -97,6 +97,13 @@
 // declarations are in the correct namespace.
 
 template <>
+struct internal::Requires<class DigitalInterrupt> {
+  static constexpr bool input = false;
+  static constexpr bool output = false;
+  static constexpr bool interrupt = true;
+};
+
+template <>
 struct internal::Requires<class DigitalIn> {
   static constexpr bool input = true;
   static constexpr bool output = false;