title: GCC's Warning in Boost Source
body: <p>I am using boost 1.63 and when I compile my application that includes <code>#include &lt;boost/algorithm/string.hpp&gt;</code>.</p>
  
  <p>GCC complains:</p>
  
  <pre><code>In file included from /opt/boost/boost/mpl/aux_/na_assert.hpp:23,
                   from /opt/boost/boost/mpl/arg.hpp:25,
                   from /opt/boost/boost/mpl/placeholders.hpp:24,
                   from /opt/boost/boost/iterator/iterator_categories.hpp:17,
                   from /opt/boost/boost/iterator/iterator_facade.hpp:14,
                   from /opt/boost/boost/range/iterator_range_core.hpp:27,
                   from /opt/boost/boost/range/iterator_range.hpp:13,
                   from /opt/boost/boost/range/as_literal.hpp:22,
                   from /opt/boost/boost/algorithm/string/trim.hpp:19,
                   from /opt/boost/boost/algorithm/string.hpp:19,
           from [my source that includes &lt;boost/algorithm/string.hpp&gt;]
  /opt/boost/boost/mpl/assert.hpp:188:21: warning: unnecessary parentheses in declaration of ‘assert_arg’ [-Wparentheses]
   failed ************ (Pred::************
                       ^
  /opt/boost/boost/mpl/assert.hpp:193:21: warning: unnecessary parentheses in declaration of ‘assert_not_arg’ [-Wparentheses]
   failed ************ (boost::mpl::not_&lt;Pred&gt;::************
                       ^
  </code></pre>
  
  <p>I looked at the source and complained section is:</p>
  
  <pre><code>template&lt; typename Pred &gt;
  failed ************ (Pred::************
        assert_arg( void (*)(Pred), typename assert_arg_pred&lt;Pred&gt;::type )
      );
  
  template&lt; typename Pred &gt;
  failed ************ (boost::mpl::not_&lt;Pred&gt;::************
        assert_not_arg( void (*)(Pred), typename assert_arg_pred_not&lt;Pred&gt;::type )
      );
  </code></pre>
  
  <p>Questions:</p>
  
  <ul>
  <li>what is <code>failed ************ (Pred::************</code>?  The syntax looks weird to me.</li>
  <li>how I can fix it without suppressing all similar warnings?  As GCC's warnings are usually valid and helpful in detecting issues.</li>
  </ul>
  
  <p>I searched online, and the closest, related one is <a href="https://git.idrol.net/idrol/VoxelRPG/issues/28" rel="noreferrer">this</a>.  But its solution seems to just suppress the warnings.</p>
  
  <p>Thanks!</p>