[][src]Function type_variance::variance

pub fn variance<T: Variance>() -> T

A convenience function for constructing any of Covariant<T>, Contravariant<T>, and Invariant<T>. It is equivalent to default.

For example:

use type_variance::{Covariant, variance};

struct Co<T> {
    other_data: u32,
    marker: Covariant<T>,
}

impl<T> Co<T> {
    fn new() -> Self {
        Co {
            other_data: 42,
            marker: variance(),
        }
    }
}