Macro velcro::vec_from

source ·
vec_from!() { /* proc-macro */ }
Expand description

Works the same as vec! except that values may be of any type that can be converted into the item type via an implementation of Into.

The type of the item must be known at compile time, and usually this means an explicit type annotation is required.

Usage

use velcro::vec_from;

#[derive(Debug, PartialEq)]
struct Foo(u64);

impl From<u64> for Foo {
    fn from(other: u64) -> Self {
        Foo(other)
    }
}

let foos: Vec<Foo> = vec_from![1, 2, Foo(3), ..(4..=6), 7];
assert_eq!(foos, vec![Foo(1), Foo(2), Foo(3), Foo(4), Foo(5), Foo(6), Foo(7)]);