oysterpack 0.2.2

OysterPack Rust Platform
// Copyright 2018 OysterPack Inc.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.

extern crate oysterpack;
#[macro_use]
extern crate log;
extern crate simple_logging;

use log::LevelFilter;
use oysterpack::uid;

struct User;
type UserId = uid::Uid<User>;

fn main() {
    simple_logging::log_to_stderr(LevelFilter::Info);

    let user_id = UserId::new();
    info!(
        "new: UserId({}) with datetime: {}",
        user_id,
        user_id.datetime()
    );

    let user_id = user_id.increment().unwrap();
    info!(
        "incremented: UserId({}) with datetime: {}",
        user_id,
        user_id.datetime()
    );

    assert!(user_id.clone().increment().unwrap() > user_id);
}