Boost C++ Libraries: Ticket #2134: Namespace conflict in implementation of Boost.Integer https://svn.boost.org/trac10/ticket/2134 <p> This is based off the thread starting at &lt;<a class="ext-link" href="http://lists.boost.org/Archives/boost/2008/07/139840.php"><span class="icon">​</span>http://lists.boost.org/Archives/boost/2008/07/139840.php</a>&gt;. </p> <p> In "[source:trunk/boost/integer.hpp@47408 boost/integer.hpp]", class templates in the <code>boost::detail</code> namespace refer to an unadorned <code>integer_traits</code> template. The template referenced is meant to be <code>boost::integer_traits</code> in "[source:trunk/boost/boost/integer_traits.hpp@32576 boost/integer_traits.hpp]". However, a <code>boost::detail::integer_traits</code> template exists in "[source:trunk/boost/boost/detail/numeric_traits.hpp@24446 boost/detail/numeric_traits.hpp]". This latter template gets priority as the choice of what the unadorned <code>integer_traits</code> mention refers to, which was not intended. The problem only manifests when "boost/detail/numeric_traits.hpp" gets #included, directly or indirectly, before "boost/integer.hpp", but doesn't manifest if "boost/integer.hpp" is #included first (which may be a ODR violation). </p> <p> Thanks to Jeroen van der Wulp for initially reporting this and providing a potential patch. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2134 Trac 1.4.3 Daryle Walker Mon, 21 Jul 2008 22:50:03 GMT attachment set https://svn.boost.org/trac10/ticket/2134 https://svn.boost.org/trac10/ticket/2134 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">boost-integer.hpp.diff</span> </li> </ul> <p> Potential patch provided by Jeroen van der Wulp </p> Ticket Daryle Walker Mon, 21 Jul 2008 22:51:17 GMT cc changed https://svn.boost.org/trac10/ticket/2134#comment:1 https://svn.boost.org/trac10/ticket/2134#comment:1 <ul> <li><strong>cc</strong> <span class="trac-author">dwalker07@…</span> added </li> </ul> Ticket Daryle Walker Wed, 23 Jul 2008 22:40:22 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/2134#comment:2 https://svn.boost.org/trac10/ticket/2134#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/47742" title="Resolved namespace conflict from unadorned call, which fixes #2134">[47742]</a>) Resolved namespace conflict from unadorned call, which fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/2134" title="#2134: Bugs: Namespace conflict in implementation of Boost.Integer (closed: fixed)">#2134</a> </p> Ticket anonymous Tue, 24 Nov 2009 09:56:55 GMT status changed; resolution deleted https://svn.boost.org/trac10/ticket/2134#comment:3 https://svn.boost.org/trac10/ticket/2134#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">closed</span> → <span class="trac-field-new">reopened</span> </li> <li><strong>resolution</strong> <span class="trac-field-deleted">fixed</span> </li> </ul> <p> Recent Trunk reversion has broken this - or rather it hasn't because Boost.Integer is no longer hiding it's details in the detail namespace - and it should. </p> Ticket John Maddock Tue, 24 Nov 2009 10:12:31 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/2134#comment:4 https://svn.boost.org/trac10/ticket/2134#comment:4 <ul> <li><strong>status</strong> <span class="trac-field-old">reopened</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/57884" title="Tidied up namespace usage, fixes #2134.">[57884]</a>) Tidied up namespace usage, fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/2134" title="#2134: Bugs: Namespace conflict in implementation of Boost.Integer (closed: fixed)">#2134</a>. </p> Ticket