<unicode/uregex.h> include magically turns into `import ICU`

The ICU module is defined in the macOS SDK's usr/include/unicode.modulemap (referenced by usr/include/module.modulemap), and includes all of the public headers in usr/include/unicode/. So if you're using the macOS SDK as your SDK root (or you're otherwise adding that directory to your header search paths), ClangImporter will treat an inclusion of <unicode/uregex.h> as an import of the corresponding module, not as a textual inclusion of the symbols in that header.

1 Like