Я получаю одно сообщение с предупреждением 4503 «длина украшенного имени превышена, имя было усечено». Во всем большом проекте есть только один, и это, кажется, не слишком длинное имя, если говорить о шаблонах Boost!
warning C4503: 'asio::detail::handler_ptr<Alloc_Traits>::handler_ptr': decorated name length exceeded, name was truncated
with
[
Alloc_Traits=alloc_traits
]
Каждая версия компилятора MSVC ++ расширяет предел, поэтому я ожидаю, что к VS2015 он сможет справиться с Boost MPL без особых хлопот.
Итак, почему предупреждение появляется (и только это), относительно мирское использование шаблона? Любой умный указатель класса с участием CRTP будет значительно длиннее.
Я не решаюсь просто отключить предупреждение в целом из-за других ответов, которые я прочитал на этом сайте. Особенно из-за того, что это так редко, я хотел бы иметь некоторое представление о том, что происходит с ним.
Задача ещё не решена.
Других решений пока нет …