23 lines
419 B
Rust
23 lines
419 B
Rust
//@ check-pass
|
|
#![allow(unused_variables)]
|
|
// Test that `<Type as Trait>::Output` and `Self::Output` are accepted as type annotations in let
|
|
// bindings
|
|
|
|
//@ pretty-expanded FIXME #23616
|
|
|
|
trait Int {
|
|
fn one() -> Self;
|
|
fn leading_zeros(self) -> usize;
|
|
}
|
|
|
|
trait Foo {
|
|
type T : Int;
|
|
|
|
fn test(&self) {
|
|
let r: <Self as Foo>::T = Int::one();
|
|
let r: Self::T = Int::one();
|
|
}
|
|
}
|
|
|
|
fn main() {}
|