diff options
Diffstat (limited to 'tests/ui/generic-associated-types/bugs/issue-87803.rs')
-rw-r--r-- | tests/ui/generic-associated-types/bugs/issue-87803.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/generic-associated-types/bugs/issue-87803.rs b/tests/ui/generic-associated-types/bugs/issue-87803.rs new file mode 100644 index 000000000..56237e387 --- /dev/null +++ b/tests/ui/generic-associated-types/bugs/issue-87803.rs @@ -0,0 +1,25 @@ +// check-fail +// known-bug: #87803 + +// This should pass, but using a type alias vs a reference directly +// changes late-bound -> early-bound. + +trait Scanner { + type Input<'a>; + type Token<'a>; + + fn scan<'a>(&mut self, i : Self::Input<'a>) -> Self::Token<'a>; +} + +struct IdScanner(); + +impl Scanner for IdScanner { + type Input<'a> = &'a str; + type Token<'a> = &'a str; + + fn scan<'a>(&mut self, s : &'a str) -> &'a str { + s + } +} + +fn main() {} |