У меня есть реализация для общедоступной черты, которая повторяет некоторую работу над несколькими функциями, поэтому я хотел бы DRY ее с помощью функции, которая выполняет общую работу, которая будет вызвана из функций, которые на самом деле предназначены для использования. Поэтому у меня есть:Есть ли способ иметь частные функции в общедоступных чертах?
fn do_private_thing()
fn do_pub_1()
fn do_pub_2()
Я не хочу do_private_thing()
выставляться в документации или использовать непосредственно, потому что он ничего полезного из не делать перспектива пользователя признака/реализации. Но функции в публичных чертах не являются частными.
Я мог бы сделать do_private_thing
частной функцией в модуле, где реализована реализация признака, но этот признак требует выполнения этой функции любой реализацией этого признака. Поэтому я чувствую, что немного лежу, если я оставлю этот код вне реализации.
Какой разумный способ проложить это в ржавчине?
[mcve] может быть здорово понять, чего вы хотите. – Stargateur
@Stargateur Но это до любой конкретной реализации. Я спрашиваю, что такое мышление вообще. Что будет здесь MCVE, но куча фигурных фигурных скобок и ключевые слова 'impl' /' trait'? –
Ну, я новичок в ржавчине, но у меня есть некоторые навыки в разработке API. Я не уверен, что понял часть ржавчины этого вопроса. [Mcve] может помочь мне лучше понять часть ржавчины. Потому что этот вопрос, вероятно, больше связан с дизайном. Может быть, вы могли бы предоставить «псевдокод»? – Stargateur