Причём, что удивительно - это почему-то все блюдут. Но то понятно - си с классами, раздельная компиляция. Не понятно почему это не легитимизируют на уровне языка/идеологии. Ведь язык уже давно эти правила нарушает. Очень давно с тем же самым auto f() {}
, с теми же корутинами.
Раз уж уже нельзя разделить сигнатуру/тело между единицами трансляции, то почему бы не выделить это в какой-то отдельный класс функций. Где уже реализовывать нормальный язык.
В той же сишке запили инлайн, функций под которым вообще нигде не существует. Почему бы в С++ не добавить семантический инлайн, либо какой-то расширенный статик.