diff options
Diffstat (limited to 'tests/ui/generic-associated-types/higher-ranked-self-impl-requirement.rs')
-rw-r--r-- | tests/ui/generic-associated-types/higher-ranked-self-impl-requirement.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/generic-associated-types/higher-ranked-self-impl-requirement.rs b/tests/ui/generic-associated-types/higher-ranked-self-impl-requirement.rs new file mode 100644 index 000000000..5ef9437c9 --- /dev/null +++ b/tests/ui/generic-associated-types/higher-ranked-self-impl-requirement.rs @@ -0,0 +1,20 @@ +// check-pass + +trait Database: for<'r> HasValueRef<'r, Database = Self> {} + +trait HasValueRef<'r> { + type Database: Database; +} + +struct Any; + +impl Database for Any {} + +impl<'r> HasValueRef<'r> for Any { + // Make sure we don't have issues when the GAT assumption + // `<Any as HasValue<'r>>::Database = Any` isn't universally + // parameterized over `'r`. + type Database = Any; +} + +fn main() {} |