This crate provides a rust std::vec::Vec
wrapper with type
guarantees to contain at last 1 element. This is useful if
you build a API which sometimes has such constraints e.g. you
need at last one target server address but there can be more.
```rust
extern crate vec1;
use vec1::Vec1;
fn main() { // vec1![] makes sure there is at last one element // at compiler time //let names = vec1! [ ]; let names = vec1! [ "Liz" ]; greet(names); }
fn greet(names: Vec1<&str>) { // methods like first/last which return a Option on Vec do // directly return the value, we know it's possible let first = names.first(); println!("hallo {}", first); for name in names.iter().skip(1) { println!(" who is also know as {}", name) } }
```
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.