diff options
| author | Mahdi Dibaiee <mdibaiee@pm.me> | 2022-01-11 09:28:13 +0000 |
|---|---|---|
| committer | Mahdi Dibaiee <mdibaiee@pm.me> | 2022-01-11 09:28:13 +0000 |
| commit | a6762e962e50d5b6f864e33ebb27878e90651f22 (patch) | |
| tree | 9c9ac8a3c059c4d84f3407d16611e63123c41458 /src | |
| parent | 71e33146734362984258df415ac8308618968ed4 (diff) | |
rustc_pass_by_value: allow types with no parameters on self
includes minor refactorings
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui-fulldeps/internal-lints/rustc_pass_by_value_self.rs | 7 | ||||
| -rw-r--r-- | src/test/ui-fulldeps/internal-lints/rustc_pass_by_value_self.stderr | 8 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value_self.rs b/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value_self.rs index a4529f98563..1be01e21bd5 100644 --- a/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value_self.rs +++ b/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value_self.rs @@ -30,4 +30,11 @@ impl<'tcx> TyS<'tcx> { fn by_ref(self: &Ty<'tcx>) {} //~ ERROR passing `Ty<'tcx>` by reference } +#[rustc_pass_by_value] +struct Foo; + +impl Foo { + fn with_ref(&self) {} //~ ERROR passing `Foo` by reference +} + fn main() {} diff --git a/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value_self.stderr b/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value_self.stderr index ca47babd13d..965e79d962c 100644 --- a/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value_self.stderr +++ b/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value_self.stderr @@ -16,5 +16,11 @@ error: passing `Ty<'tcx>` by reference LL | fn by_ref(self: &Ty<'tcx>) {} | ^^^^^^^^^ help: try passing by value: `Ty<'tcx>` -error: aborting due to 2 previous errors +error: passing `Foo` by reference + --> $DIR/rustc_pass_by_value_self.rs:37:17 + | +LL | fn with_ref(&self) {} + | ^^^^^ help: try passing by value: `Foo` + +error: aborting due to 3 previous errors |
