Files
gcc/libstdc++-v3
Patrick Palka 8256d5c009 libstdc++: use concrete return type for std::forward_like
Inspired by https://github.com/llvm/llvm-project/issues/101614 this
inverts the relationship between forward_like and __like_t so that
forward_like is defined in terms of __like_t and with a concrete return
type.  __like_t in turn is defined via partial specializations that
pattern match on the const- and reference-ness of T.

This turns out to be more SFINAE friendly and significantly cheaper
to compile than the previous implementation.

libstdc++-v3/ChangeLog:

	* include/bits/move.h (__like_impl): New metafunction.
	(__like_t): Redefine in terms of __like_impl.
	(forward_like): Redefine in terms of __like_t.
	* testsuite/20_util/forward_like/2_neg.cc: Don't expect
	error outside the immediate context anymore.

Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
2024-08-03 09:05:05 -04:00
..
2024-08-03 00:18:55 +00:00

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.