Skip to content

Commit 2983613

Browse files
authored
Merge pull request #19 from stevefan1999-personal/patch-no-std
Add no-std support
2 parents 469896c + f782371 commit 2983613

11 files changed

+20
-1
lines changed

Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@ features = ["graphemes", "simd", "utf16-metric"]
1818
rustdoc-args = ["--cfg", "docsrs"]
1919

2020
[features]
21-
default = ["simd"]
21+
default = ["simd", "std"]
2222
graphemes = ["unicode-segmentation"]
2323
simd = ["str_indices/simd"]
2424
utf16-metric = []
25+
std = []
2526

2627
# Private features
2728
small_chunks = []

src/lib.rs

+4
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,16 @@
139139
//! UTF-16 instead of UTF-8, allowing them to efficiently convert UTF-16
140140
//! code unit offsets to and from byte offsets in logarithmic time.
141141
142+
#![cfg_attr(not(any(test, feature = "std")), no_std)]
142143
#![allow(clippy::explicit_auto_deref)]
143144
#![allow(clippy::module_inception)]
144145
#![cfg_attr(docsrs, feature(doc_cfg))]
145146
#![deny(missing_docs)]
146147
#![deny(rustdoc::broken_intra_doc_links)]
147148
#![deny(rustdoc::private_intra_doc_links)]
149+
#![warn(clippy::std_instead_of_core)]
150+
#![warn(clippy::std_instead_of_alloc)]
151+
#![warn(clippy::alloc_instead_of_core)]
148152

149153
extern crate alloc;
150154

src/rope/gap_buffer.rs

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
//! It also implements several traits exported by the [tree](crate::tree)
44
//! module on it to be able to use it as the leaf of our [`Rope`](crate::Rope).
55
6+
use alloc::boxed::Box;
7+
use alloc::vec::Vec;
68
use core::ops::{Range, RangeBounds};
79

810
use super::gap_slice::GapSlice;

src/rope/rope.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use alloc::string::String;
12
use core::ops::RangeBounds;
23

34
use super::gap_buffer::GapBuffer;

src/rope/rope_slice.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use alloc::string::String;
12
use core::ops::RangeBounds;
23

34
use super::iterators::{Bytes, Chars, Chunks, Lines, RawLines};

src/tree/leaves.rs

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use alloc::vec::Vec;
2+
13
use super::{Arc, Inode, Leaf, Metric, Node, Tree, TreeSlice};
24

35
/// An iterator over the leaves of `Tree`s and `TreeSlice`s.

src/tree/node_internal.rs

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use alloc::string::String;
2+
use alloc::vec::Vec;
13
use core::ops::{Range, RangeBounds};
24

35
use super::traits::*;

src/tree/tiny_arc.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
//!
55
//! [rclite]: https://github.com/fereidani/rclite
66
7+
use alloc::boxed::Box;
78
use core::mem::MaybeUninit;
89
use core::ptr::{addr_of_mut, NonNull};
910
use core::sync::atomic;

src/tree/tree.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use alloc::vec::Vec;
12
use core::ops::Range;
23

34
use super::*;

src/tree/tree_builder.rs

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use alloc::vec::Vec;
2+
13
use super::traits::{BalancedLeaf, Leaf};
24
use super::{Arc, Inode, Lnode, Node, Tree};
35

src/tree/units.rs

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use alloc::vec::Vec;
2+
13
use super::traits::{DoubleEndedUnitMetric, Leaf, Metric, UnitMetric};
24
use super::tree_slice;
35
use super::{Arc, Lnode, Node, Tree, TreeSlice};

0 commit comments

Comments
 (0)