<p>I was poking through the matrix completion code when I noticed that <code>matrix_completion_impl.hpp</code> is full of non-templatized functions that aren't marked <code>inline</code>.  This can be a problem if there are two separate compilation units that depend on <code>MatrixCompletion</code>; then there will be multiply-defined linker errors.</p>

<p>There are two possible ways to go, and both are easy: either we explicitly mark each function in <code>matrix_completion_impl.hpp</code> as <code>inline</code> so that the compiler doesn't provide symbols for the functions in separate compilation units, or we move <code>matrix_completion_impl.hpp</code> to <code>matrix_completion.cpp</code>.</p>

<p>But since I didn't write the code, I thought I'd open this issue so that you (<a href="https://github.com/stephentu" class="user-mention">@stephentu</a>) could let me know what you want to do, and then either you can do it or I can do it, whatever, it's easy.  I figured if I waited until you showed up in IRC, I'd forget.  Hence the issue. :)</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br>Reply to this email directly or <a href="https://github.com/mlpack/mlpack/issues/381">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFDdaILfb1yjBZ8t-AshX8uTM_KFxks5nhTTWgaJpZM4DRy0T.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
    <link itemprop="url" href="https://github.com/mlpack/mlpack/issues/381"></link>
    <meta itemprop="name" content="View Issue"></meta>
  </div>
  <meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>