<commit_before>//
//  SOS: the Stupid Operating System
//  by <NAME> (<EMAIL>)
//
//  Copyright (c) 2015-2017 <NAME>
//  Released under the terms of the MIT license. See `LICENSE` in the root
//  directory of this repository for more information.
//
//  Allocator API copyright 2015 The Rust Project Developers.
//  See the COPYRIGHT file at http://rust-lang.org/COPYRIGHT.
//
//  Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
//  http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
//  <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
//  option. This file may not be copied, modified, or distributed
//  except according to those terms.
//! SOS memory allocation library
//!
//! This is in its own crate so it can be used by kernel-space and user-space
//! OS components.
//!
//! We reproduce the Rust [`Allocator`] trait described in Rust [RFC 1398], so
//! that our allocators can implement it. Once RFC 1398 is implemented, we will
//! be able to remove the [`Allocator`] and [`Layout`] types from this crate.
//!
//! For more information on the Allocator API, refer to:
//! + the text of [RFC 1398]
//! + rust-lang/rust [tracking issue]
//!
//! [`Allocator`]: trait.Allocator.html
//! [`Layout`]: struct.Layout.html
//! [RFC 1398]: https://github.com/rust-lang/rfcs/blob/master/text/1398-kinds-of-allocators.md
//! [tracking issue]: https://github.com/rust-lang/rust/issues/32838
#![crate_name = "alloc"]
#![crate_type = "lib"]

// The compiler needs to be instructed that this crate is an allocator in order
// to realize that when this is linked in another allocator like jemalloc
// should not be linked in
#![cfg_attr( feature = "system", feature(allocator) )]
#![cfg_attr( feature = "system", allocator )]

#![cfg_attr(feature = "clippy", feature(plugin))]
#![cfg_attr(feature = "clippy", plugin(clippy))]

#![cfg_attr( feature = "placement_in"
           , feature(placement_new_protocol, placement_in_syntax))]

// Allocators are not allowed to depend on the standard library which in turn
// requires an allocator in order to avoid circular dependencies. This crate,
// however, can use all of libcore.
#![no_std]<commit_msg>chore(alloc): adds a warning for missing docs<commit_after>//
//  SOS: the Stupid Operating System
//  by <NAME> (<EMAIL>)
//
//  Copyright (c) 2015-2017 <NAME>
//  Released under the terms of the MIT license. See `LICENSE` in the root
//  directory of this repository for more information.
//
//  Allocator API copyright 2015 The Rust Project Developers.
//  See the COPYRIGHT file at http://rust-lang.org/COPYRIGHT.
//
//  Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
//  http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
//  <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
//  option. This file may not be copied, modified, or distributed
//  except according to those terms.
//! SOS memory allocation library
//!
//! This is in its own crate so it can be used by kernel-space and user-space
//! OS components.
//!
//! We reproduce the Rust [`Allocator`] trait described in Rust [RFC 1398], so
//! that our allocators can implement it. Once RFC 1398 is implemented, we will
//! be able to remove the [`Allocator`] and [`Layout`] types from this crate.
//!
//! For more information on the Allocator API, refer to:
//! + the text of [RFC 1398]
//! + rust-lang/rust [tracking issue]
//!
//! [`Allocator`]: trait.Allocator.html
//! [`Layout`]: struct.Layout.html
//! [RFC 1398]: https://github.com/rust-lang/rfcs/blob/master/text/1398-kinds-of-allocators.md
//! [tracking issue]: https://github.com/rust-lang/rust/issues/32838
#![crate_name = "alloc"]
#![crate_type = "lib"]
#![warn(missing_docs)]

// The compiler needs to be instructed that this crate is an allocator in order
// to realize that when this is linked in another allocator like jemalloc
// should not be linked in
#![cfg_attr( feature = "system", feature(allocator) )]
#![cfg_attr( feature = "system", allocator )]

#![cfg_attr(feature = "clippy", feature(plugin))]
#![cfg_attr(feature = "clippy", plugin(clippy))]

#![cfg_attr( feature = "placement_in"
           , feature(placement_new_protocol, placement_in_syntax))]

// Allocators are not allowed to depend on the standard library which in turn
// requires an allocator in order to avoid circular dependencies. This crate,
// however, can use all of libcore.
#![no_std]
{'fraction_non_alphanumeric': 0.14052953156822812, 'fraction_numerical': 0.01855623444218149, 'mean_word_length': 3.6822033898305087, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 4, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1627172', 'n_tokens_mistral': 1436, 'n_tokens_neox': 1326, 'n_words': 508}