Skip to main content

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}