[libcxx-commits] [PATCH] D105932: [libcxx][modules] protects users from relying on libc++ detail headers (1/n)
Christopher Di Bella via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Jul 14 23:54:06 PDT 2021
cjdb updated this revision to Diff 358849.
cjdb retitled this revision from "[libcxx][modules] protects users from relying on libc++ detail headers (1/5)" to "[libcxx][modules] protects users from relying on libc++ detail headers (1/n)".
cjdb added a comment.
Herald added subscribers: wenlei, arichardson.
Sorry @ldionne, but I decided to add tests for this, and I'm gonna need you to give this one last cursory review.
You can get away with reading the Python script that generated all the test cases, so it's not like there's a lot of extra work: it just looks that way :)
I promise that I'll merge after this.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D105932/new/
https://reviews.llvm.org/D105932
Files:
libcxx/include/module.modulemap
libcxx/include/span
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/adjacent_find.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/all_of.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/any_of.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/binary_search.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/clamp.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp_ref_type.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_backward.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_if.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_n.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count_if.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal_range.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill_n.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_end.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_first_of.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if_not.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each_n.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate_n.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/half_positive.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/includes.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/inplace_merge.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap_until.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_partitioned.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_permutation.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted_until.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/iter_swap.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lexicographical_compare.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lower_bound.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/make_heap.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max_element.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/merge.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_element.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax_element.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/mismatch.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move_backward.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/next_permutation.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/none_of.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/nth_element.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort_copy.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_copy.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_point.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/pop_heap.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/prev_permutation.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/push_heap.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy_if.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_if.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy_if.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_if.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse_copy.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate_copy.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sample.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search_n.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_difference.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_intersection.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_symmetric_difference.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_union.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_left.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_right.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shuffle.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sift_down.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort_heap.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_partition.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_sort.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/swap_ranges.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/transform.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique_copy.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unwrap_iter.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/algorithm/upper_bound.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/availability.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/bit_reference.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/bits.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/errc.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/format/format_error.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/format/format_parse_context.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/function_like.h.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_function.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_negate.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/bind.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_front.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/binder.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/default_searcher.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/function.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/hash.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/identity.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/invoke.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/is_transparent.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fn.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fun_ref.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/not_fn.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/operations.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/perfect_forward.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_binary_function.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_unary_function.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/ranges_operations.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/reference_wrapper.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_function.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_negate.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/unwrap_ref.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/functional/weak_result_type.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/access.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/advance.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/back_insert_iterator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/concepts.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/data.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/default_sentinel.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/distance.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/empty.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/erase_if_container.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/front_insert_iterator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/incrementable_traits.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/insert_iterator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/istream_iterator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/istreambuf_iterator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_move.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_swap.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator_traits.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/move_iterator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/next.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostream_iterator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostreambuf_iterator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/prev.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/projected.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/readable_traits.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_access.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_iterator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/size.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/iterator/wrap_iter.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/locale.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/addressof.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/allocation_guard.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_arg_t.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_traits.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/auto_ptr.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/compressed_pair.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/construct_at.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/pointer_safety.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/pointer_traits.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/raw_storage_iterator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/shared_ptr.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/temporary_buffer.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/uninitialized_algorithms.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/unique_ptr.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/memory/uses_allocator.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/mutex_base.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/node_handle.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_int_distribution.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/access.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/all.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/concepts.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/copyable_box.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/data.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/data.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/drop_view.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty_view.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_borrowed_range.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_view.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/ref_view.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/size.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/subrange.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/transform_view.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/ranges/view_interface.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/split_buffer.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/std_stream.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/string.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/tuple.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/__decay_copy.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/as_const.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/cmp.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/declval.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/exchange.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/forward.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/in_place.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/integer_sequence.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/move.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/pair.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/piecewise_construct.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/rel_ops.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/swap.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/to_underlying.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/variant/monostate.module.verify.cpp
libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/types.h
libcxx/utils/generate_private_header_tests.py
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105932.358849.patch
Type: text/x-patch
Size: 231190 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210715/2b6c8d97/attachment-0001.bin>
More information about the libcxx-commits
mailing list