art_test_publish/lib.rs
1//! # Art
2//!
3//! A library for modeling artistic concepts.
4
5
6// Чтобы добавить операторы pub use для повторного реэкспорта элементов на верхнем уровне
7// Тогда в документации появится раздел Re-exports
8pub use self::kinds::PrimaryColor;
9pub use self::kinds::SecondaryColor;
10pub use self::utils::mix;
11// В итоге пользователи библиотеки могут вызывать свойства с указанием вложенности структуры:
12// use art::kinds::PrimaryColor;
13// use art::utils::mix;
14// И в более коротком варианте:
15// use art::PrimaryColor;
16// use art::mix;
17
18pub mod kinds {
19 /// The primary colors according to the RYB color model.
20 pub enum PrimaryColor {
21 Red,
22 Yellow,
23 Blue,
24 }
25
26 /// The secondary colors according to the RYB color model.
27 pub enum SecondaryColor {
28 Orange,
29 Green,
30 Purple,
31 }
32}
33
34pub mod utils {
35 use crate::kinds::*;
36
37 /// Combines two primary colors in equal amounts to create
38 /// a secondary color.
39 pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
40 // --snip--
41 unimplemented!();
42 }
43}