diff options
Diffstat (limited to 'src/tools/clippy/tests/ui/vec_box_sized.fixed')
-rw-r--r-- | src/tools/clippy/tests/ui/vec_box_sized.fixed | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/vec_box_sized.fixed b/src/tools/clippy/tests/ui/vec_box_sized.fixed new file mode 100644 index 000000000..a40d91fdb --- /dev/null +++ b/src/tools/clippy/tests/ui/vec_box_sized.fixed @@ -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<i32> = Vec::new(); + static S: Vec<i32> = Vec::new(); + + struct StructWithVecBox { + sized_type: Vec<SizedStruct>, + } + + struct A(Vec<SizedStruct>); + struct B(Vec<Vec<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<S> { + vec![] + } + } +} + +fn main() {} |