james7132
4cdc1b1544
Use serde_core over serde
2025-09-22 10:40:39 +02:00
Alex Butler
3e6863eeb1
Fix lints
2025-09-14 12:34:12 +01:00
Lukas Wirth
076e315d60
Publish 0.3.2
2024-10-23 22:56:02 +02:00
Lukas Wirth
037436ef16
Fix SmoLStrBuilder pushing null bytes on heap spill
2024-10-23 22:56:02 +02:00
Alex Butler
b5d68d17eb
Update CHANGELOG.md
...
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2024-09-03 09:47:53 +01:00
Alex Butler
5ca72343dc
Add 0.2.2 changelog & fix lints
2024-09-03 09:21:42 +01:00
Lukas Wirth
5e0ab10e12
Add CHANGELOG.md
2024-09-03 10:03:51 +02:00
Lukas Wirth
6db8eda235
Publish 0.3.1
2024-09-03 09:46:26 +02:00
Lukas Wirth
4c0d45e59b
Make SmolStrBuilder fields private
2024-09-03 09:46:26 +02:00
Lukas Wirth
e172e4ee25
Publish 0.3.0
2024-09-03 09:31:16 +02:00
Lukas Wirth
6216c05690
SmolStrBuilder::push
2024-09-03 09:28:34 +02:00
Lukas Wirth
cf33d6ddb5
Drop unstable__schema
2024-09-03 09:19:17 +02:00
Corvin Paul
bf431789d3
Add support for borsh
2024-09-03 09:19:17 +02:00
Lukas Wirth
aa63570498
Expose SmolStrBuilder
2024-09-03 09:14:56 +02:00
Lukas Wirth
a2163274c4
Add more trait impls
2024-09-03 07:51:17 +02:00
Lukas Wirth
6b0d9ffdb5
Various cleanups
2024-09-03 07:51:17 +02:00
Lukas Wirth
28b9403e15
Bump deps
2024-09-02 20:42:14 +02:00
Rob Ede
c1327b21ba
Migrate CI to actions-rust-lang/setup-rust-toolchain
2024-06-01 10:06:49 +02:00
Rob Ede
5146c928fd
Document crate feature guards
2024-06-01 10:06:30 +02:00
Lukas Wirth
7cb89f14c6
Publish 0.2.2
2024-05-14 10:15:12 +02:00
Lukas Wirth
89a555b9b5
Document unsafe blocks
2024-05-14 10:09:33 +02:00
Alex Butler
860343ab85
Add StrExt::replace_smolstr, replacen_smolstr
2024-04-18 10:08:01 +02:00
Arpad Borsos
29f5ba6318
Add PartialEq shortcut for ptr_eq strings
...
This first compares the `Repr` before falling back to actually comparing the raw `as_str` itself.
In some micro-benchmarks, this speeds up inline and heap string comparisons when equal by ~70%.
There is a tiny hit in the non-equal case however. It is also noteworthy that the assembly generated for `Repr` is horrible,
and looks like its above the inlining threshold now.
2024-02-08 22:42:21 +01:00
Alex Butler
da4eb11ce9
Add must_use to StrExt methods
2024-02-08 22:41:25 +01:00
Alex Butler
79bb5e39b5
Add StrExt, to_lowercase_smolstr & friends
2024-02-08 14:43:17 +01:00
Anton Sol
2235939297
reformat
2024-01-31 18:59:27 +01:00
Anton Sol
257ece4d73
remove nightly benchmark feature
2024-01-31 18:59:27 +01:00
Anton Sol
1f338f7d8c
Manually impl clone
2024-01-31 18:59:27 +01:00
Anton Sol
6df2f06299
fix clone regression
...
test bench::bench_derive_clone ... bench: 454,318 ns/iter (+/- 11,401)
test bench::bench_match_clone ... bench: 183,570 ns/iter (+/- 10,652)
test bench::bench_new_clone ... bench: 177,907 ns/iter (+/- 2,234)
2024-01-31 18:59:27 +01:00
Anton Sol
471f1b6137
add benchmarks
...
This regressed from a previous attempt.
The worst of the old results were in the range 450.000
current:
test bench::bench_derive_clone ... bench: 1,653,247 ns/iter (+/- 32,781)
test bench::bench_match_clone ... bench: 1,716,482 ns/iter (+/- 34,192)
test bench::bench_new_clone ... bench: 1,717,985 ns/iter (+/- 52,137)
2024-01-31 18:59:27 +01:00
Lukas Wirth
13cac19135
Publish 0.2.1
2024-01-16 10:58:18 +01:00
novacrazy
ebb96d259d
Fix new_inline codegen
2024-01-16 10:53:13 +01:00
novacrazy
5559e23a50
Cleanup
2024-01-16 10:53:13 +01:00
novacrazy
39257f6b05
Add Writer and ToSmolStr
2024-01-16 09:18:52 +01:00
Moulins
f93c6b2cb0
feat: Add SmolStr::from_static
...
Allows creating `SmolStr`s longer than 23 bytes in constant
contexts.
This is done by replacing the `Repr::Substring` variant by a more
general `Repr::Static(&'static str)` variant, and borrowing from ̀`WS`
directly instead of storing two `usize`s.
As a bonus, it also simplifies the `as_str` implementation, hopefully
saving an extra branch.
2024-01-11 15:45:38 +01:00
MultisampledNight
8797f4fdfb
docs: fix missing codeblock backtick
2023-09-20 18:26:08 +02:00
Scott Driggers
0eed716dcc
Enforcing stack if can be put on stack
2023-09-05 14:45:32 -04:00
Scott Driggers
ced7e87db1
Implementing From<Arc<str>> for SmolStr and From<SmolStr> for Arc<str>
...
Also adding one test to verify
2023-08-25 09:39:14 -04:00
Lukas Wirth
ea478f81f1
Release 0.2.0
2023-03-31 07:38:34 +02:00
Lukas Wirth
4ad02f720f
Clarify size of SmolStr better
2023-03-31 07:37:08 +02:00
Lukas Wirth
8f9fefd8a0
Implement AsRef<str> in favor of generic From impls
2023-03-31 07:33:19 +02:00
Lukas Wirth
ae67412164
Use optional dependency feature syntax to make serde actually optional
2023-03-30 17:36:41 +02:00
austaras
5f367d76ae
Update test
2023-02-05 08:15:53 +08:00
austaras
46e5bd0097
Remove redundant enum value
2023-01-24 18:03:45 +08:00
austaras
8eced95f00
Update README.MD
2023-01-23 21:19:58 +08:00
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