Вот как это отследить в спецификации языка
Узнайте, что означает реализация интерфейса, в разделе « Типы интерфейса »:
Типы интерфейсов 101
Тип интерфейса определяет набор методов, называемый его интерфейсом.
переменная типа интерфейса может хранить значение любого типа с методом
набор, который является любым надмножеством интерфейса . Такой тип называется
реализовать интерфейс.
Или из раздела " Наборы методов "
Набор методов типа определяет интерфейсы, которые реализует тип ...
Итак, важен набор методов того типа, который вы хотите реализовать в интерфейсе. Давайте посмотрим, что составляет метод, установленный в случае встроенных полей:
Первое, что я проверил, был раздел " Наборы методов ", но он отправляет нас в другое место:
Дополнительные правила применяются к структурам, содержащим встроенные поля, как описано в разделе о типах структур.
Итак, мы переходим в раздел " Типы структур " и находим:
Поле или метод f встроенного поля в структуре x называется
повышен, если x.f является легальным селектором, который обозначает это поле или метод
е.
...
Учитывая тип структуры S и определенный тип T, продвигаемые методы
включается в набор методов структуры следующим образом :
- Если S содержит встроенное поле T, наборы методов S и * S оба включают повышенные методы с получателем T. Набор методов * S также включает повышенные методы с получателем * T.
- Если S содержит встроенное поле * T, наборы методов S и * S оба включают повышенные методы с приемником T или * T.
Итак, учитывая, что методы встроенного поля повышены , они включены в набор метода содержащей структуры. Как мы видели выше, набор методов любого типа определяет, реализует ли он интерфейс.