rust/tests/ui/vec_box_sized.fixed

53 lines
1023 B
Rust
Raw Normal View History

#![allow(dead_code)]
struct SizedStruct(i32);
struct UnsizedStruct([i32]);
2020-01-23 08:52:41 -06:00
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 {
2020-01-23 08:52:41 -06:00
use super::{BigStruct, UnsizedStruct};
struct C(Vec<Box<UnsizedStruct>>);
2020-01-23 08:52:41 -06:00
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() {}