diff options
| author | Michael Goulet <michael@errs.io> | 2025-03-26 04:09:07 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2025-03-26 04:39:38 +0000 |
| commit | 14804d1ed156604c52d5dd4a1ac4710f7ad31fa6 (patch) | |
| tree | 9b7de44050d8e8c2463fdbb5eb87a468b38a26fb /tests | |
| parent | ca6dad3eaba54b5bf6e587991055d89c7cd029e4 (diff) | |
| download | rust-14804d1ed156604c52d5dd4a1ac4710f7ad31fa6.tar.gz rust-14804d1ed156604c52d5dd4a1ac4710f7ad31fa6.zip | |
Implement lint against using Interner and InferCtxtLike in random compiler crates
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui-fulldeps/internal-lints/import-of-type-ir-traits.rs | 16 | ||||
| -rw-r--r-- | tests/ui-fulldeps/internal-lints/import-of-type-ir-traits.stderr | 15 |
2 files changed, 31 insertions, 0 deletions
diff --git a/tests/ui-fulldeps/internal-lints/import-of-type-ir-traits.rs b/tests/ui-fulldeps/internal-lints/import-of-type-ir-traits.rs new file mode 100644 index 00000000000..3fdd65d6c87 --- /dev/null +++ b/tests/ui-fulldeps/internal-lints/import-of-type-ir-traits.rs @@ -0,0 +1,16 @@ +//@ compile-flags: -Z unstable-options +//@ ignore-stage1 + +#![feature(rustc_private)] +#![deny(rustc::usage_of_type_ir_traits)] + +extern crate rustc_type_ir; + +use rustc_type_ir::Interner; + +fn foo<I: Interner>(cx: I, did: I::DefId) { + let _ = cx.trait_is_unsafe(did); + //~^ ERROR do not use `rustc_type_ir::Interner` or `rustc_type_ir::InferCtxtLike` unless you're inside of the trait solver +} + +fn main() {} diff --git a/tests/ui-fulldeps/internal-lints/import-of-type-ir-traits.stderr b/tests/ui-fulldeps/internal-lints/import-of-type-ir-traits.stderr new file mode 100644 index 00000000000..df29a494558 --- /dev/null +++ b/tests/ui-fulldeps/internal-lints/import-of-type-ir-traits.stderr @@ -0,0 +1,15 @@ +error: do not use `rustc_type_ir::Interner` or `rustc_type_ir::InferCtxtLike` unless you're inside of the trait solver + --> $DIR/import-of-type-ir-traits.rs:12:13 + | +LL | let _ = cx.trait_is_unsafe(did); + | ^^^^^^^^^^^^^^^^^^^^^^^ + | + = note: the method or struct you're looking for is likely defined somewhere else downstream in the compiler +note: the lint level is defined here + --> $DIR/import-of-type-ir-traits.rs:5:9 + | +LL | #![deny(rustc::usage_of_type_ir_traits)] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: aborting due to 1 previous error + |
