pub fn foo() {
        let x = Stable {
            override2: 3,
            //~^ ERROR use of deprecated item
        };

        let _ = x.override2;
        //~^ ERROR use of deprecated item

        let Stable {
            override2: _
            //~^ ERROR use of deprecated item
        } = x;
        // all fine
        let Stable { .. } = x;

        let x = Stable2(1, 2, 3);

        let _ = x.2;
        //~^ ERROR use of deprecated item

        let Stable2(_,
                   _,
                   _)
            //~^ ERROR use of deprecated item
            = x;
        // all fine
        let Stable2(..) = x;

        let x = Deprecated {
            //~^ ERROR use of deprecated item
            inherit: 1,
            //~^ ERROR use of deprecated item
        };

        let _ = x.inherit;
        //~^ ERROR use of deprecated item

        let Deprecated {
            //~^ ERROR use of deprecated item
            inherit: _,
            //~^ ERROR use of deprecated item
        } = x;

        let Deprecated
            //~^ ERROR use of deprecated item
            { .. } = x;

        let x = Deprecated2(1, 2, 3);
        //~^ ERROR use of deprecated item

        let _ = x.0;
        //~^ ERROR use of deprecated item
        let _ = x.1;
        //~^ ERROR use of deprecated item
        let _ = x.2;
        //~^ ERROR use of deprecated item

        let Deprecated2
        //~^ ERROR use of deprecated item
            (_,
             //~^ ERROR use of deprecated item
             _,
             //~^ ERROR use of deprecated item
             _)
             //~^ ERROR use of deprecated item
            = x;
        let Deprecated2
        //~^ ERROR use of deprecated item
            // the patterns are all fine:
            (..) = x;
    }
//~ ERROR use of deprecated item: text
~ ERROR use of deprecated item: text
~ ERROR use of deprecated item : text
pub fn foo() {
        let x = Stable {
            override2: 3,
            //~^ ERROR use of deprecated item
        };
        let _ = x.override2;
        //~^ ERROR use of deprecated item
        let Stable {
            override2: _
            //~^ ERROR use of deprecated item
        } = x;
        // all fine
        let Stable { .. } = x;
        let x = Stable2(1, 2, 3);
        let _ = x.2;
        //~^ ERROR use of deprecated item
        let Stable2(_,
                   _,
                   _)
            //~^ ERROR use of deprecated item
            = x;
        // all fine
        let Stable2(..) = x;
        let x = Deprecated {
            //~^ ERROR use of deprecated item
            inherit: 1,
            //~^ ERROR use of deprecated item
        };
        let _ = x.inherit;
        //~^ ERROR use of deprecated item
        let Deprecated {
            //~^ ERROR use of deprecated item
            inherit: _,
            //~^ ERROR use of deprecated item
        } = x;
        let Deprecated
            //~^ ERROR use of deprecated item
            { .. } = x;
        let x = Deprecated2(1, 2, 3);
        //~^ ERROR use of deprecated item
        let _ = x.0;
        //~^ ERROR use of deprecated item
        let _ = x.1;
        //~^ ERROR use of deprecated item
        let _ = x.2;
        //~^ ERROR use of deprecated item
        let Deprecated2
        //~^ ERROR use of deprecated item
            (_,
             //~^ ERROR use of deprecated item
             _,
             //~^ ERROR use of deprecated item
             _)
             //~^ ERROR use of deprecated item
            = x;
        let Deprecated2
        //~^ ERROR use of deprecated item
            // the patterns are all fine:
            (..) = x;
    }
pub fn foo ( ) { let x = Stable { override2 : 3 , //~^ ERROR use of deprecated item } ; let _ = x . override2 ; //~^ ERROR use of deprecated item let Stable { override2 : _ //~^ ERROR use of deprecated item } = x ; // all fine let Stable { .. } = x ; let x = Stable2 ( 1 , 2 , 3 ) ; let _ = x . 2 ; //~^ ERROR use of deprecated item let Stable2 ( _ , _ , _ ) //~^ ERROR use of deprecated item = x ; // all fine let Stable2 ( .. ) = x ; let x = Deprecated { //~^ ERROR use of deprecated item inherit : 1 , //~^ ERROR use of deprecated item } ; let _ = x . inherit ; //~^ ERROR use of deprecated item let Deprecated { //~^ ERROR use of deprecated item inherit : _ , //~^ ERROR use of deprecated item } = x ; let Deprecated //~^ ERROR use of deprecated item { .. } = x ; let x = Deprecated2 ( 1 , 2 , 3 ) ; //~^ ERROR use of deprecated item let _ = x . 0 ; //~^ ERROR use of deprecated item let _ = x . 1 ; //~^ ERROR use of deprecated item let _ = x . 2 ; //~^ ERROR use of deprecated item let Deprecated2 //~^ ERROR use of deprecated item ( _ , //~^ ERROR use of deprecated item _ , //~^ ERROR use of deprecated item _ ) //~^ ERROR use of deprecated item = x ; let Deprecated2 //~^ ERROR use of deprecated item // the patterns are all fine: ( .. ) = x ; }
~ ERROR use of deprecated item: text
~ ERROR use of deprecated item : text