81 Commits

Author SHA1 Message Date
austaras
ec90e593f3 0.1.24 2023-01-23 18:57:29 +08:00
austaras
c5a4d2475e One more byte for inlined 2023-01-23 18:06:21 +08:00
Lukas Wirth
25d7fa7105 Revert usage of optional dependency feature syntax 2022-04-26 23:59:49 +02:00
Lukas Wirth
844ee7798d Use new optional dependency feature syntax making serde truly optional 2022-04-08 21:05:25 +02:00
Lukas Wirth
fa9d3154e9 Bump dependencies 2022-04-03 16:19:14 +02:00
bors[bot]
d025e36945 Merge rust-analyzer/smol_str#43
43: Clarify what `WS` is r=Veykril a=Veykril

Closes https://github.com/rust-analyzer/smol_str/issues/17
bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-04-03 14:10:31 +00:00
Lukas Wirth
a956245171 Clarify what WS is 2022-04-03 16:10:03 +02:00
bors[bot]
0b808e8a37 Merge rust-analyzer/smol_str#18
18: Add fmt tidy test r=Veykril a=Atul9



Co-authored-by: Atul Bhosale <atul1bhosale@gmail.com>
2022-04-03 14:06:06 +00:00
Zachary Dremann
77c6c2b2ae Use ASCII to get the "too big" char iterator
Additionally, make the construction of the string mechanical
2022-03-10 19:29:45 -05:00
Zachary Dremann
a1cbd1feee Add a new test for bad size hint
Changes in PR rust-analyzer/smol_str#20 allow for an incorrect size hint to create a
non-canonical SmolStr. Add a new test which will fail if we ever rely on
SmolStrs to be canonical when comparing for equality.
2022-03-10 19:29:45 -05:00
Lukas Wirth
7771472941 Remove unnecessary Into<String> bound from From<T> impl 2021-11-04 18:43:01 +01:00
Aleksey Kladov
661ca5b452 fix no_std support 2021-11-01 16:04:40 +03:00
Aleksey Kladov
14baf0779d implement FromStr
closes rust-analyzer/smol_str#31
2021-11-01 14:33:22 +03:00
bors[bot]
b40a53f163 Merge rust-analyzer/smol_str#26
26: Update CI badge in readme to point to Github Actions r=bjorn3 a=ComputerDruid

The Travis workflow was deleted in 3d5b7e3476f91280aedda3900c13838b00d64a9d

Co-authored-by: Daniel Johnson <ComputerDruid@gmail.com>
2021-09-13 12:37:26 +00:00
Arsenii Lyashenko
d5bf6c8dab Add #![no_std] support 2021-08-12 15:00:02 +03:00
Andrew Jeffery
cfe22778a1 Implement arbitrary behind a feature flag 2021-06-26 09:27:09 +01:00
Daniel Johnson
1f5f91a64d Update CI badge in readme to point to Github Actions
The Travis workflow was deleted in 3d5b7e3476f91280aedda3900c13838b00d64a9d
2020-10-06 19:43:15 -07:00
Aleksey Kladov
4966a00ca0 Document MSRV 2020-09-21 17:15:32 +02:00
Aleksey Kladov
4ff9ad2b27 Drop benchmarking
I don't really look at the results of the benchmarks anyway, so having
them in the repo creates a false sense of benchmarkdness.

If I get to implementing proper benchmarking, I'd probably stay away
from criterion -- we need something much much simpler for this crate.
2020-09-20 09:59:31 +02:00
Aleksey Kladov
6c8f7ce3cc Bump major version 2020-09-20 09:58:53 +02:00
Aleksey Kladov
3d5b7e3476 Switch CI to actions 2020-09-20 09:54:54 +02:00
Aleksey Kladov
e412a0199f ⬆️ proptest 2020-09-20 09:49:57 +02:00
Aleksey Kladov
d40b0bc1b5 Add new_inline const-fn constructor 2020-09-20 09:45:06 +02:00
Atul Bhosale
667c63685d Add fmt tidy test 2020-07-07 21:17:33 +05:30
Aleksey Kladov
4c64e2026c Merge pull request rust-analyzer/smol_str#19 from Dr-Emann/limit_substr_check
Avoid checking long strings for matching against whitespace
2020-07-07 11:21:42 +02:00
Zachary Dremann
2b15d9c1f5 Use the number of remaining elements in the char iter for allocation
When collecting from an iterator of chars, when expanding past
INLINE_CAP, include extra space for at least one byte per char for any
remaining known size.
2020-07-06 18:35:14 -04:00
Zachary Dremann
1fea4a5b2a Avoid possible extra monomorphization
By pulling `from_char_iter<I: Iterator>()` into a function, we can avoid
multiple monomorphizations of `FromIterator` when multiple
`IntoIterator`s result in the same iterator type.
2020-07-06 18:32:12 -04:00
Zachary Dremann
d97525eb5e Avoid checking long strings for matching against whitespace
Previously, the string was checked for starting with newlines and ending
with spaces, then ensuring that the length of those substrings were
short enough to use our constant. Instead, only do the check for as many
items as we have in the WS constant.

In the worst case, this avoids an O(n) check if the input is a long
string of `\n`, possibly followed by a long string of spaces.
2020-07-06 16:07:29 -04:00
Zachary Dremann
1235f1c11a Rustfmt 2020-07-06 13:12:41 -04:00
Aleksey Kladov
38c343ca5a Speadup From<SmolStr> for String
Thanks htpps://github.com/fasterthanlime!
2020-07-06 15:31:35 +02:00
Shotaro Yamada
f7821f55c8 Improve Arc<str> creation
While using `Into` could avoid an allocation in `String` -> `Box<str>`,
converting `Box<str>` into `Arc<str>` deallocates and re-allocates anyway.
2020-01-10 00:56:41 +09:00
Shotaro Yamada
bcb69c61df Do not count spaces 2020-01-10 00:49:00 +09:00
Aleksey Kladov
9142ee13b4 actually enabled serde std feature 2019-10-09 14:48:16 +03:00
Aleksey Kladov
a9682d10ab enable std feature for serde 2019-10-09 14:24:56 +03:00
Aleksey Kladov
53b5fd690f publish v0.1.13 2019-09-26 11:48:37 +03:00
Brendan Molloy
6e6b205998 Implement visitor 2019-09-26 10:36:46 +02:00
Brendan Molloy
1bb2d0f36c Demonstrate bug with serde from_reader 2019-09-25 14:46:30 +02:00
Pascal Hertleif
a390271aec new_inline_from_ascii: Docs and compile-fail tests 2019-07-22 13:28:12 +02:00
Aleksey Kladov
9b27bfaddf pubish v0.1.12 2019-07-07 14:00:33 +03:00
Aleksey Kladov
e717be12fb add cosnt-fn ctor 2019-07-07 14:00:10 +03:00
Aleksey Kladov
6e20c9967a don't use derive 2019-07-07 13:06:09 +03:00
bors[bot]
500d794225 Merge rust-analyzer/smol_str#12
12: Add FromIterator with &str/&String/String items r=matklad a=killercup



Co-authored-by: Pascal Hertleif <pascal@technocreatives.com>
2019-05-27 06:30:41 +00:00
Aleksey Kladov
2f924f6954 add bors 2019-05-27 09:29:17 +03:00
Pascal Hertleif
9c77c3ac83 Simplify slicing (no visible perf impact) 2019-05-26 14:27:46 +02:00
Pascal Hertleif
6c94863ae9 Add simple benchmark 2019-05-26 14:17:13 +02:00
Pascal Hertleif
3b30f08b61 Explicitly test for heap allocation, too 2019-05-26 14:17:07 +02:00
Pascal Hertleif
f093bd4ed6 Simplify type names 2019-05-26 14:16:49 +02:00
Pascal Hertleif
03af634229 Explicitly use copy_from_slice 2019-05-26 14:16:37 +02:00
Pascal Hertleif
e1457edb53 Deduplicate FromIterator code
Using a private function that is overly generic.
2019-05-25 21:28:32 +02:00
Pascal Hertleif
4f603f4f5d Add FromIterator with &str/&String/String items 2019-05-25 17:39:32 +02:00