Expand description
Helper trait to convert something into a stream of registrations.
Thanks to this, we can provide a flexible number of arguments to
register(), like a tuple.
This is trait is very similar to FormatInto, except that it constrains
the types that can be “registered” to only language items. An implementation
of register must not be used as a substitute for FormatInto.
use genco::prelude::*;
let mut tokens = rust::Tokens::new();
let hash_map = rust::import("std::collections", "HashMap");
let btree_map = rust::import("std::collections", "BTreeMap");
tokens.register((hash_map, btree_map));
assert_eq!(
vec![
"use std::collections::{BTreeMap, HashMap};",
],
tokens.to_file_vec()?,
);
Convert the type into tokens.
sourceimpl<L, T1, T2, T3, T4, T5> Register<L> for (T1, T2, T3, T4, T5) where
T1: Register<L>,
T2: Register<L>,
T3: Register<L>,
T4: Register<L>,
T5: Register<L>,
L: Lang,
sourceimpl<L, T1, T2, T3, T4, T5, T6> Register<L> for (T1, T2, T3, T4, T5, T6) where
T1: Register<L>,
T2: Register<L>,
T3: Register<L>,
T4: Register<L>,
T5: Register<L>,
T6: Register<L>,
L: Lang,
sourceimpl<L, T1, T2, T3, T4, T5, T6, T7> Register<L> for (T1, T2, T3, T4, T5, T6, T7) where
T1: Register<L>,
T2: Register<L>,
T3: Register<L>,
T4: Register<L>,
T5: Register<L>,
T6: Register<L>,
T7: Register<L>,
L: Lang,
sourceimpl<L, T1, T2, T3, T4, T5, T6, T7, T8> Register<L> for (T1, T2, T3, T4, T5, T6, T7, T8) where
T1: Register<L>,
T2: Register<L>,
T3: Register<L>,
T4: Register<L>,
T5: Register<L>,
T6: Register<L>,
T7: Register<L>,
T8: Register<L>,
L: Lang,