112a9d9c8Sopenharmony_ci// bindgen-flags: --opaque-type ".*" --allowlist-function=foo --with-derive-hash --with-derive-partialeq --with-derive-eq 212a9d9c8Sopenharmony_ci 312a9d9c8Sopenharmony_ciclass Container; 412a9d9c8Sopenharmony_ci 512a9d9c8Sopenharmony_ci// The allowlist tracing should reach the Container type, even though it's 612a9d9c8Sopenharmony_ci// marked as opaque. 712a9d9c8Sopenharmony_civoid foo(Container* c); 812a9d9c8Sopenharmony_ci 912a9d9c8Sopenharmony_citemplate<typename T> 1012a9d9c8Sopenharmony_ciclass Wat { 1112a9d9c8Sopenharmony_ci T foo; 1212a9d9c8Sopenharmony_ci}; 1312a9d9c8Sopenharmony_ci 1412a9d9c8Sopenharmony_ciclass OtherOpaque { 1512a9d9c8Sopenharmony_ci int bar; 1612a9d9c8Sopenharmony_ci}; 1712a9d9c8Sopenharmony_ci 1812a9d9c8Sopenharmony_ciclass Container { 1912a9d9c8Sopenharmony_ci Wat<int> bar; 2012a9d9c8Sopenharmony_ci OtherOpaque baz; 2112a9d9c8Sopenharmony_ci}; 22