1 // Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 // Parsing patterns with paths with type parameters (issue #22544)
13 use std
::default::Default
;
16 pub struct Foo
<T
>(T
, T
);
18 impl<T
: ::std
::fmt
::Display
> Foo
<T
> {
21 Foo
::<T
>(ref x
, ref y
) => println
!("Goodbye, World! {} {}", x
, y
)
30 impl<T
> Tr
for Foo
<T
> {
39 let Foo
::<i32>(a
, b
) = Default
::default();
44 let w
= Wrapper { value: Foo(10u8, 11u8) }
;
46 Wrapper
::<Foo
<u8>> { value: Foo(10, 11) }
=> {}
,
47 ::Wrapper
::<<Foo
<_
> as Tr
>::U
> { value: Foo::<u8>(11, 16) }
=> { panic!() }
,
51 if let None
::<u8> = Some(8) {
54 if let None
::<u8> { .. }
= Some(8) {
57 if let Option
::None
::<u8> { .. }
= Some(8) {