Новый язык Google Go пытается облегчить управление зависимостями явно требуя, чтобы все зависимости, перечисленные в модуле, фактически использовались. Компилятор отклонит модуль, объявляющий зависимость от модуля, не используя ничего из этого модуля.
Не разрешено импортировать пакет или импортировать пакет без обращения к любому из его экспортированных идентификаторов.
Я могу придумать некоторые очевидные преимущества (например, чистые модули), но, возможно, есть некоторые неочевидные. Единственным недостатком, о котором я могу думать, является чрезмерный педантичный компилятор, слишком много жалующийся во время рефакторинга, но, возможно, есть больше?
Есть ли у вас опыт работы с другими языками, соблюдающими это? Каковы плюсы и минусы этого подхода?