private члены типа видны extensions того же типа в том же исходном файле; из другого файла private недоступен — используйте fileprivate/internal.
Разбор
- Организация
Type+Feature.swift требует internal API.
- С Swift правила private/fileprivate эволюционировали — знайте текущие.
- Скрывайте helper за
private в том же файле.
- Тесты в другом модуле не видят
internal без @testable.
Итог
Видимость extension зависит от файла/модуля — проектируйте API осознанно.