25 lines · plain
1// RUN: rm -rf %t2// RUN: mkdir -p %t3// RUN: split-file %s %t4//5// RUN: %clang_cc1 -std=c++23 %t/a.cppm -emit-module-interface -o %t/a.pcm6// RUN: %clang_cc1 -std=c++23 %t/a.cppm -emit-reduced-module-interface -o %t/a.pcm7// RUN: %clang_cc1 -std=c++23 %t/a.cppm -emit-llvm -o -8 9//--- a.h10typedef int nghttp2_session_callbacks;11 12//--- a.cppm13module;14#include "a.h"15export module g;16template <typename, typename T>17concept Deleter = requires(T ptr) { ptr; };18template <typename T, Deleter<T>> struct Handle {19 void GetRaw(this auto);20};21struct SessionCallbacksDeleter22 : Handle<nghttp2_session_callbacks, SessionCallbacksDeleter> {23} Server_callbacks;24void Server() { Server_callbacks.GetRaw(); }25