Really support `decltype(auto)` (e.g. in function return types).
PiperOrigin-RevId: 449289704
diff --git a/rs_bindings_from_cc/importer.cc b/rs_bindings_from_cc/importer.cc
index 3c27643..ff988e1 100644
--- a/rs_bindings_from_cc/importer.cc
+++ b/rs_bindings_from_cc/importer.cc
@@ -718,6 +718,11 @@
} else if (const auto* subst_type =
type->getAs<clang::SubstTemplateTypeParmType>()) {
return ConvertQualType(subst_type->getReplacementType(), lifetimes);
+ } else if (const auto* deduced_type = type->getAs<clang::DeducedType>()) {
+ // Deduction should have taken place earlier (e.g. via DeduceReturnType
+ // called from FunctionDeclImporter::Import).
+ CRUBIT_CHECK(deduced_type->isDeduced());
+ return ConvertQualType(deduced_type->getDeducedType(), lifetimes);
}
return absl::UnimplementedError(absl::StrCat(