| // https://github.com/llvm/llvm-project/issues/59780 |
| // RUN: %clang_cc1 -std=c++20 %t/data.cppm -emit-module-interface -o %t/data.pcm |
| // RUN: %clang_cc1 -std=c++20 %t/main.cpp -fprebuilt-module-path=%t -fsyntax-only -verify |
| // RUN: %clang_cc1 -std=c++20 %t/data.cppm -emit-reduced-module-interface -o %t/data.pcm |
| // RUN: %clang_cc1 -std=c++20 %t/main.cpp -fprebuilt-module-path=%t -fsyntax-only -verify |
| requires(__is_trivially_destructible(_Tp)) |
| requires(!__is_trivially_destructible(_Tp)) |
| export std::expected<std::unique_ptr<int>> parse() { |
| return std::unique_ptr<int>(nullptr); |
| // expected-no-diagnostics |
| int main(int argc, const char *argv[]) { |
| std::expected<std::unique_ptr<int>> result = parse(); |