pro_primitives/lib.rs
1// Copyright 2018-2021 Parity Technologies (UK) Ltd.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15//! Utilities in use by pro!.
16//!
17//! These are kept separate from pro core utilities to allow for more dynamic inter-crate dependencies.
18//! The main problem is that today Cargo manages crate features on a per-crate basis instead of
19//! a per-crate-target basis thus making dependencies from `pro_lang` (or others) to `pro_env` or `pro_storage` impossible.
20//!
21//! By introducing `pro_primitives` we have a way to share utility components between `pro_env` or `pro_storage` and
22//! other parts of the framework, like `pro_lang`.
23
24#![cfg_attr(not(feature = "std"), no_std)]
25
26mod key;
27mod key_ptr;
28
29pub use self::{
30 key::Key,
31 key_ptr::KeyPtr,
32};