Почему flow жалуется на нетипизированные параметры функции (отсутствует-annot) в экспортируемом классе?

#javascript #flowtype

#javascript #flowtype

Вопрос:

Вот несколько примеров хорошего кода:

 interface FooType {
   bar: (boolean) => void
}

class Foo implements FooType {
  bar (someArg) {}
}
  

Здесь ничего плохого — работает как ожидалось, без ошибок.

Теперь, если мы экспортируем Foo :

 interface FooType {
   bar: (boolean) => void
}

class Foo implements FooType {
  bar (someArg) {}
}

export default Foo
  

(Ссылка на flow.org/try )

Мы получаем следующую ошибку «Аннотация отсутствующего типа»:

 6:   bar (someArg) {}
          ^ Missing type annotation for `someArg`. [missing-annot]
  

Ого!

Мне не ясно, почему это было бы так. Я нашел это сообщение в блоге о том, что «входные позиции, доступные из экспорта, должны быть аннотированы», но Foo типизированы, и, следовательно, метод bar должен быть явно введен перед экспортом.

Есть какие-либо подсказки относительно того, что происходит?

Спасибо!