2 releases

0.1.1 Jun 9, 2019
0.1.0 Jun 9, 2019

23 downloads per month
Used in lhlist

Custom license

165 lines


Build Status Documentation

lhlist is a library for Labeled Hetergogeneous Lists.

This library provides data structures and macros for creating and accessing lists of differently-typed objects that each have their own unique label.

For more details, see the documentation.


Add lhlist to you Cargo.toml:

lhlist = "0.1"

And use it is as such:

#[macro_use] extern crate lhlist;

use lhlist::Label;

new_label![SomeNumbers: Vec<u64>];
new_label![SomeNames: Vec<&'static str>];
new_label![Flag: bool];

let my_list = lhlist![
    SomeNumbers = vec![0, 4, 5, 2],
    SomeNames = vec!["hello", "world!"],
    Flag = false,

assert_eq!(my_list[SomeNumbers], vec![0, 4, 5, 2]);
assert_eq!(my_list[Flag], false);


This project is licensed under the MIT license.


~16K SLoC