lib.rs 1.29 KB
Newer Older
1
// Copyright 2018-2021 Parity Technologies (UK) Ltd.
2
//
3
4
5
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
6
//
7
//     http://www.apache.org/licenses/LICENSE-2.0
8
//
9
10
11
12
13
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
14

Hero Bird's avatar
Hero Bird committed
15
16
//! Crate providing `WEE_ALLOC` support for all Wasm compilations of ink! smart contract.
//!
17
//! The Wee allocator is an allocator specifically designed to have a low footprint albeit
Hero Bird's avatar
Hero Bird committed
18
19
//! being less efficient for allocation and deallocation operations.

20
#![cfg_attr(not(feature = "std"), no_std)]
Hero Bird's avatar
Hero Bird committed
21
#![cfg_attr(not(feature = "std"), feature(alloc_error_handler, core_intrinsics))]
22

Hero Bird's avatar
Hero Bird committed
23
24
// We use `wee_alloc` as the global allocator since it is optimized for binary file size
// so that contracts compiled with it as allocator do not grow too much in size.
25
26
27
#[cfg(not(feature = "std"))]
#[global_allocator]
static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;
28
29
30

#[cfg(not(feature = "std"))]
mod handlers;