1 // { dg-module-do run }
2 // { dg-additional-options -fmodule-header }
3 
4 template<template<typename> class _Op>
5 using __detected_or_t = long;
6 
7 template<typename _Ptr>
8 struct pointer_traits
9 {
10   template<typename _Tp>
11   using __difference_type = typename _Tp::difference_type;
12 
13   using difference_type = __detected_or_t<__difference_type>;
14 };
15 
16