This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Remove experimental/algorithm
AbandonedPublic

Authored by philnik on Feb 11 2022, 1:22 PM.

Details

Reviewers
ldionne
Quuxplusone
Group Reviewers
Restricted Project
Summary

The only thing left in experimental/algorithm is std::search() with a Searcher and that has been implemented in d835e59211883, which was part of LLVM7.

Diff Detail

Event Timeline

philnik created this revision.Feb 11 2022, 1:22 PM
philnik requested review of this revision.Feb 11 2022, 1:22 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 11 2022, 1:22 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript

Seems plausible to me, but there should be a ton of libcxx/test/ diffs here. I don't think buildkite ran on this... but I can't figure out why not.

Please git grep experimental/algorithm ../libcxx and fix what you find.

philnik updated this revision to Diff 408169.Feb 12 2022, 3:26 AM
  • Remove experimental/algorithm from tests
Herald added a project: Restricted Project. · View Herald TranscriptFeb 12 2022, 3:26 AM

Please git grep experimental/algorithm ../libcxx and fix what you find.

Nice catch @Quuxplusone, it seems our CI coverage isn't good enough. @philnik do want to look at why the CI didn't catch this?

Herald added a project: Restricted Project. · View Herald TranscriptMar 5 2022, 10:07 AM
philnik updated this revision to Diff 413294.Mar 6 2022, 4:43 AM
  • Disable searcher tests in c++14
Quuxplusone requested changes to this revision.Mar 6 2022, 6:52 AM
Quuxplusone added a subscriber: jloser.

This is related to D119198: std::experimental::search works hand-in-hand with std::experimental::boyer_moore_searcher and company. We can't remove std::experimental::boyer_moore_searcher because we have not yet implemented C++17 std::boyer_moore_searcher
https://en.cppreference.com/w/cpp/utility/functional/boyer_moore_searcher
In this PR, @philnik observes that we could remove std::experimental::search, and just tell people to use std::experimental::boyer_moore_searcher with std::search instead.
In D119198, @jloser observed that we could remove std::experimental::default_searcher, and just tell people to use std::default_searcher with std::experimental::search instead.
But we can't remove all of the experimental searcher stuff in one fell swoop yet, because we haven't implemented the C++17 equivalents.

D119585 seems to me slightly more acceptable than D119198... but guys, we should just implement the C++17 searchers already! @philnik, do you want to take that on?

This revision now requires changes to proceed.Mar 6 2022, 6:52 AM
philnik abandoned this revision.Oct 27 2022, 11:05 AM
libcxx/include/CMakeLists.txt