title: boost::filesystem::path::lexically_normal: is this incorrect behavior?
body: <p>The documentation of <code>boost::filesystem::path::lexically_normal()</code> states:</p>
  
  <blockquote>
    <p>Returns <code>*this</code> with redundant current directory (dot), parent directory (dot-dot), and directory-separator elements removed.</p>
  </blockquote>
  
  <p>See: <a href="http://www.boost.org/doc/libs/1_63_0/libs/filesystem/doc/reference.html" rel="nofollow noreferrer">http://www.boost.org/doc/libs/1_63_0/libs/filesystem/doc/reference.html</a>.</p>
  
  <p>The following prints <code>./test</code> (using Boost 1.63.0) where I would expect <code>test</code>:</p>
  
  <pre><code>#include &lt;boost/filesystem/path.hpp&gt;
  #include &lt;iostream&gt;
  
  int main(void)
  {
     std::cout &lt;&lt; boost::filesystem::path{"./test"}.lexically_normal().string() &lt;&lt; "\n";
     return 0;
  }
  </code></pre>
  
  <p>So the first dot element is not considered redundant. However, both <code>test</code> and <code>./test</code> obviously resolve to the same file when using boost filesystem, so this seems inconsistent to me. Is this expected behavior?</p>
  
  <p><em>Update</em>: the C++17 filesystem library returns <code>"test"</code> as expected (GCC 8.2.0, Linux).</p>