未验证 提交 90ba09d2 编写于 作者: F flip1995

Add tests

上级 747d288b
// compile-flags: -Z unstable-options
#![feature(rustc_private)]
#![deny(ty_pass_by_reference)]
#![allow(unused)]
extern crate rustc;
use rustc::ty::{Ty, TyCtxt};
fn ty_by_ref(
ty_val: Ty<'_>,
ty_ref: &Ty<'_>, //~ ERROR passing `Ty<'_>` by reference
ty_ctxt_val: TyCtxt<'_, '_, '_>,
ty_ctxt_ref: &TyCtxt<'_, '_, '_>, //~ ERROR passing `TyCtxt<'_, '_, '_>` by reference
) {
}
fn ty_multi_ref(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_, '_>) {}
//~^ ERROR passing `Ty<'_>` by reference
//~^^ ERROR passing `TyCtxt<'_, '_, '_>` by reference
trait T {
fn ty_by_ref_in_trait(
ty_val: Ty<'_>,
ty_ref: &Ty<'_>, //~ ERROR passing `Ty<'_>` by reference
ty_ctxt_val: TyCtxt<'_, '_, '_>,
ty_ctxt_ref: &TyCtxt<'_, '_, '_>, //~ ERROR passing `TyCtxt<'_, '_, '_>` by reference
);
fn ty_multi_ref_in_trait(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_, '_>);
//~^ ERROR passing `Ty<'_>` by reference
//~^^ ERROR passing `TyCtxt<'_, '_, '_>` by reference
}
struct Foo;
impl T for Foo {
fn ty_by_ref_in_trait(
ty_val: Ty<'_>,
ty_ref: &Ty<'_>,
ty_ctxt_val: TyCtxt<'_, '_, '_>,
ty_ctxt_ref: &TyCtxt<'_, '_, '_>,
) {
}
fn ty_multi_ref_in_trait(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_, '_>) {}
}
impl Foo {
fn ty_by_ref_assoc(
ty_val: Ty<'_>,
ty_ref: &Ty<'_>, //~ ERROR passing `Ty<'_>` by reference
ty_ctxt_val: TyCtxt<'_, '_, '_>,
ty_ctxt_ref: &TyCtxt<'_, '_, '_>, //~ ERROR passing `TyCtxt<'_, '_, '_>` by reference
) {
}
fn ty_multi_ref_assoc(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_, '_>) {}
//~^ ERROR passing `Ty<'_>` by reference
//~^^ ERROR passing `TyCtxt<'_, '_, '_>` by reference
}
fn main() {}
// compile-flags: -Z unstable-options
#![feature(rustc_private)]
#![deny(usage_of_qualified_ty)]
#![allow(unused)]
extern crate rustc;
use rustc::ty::{self, Ty, TyCtxt};
macro_rules! qualified_macro {
($a:ident) => {
fn ty_in_macro(
ty_q: ty::Ty<'_>,
ty: Ty<'_>,
ty_ctxt_q: ty::TyCtxt<'_, '_, '_>,
ty_ctxt: TyCtxt<'_, '_, '_>,
) {
println!("{}", stringify!($a));
}
};
}
fn ty_qualified(
ty_q: ty::Ty<'_>, //~ ERROR usage of qualified `ty::Ty<'_>`
ty: Ty<'_>,
ty_ctxt_q: ty::TyCtxt<'_, '_, '_>, //~ ERROR usage of qualified `ty::TyCtxt<'_, '_, '_>`
ty_ctxt: TyCtxt<'_, '_, '_>,
) {
}
fn main() {
qualified_macro!(a);
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册