// Based on C++20 10.2 example 4.
// RUN: %clang_cc1 -std=c++20 -emit-module-interface %s -verify -o %t
export module M;
struct S { // expected-note {{previous declaration is here}}
int n;
};
typedef S S;
export typedef S S; // OK, does not redeclare an entity
export struct S; // expected-error {{cannot export redeclaration 'S' here since the previous declaration has module linkage}}