title: compilation error with nvcc and BOOST library
body: <p>nvcc throws</p>
  <pre><code>/usr/include/boost/concept/detail/has_constraints.hpp:29: error: ‘&amp;’ cannot appear in a constant-expression
  /usr/include/boost/concept/detail/has_constraints.hpp:29: error: template argument 2 is invalid
  </code></pre>
  <p>the has_constraints.hpp already has some suspicious code in it:</p>
  <pre><code>#if BOOST_WORKAROUND(__SUNPRO_CC, &lt;= 0x580)
    // Work around the following bogus error in Sun Studio 11, by
    // turning off the has_constraints function entirely:
    //    Error: complex expression not allowed in dependent template
    //    argument expression
    inline no has_constraints_(...);
  #else
    template &lt;class Model&gt;
    inline yes has_constraints_(Model*, wrap_constraints&lt;Model,&amp;Model::constraints&gt;* = 0);
    inline no has_constraints_(...);
  #endif
  </code></pre>
  <p>Question: Is this a nvcc - boost incompatibility, or could there be something wrong with my code?</p>