]> git.proxmox.com Git - rustc.git/blame - src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs
New upstream version 1.38.0+dfsg1
[rustc.git] / src / test / ui-fulldeps / internal-lints / pass_ty_by_ref.rs
CommitLineData
48663c56
XL
1// compile-flags: -Z unstable-options
2
3#![feature(rustc_private)]
416331ca 4#![deny(rustc::ty_pass_by_reference)]
48663c56
XL
5#![allow(unused)]
6
7extern crate rustc;
8
9use rustc::ty::{Ty, TyCtxt};
10
11fn ty_by_ref(
12 ty_val: Ty<'_>,
13 ty_ref: &Ty<'_>, //~ ERROR passing `Ty<'_>` by reference
dc9dc135
XL
14 ty_ctxt_val: TyCtxt<'_>,
15 ty_ctxt_ref: &TyCtxt<'_>, //~ ERROR passing `TyCtxt<'_>` by reference
48663c56
XL
16) {
17}
18
dc9dc135 19fn ty_multi_ref(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_>) {}
48663c56 20//~^ ERROR passing `Ty<'_>` by reference
dc9dc135 21//~^^ ERROR passing `TyCtxt<'_>` by reference
48663c56
XL
22
23trait T {
24 fn ty_by_ref_in_trait(
25 ty_val: Ty<'_>,
26 ty_ref: &Ty<'_>, //~ ERROR passing `Ty<'_>` by reference
dc9dc135
XL
27 ty_ctxt_val: TyCtxt<'_>,
28 ty_ctxt_ref: &TyCtxt<'_>, //~ ERROR passing `TyCtxt<'_>` by reference
48663c56
XL
29 );
30
dc9dc135 31 fn ty_multi_ref_in_trait(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_>);
48663c56 32 //~^ ERROR passing `Ty<'_>` by reference
dc9dc135 33 //~^^ ERROR passing `TyCtxt<'_>` by reference
48663c56
XL
34}
35
36struct Foo;
37
38impl T for Foo {
39 fn ty_by_ref_in_trait(
40 ty_val: Ty<'_>,
41 ty_ref: &Ty<'_>,
dc9dc135
XL
42 ty_ctxt_val: TyCtxt<'_>,
43 ty_ctxt_ref: &TyCtxt<'_>,
48663c56
XL
44 ) {
45 }
46
dc9dc135 47 fn ty_multi_ref_in_trait(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_>) {}
48663c56
XL
48}
49
50impl Foo {
51 fn ty_by_ref_assoc(
52 ty_val: Ty<'_>,
53 ty_ref: &Ty<'_>, //~ ERROR passing `Ty<'_>` by reference
dc9dc135
XL
54 ty_ctxt_val: TyCtxt<'_>,
55 ty_ctxt_ref: &TyCtxt<'_>, //~ ERROR passing `TyCtxt<'_>` by reference
48663c56
XL
56 ) {
57 }
58
dc9dc135 59 fn ty_multi_ref_assoc(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_>) {}
48663c56 60 //~^ ERROR passing `Ty<'_>` by reference
dc9dc135 61 //~^^ ERROR passing `TyCtxt<'_>` by reference
48663c56
XL
62}
63
64fn main() {}