non_std 0.1.4

Collection of general purpose tools for solving problems. Fundamentally extend the language without spoiling, so may be used solely or in conjunction with another module of such kind.
Documentation
#![ cfg_attr( not( feature = "use_std" ), no_std ) ]
#![ doc( html_logo_url = "https://raw.githubusercontent.com/Wandalen/wTools/master/asset/img/logo_v3_trans_square.png" ) ]
#![ doc( html_favicon_url = "https://raw.githubusercontent.com/Wandalen/wTools/alpha/asset/img/logo_v3_trans_square_icon_small_v2.ico" ) ]
#![ doc( html_root_url = "https://docs.rs/error_tools/latest/error_tools/" ) ]
#![ warn( rust_2018_idioms ) ]
#![ warn( missing_debug_implementations ) ]
#![ warn( missing_docs ) ]

//!
//! Basic exceptions handling mechanism.
//!

#![ doc = include_str!( concat!( env!( "CARGO_MANIFEST_DIR" ), "/Readme.md" ) ) ]

/// Assertions.
pub mod assert;
#[ cfg( feature = "use_std" ) ]
/// Default error object.
pub mod error;

/// Dependencies.
pub mod dependencies
{

  #[ doc( inline ) ]
  #[ cfg( feature = "error_handling_for_lib" ) ]
  pub use ::thiserror;

  #[ doc( inline ) ]
  #[ cfg( feature = "error_handling_for_app" ) ]
  pub use ::anyhow;

}

/// Exceptions handling mechanism for libs.
pub mod for_lib
{
  #[ doc( inline ) ]
  #[ cfg( feature = "error_handling_for_lib" ) ]
  pub use ::thiserror::*;
}

// qqq : cover by simple test
/// Exceptions handling mechanism for apps.
pub mod for_app
{
  #[ doc( inline ) ]
  #[ cfg( feature = "error_handling_for_app" ) ]
  pub use ::anyhow::*;
}

// qqq : cover by simple test
/// Protected namespace of the module.
pub mod protected
{
  #[ doc( inline ) ]
  pub use super::orphan::*;
}

#[ doc( inline ) ]
pub use protected::*;
// pub use protected::BasicError;
// #[ cfg( feature = "use_std" ) ]
// #[ doc( inline ) ]
// pub use protected::Error;

/// Shared with parent namespace of the module
pub mod orphan
{
  #[ doc( inline ) ]
  pub use super::exposed::*;
}

/// Exposed namespace of the module.
pub mod exposed
{
  #[ doc( inline ) ]
  pub use super::prelude::*;
  #[ doc( inline ) ]
  pub use super::assert::*;

  #[ cfg( feature = "use_std" ) ]
  #[ doc( inline ) ]
  pub use super::error::*;
  // #[ cfg( feature = "use_std" ) ]
  // #[ doc( inline ) ]
  // pub use super::error::BasicError;

}

/// Prelude to use essentials: `use my_module::prelude::*`.
pub mod prelude
{
}