[all-commits] [llvm/llvm-project] c25c22: [libcxx] moves `std::invoke` into `__functional_base`
Christopher Di Bella via All-commits
all-commits at lists.llvm.org
Mon Apr 5 18:46:00 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c25c22d5f9b7e56c0c350982b5ec41095c5a0a05
https://github.com/llvm/llvm-project/commit/c25c22d5f9b7e56c0c350982b5ec41095c5a0a05
Author: Christopher Di Bella <cjdb at google.com>
Date: 2021-04-06 (Tue, 06 Apr 2021)
Changed paths:
M libcxx/include/__functional_base
M libcxx/include/concepts
M libcxx/include/functional
Log Message:
-----------
[libcxx] moves `std::invoke` into `__functional_base`
Including `<concepts>` in other standard library headers (such as
`<iterator>`) creates circular dependencies due to `<functional>`.
Since `<concepts>` only needs `std::invoke` from `<functional>`, the
easiest, fastest, and cleanest way to eliminate the circular dep is to
move `std::invoke` into `__functional_base`.
This has the added advantage of `<concepts>` not transitively importing
`<functional>`.
Differential Revision: https://reviews.llvm.org/D99041
More information about the All-commits
mailing list