https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85671
Bug ID: 85671 Summary: Lack of `std::move()` inside `operator/` for `std::filesystem::path`. Product: gcc Version: 8.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: lh_mouse at 126 dot com Target Milestone: --- In 'bits/fs_path.h' there is ``` /// Append one path to another inline path operator/(const path& __lhs, const path& __rhs) { return path(__lhs) /= __rhs; } ``` Isn't this returning a copy of the unnamed object, because `operator/=` returns an lvalue reference? I think the operand of the return statement should be `move(path(__lhs) /= __rhs)`.