Skip to content

Commit 38cea20

Browse files
committed
Instantiate what implicit members use inside their trial
1 parent 30df58c commit 38cea20

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

‎cpp2rust/converter/converter_lib.cpp‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1638,7 +1638,12 @@ void DefineImplicitMembers(clang::Sema &sema, clang::CXXRecordDecl *decl) {
16381638
sema.ForceDeclarationOfImplicitMembers(decl);
16391639
auto define = [&](clang::FunctionDecl *fn, auto &&definer) {
16401640
RuleDecls::Trial trial(sema);
1641-
definer();
1641+
{
1642+
clang::Sema::GlobalEagerInstantiationScope instantiations(
1643+
sema, /*Enabled=*/true, /*AtEndOfTU=*/false);
1644+
definer();
1645+
instantiations.perform();
1646+
}
16421647
if (trial.failed()) {
16431648
fn->setDeletedAsWritten(true);
16441649
}

0 commit comments

Comments
 (0)