diff options
Diffstat (limited to 'tests/ui/reserve_after_initialization.rs')
| -rw-r--r-- | tests/ui/reserve_after_initialization.rs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/ui/reserve_after_initialization.rs b/tests/ui/reserve_after_initialization.rs new file mode 100644 index 00000000000..b57a8e162c5 --- /dev/null +++ b/tests/ui/reserve_after_initialization.rs @@ -0,0 +1,51 @@ +//@aux-build:proc_macros.rs +#![warn(clippy::reserve_after_initialization)] +#![no_main] + +extern crate proc_macros; +use proc_macros::{external, with_span}; + +// Should lint +fn standard() { + let mut v1: Vec<usize> = vec![]; + v1.reserve(10); +} + +// Should lint +fn capacity_as_expr() { + let capacity = 10; + let mut v2: Vec<usize> = vec![]; + v2.reserve(capacity); +} + +// Shouldn't lint +fn vec_init_with_argument() { + let mut v3 = vec![1]; + v3.reserve(10); +} + +// Shouldn't lint +fn called_with_capacity() { + let _v4: Vec<usize> = Vec::with_capacity(10); +} + +// Should lint +fn assign_expression() { + let mut v5: Vec<usize> = Vec::new(); + v5 = Vec::new(); + v5.reserve(10); +} + +fn in_macros() { + external! { + let mut v: Vec<usize> = vec![]; + v.reserve(10); + } + + with_span! { + span + + let mut v: Vec<usize> = vec![]; + v.reserve(10); + } +} |
