diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
commit | 698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch) | |
tree | 173a775858bd501c378080a10dca74132f05bc50 /src/tools/clippy/tests/ui/vec_box_sized.rs | |
parent | Initial commit. (diff) | |
download | rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip |
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tools/clippy/tests/ui/vec_box_sized.rs')
-rw-r--r-- | src/tools/clippy/tests/ui/vec_box_sized.rs | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/vec_box_sized.rs b/src/tools/clippy/tests/ui/vec_box_sized.rs new file mode 100644 index 000000000..843bbb64e --- /dev/null +++ b/src/tools/clippy/tests/ui/vec_box_sized.rs @@ -0,0 +1,54 @@ +// run-rustfix + +#![allow(dead_code)] + +struct SizedStruct(i32); +struct UnsizedStruct([i32]); +struct BigStruct([i32; 10000]); + +/// The following should trigger the lint +mod should_trigger { + use super::SizedStruct; + const C: Vec<Box<i32>> = Vec::new(); + static S: Vec<Box<i32>> = Vec::new(); + + struct StructWithVecBox { + sized_type: Vec<Box<SizedStruct>>, + } + + struct A(Vec<Box<SizedStruct>>); + struct B(Vec<Vec<Box<(u32)>>>); +} + +/// The following should not trigger the lint +mod should_not_trigger { + use super::{BigStruct, UnsizedStruct}; + + struct C(Vec<Box<UnsizedStruct>>); + struct D(Vec<Box<BigStruct>>); + + struct StructWithVecBoxButItsUnsized { + unsized_type: Vec<Box<UnsizedStruct>>, + } + + struct TraitVec<T: ?Sized> { + // Regression test for #3720. This was causing an ICE. + inner: Vec<Box<T>>, + } +} + +mod inner_mod { + mod inner { + pub struct S; + } + + mod inner2 { + use super::inner::S; + + pub fn f() -> Vec<Box<S>> { + vec![] + } + } +} + +fn main() {} |