@@ -42,11 +42,6 @@ class TransformerImpl {
4242 virtual void
4343 onMatchImpl (const ast_matchers::MatchFinder::MatchResult &Result) = 0 ;
4444};
45-
46- // FIXME: Use std::type_identity or backport when available.
47- template <class T > struct type_identity {
48- using type = T;
49- };
5045} // namespace detail
5146
5247template <typename T> struct TransformerResult {
@@ -95,8 +90,8 @@ class Transformer : public ast_matchers::MatchFinder::MatchCallback {
9590 template <typename MetadataT>
9691 explicit Transformer (
9792 transformer::RewriteRuleWith<MetadataT> Rule,
98- std::function<void (llvm::Expected<TransformerResult<
99- typename detail::type_identity<MetadataT>::type >>)>
93+ std::function<void (
94+ llvm::Expected<TransformerResult<llvm:: type_identity_t <MetadataT> >>)>
10095 Consumer);
10196
10297 // / N.B. Passes `this` pointer to `MatchFinder`. So, this object should not
@@ -200,8 +195,8 @@ template <typename T> class WithMetadataImpl final : public TransformerImpl {
200195template <typename MetadataT>
201196Transformer::Transformer (
202197 transformer::RewriteRuleWith<MetadataT> Rule,
203- std::function<void (llvm::Expected<TransformerResult<
204- typename detail::type_identity<MetadataT>::type >>)>
198+ std::function<void (
199+ llvm::Expected<TransformerResult<llvm:: type_identity_t <MetadataT> >>)>
205200 Consumer)
206201 : Impl(std::make_unique<detail::WithMetadataImpl<MetadataT>>(
207202 std::move (Rule), std::move(Consumer))) {}
0 commit comments