112a9d9c8Sopenharmony_ci// bindgen-flags: --with-derive-hash --with-derive-partialord --with-derive-ord --with-derive-partialeq --with-derive-eq
212a9d9c8Sopenharmony_ci//
312a9d9c8Sopenharmony_ci/// Template definition that doesn't contain float can derive Hash/PartialOrd/Ord/PartialEq/Eq
412a9d9c8Sopenharmony_citemplate <typename T>
512a9d9c8Sopenharmony_cistruct foo {
612a9d9c8Sopenharmony_ci    T data;
712a9d9c8Sopenharmony_ci};
812a9d9c8Sopenharmony_ci
912a9d9c8Sopenharmony_ci/// Can derive Hash/PartialOrd/Ord/PartialEq/Eq when instantiated with int
1012a9d9c8Sopenharmony_cistruct IntStr {
1112a9d9c8Sopenharmony_ci    foo<int> a;
1212a9d9c8Sopenharmony_ci};
1312a9d9c8Sopenharmony_ci
1412a9d9c8Sopenharmony_ci/// Cannot derive Hash/Eq/Ord when instantiated with float but can derive PartialEq/PartialOrd
1512a9d9c8Sopenharmony_cistruct FloatStr {
1612a9d9c8Sopenharmony_ci    foo<float> a;
1712a9d9c8Sopenharmony_ci};
18