Lukas Wirth
97748b0fc6
Speedup line index calculation via SSE2
2023-07-03 16:46:28 +02:00
Lukas Wirth
e5c65071bc
Disconnect library crate dependencies from workspace dependencies
2023-06-22 11:50:52 +02:00
David Lattimore
5c8d1a46b5
Use lib crates from crates.io
...
See lib/README.md for justification
2023-06-21 16:10:17 +10:00
David Lattimore
fb3e54ef05
Release lsp-server 0.7.1
2023-06-20 13:53:39 +10:00
David Lattimore
a0467c546c
Release la-arena 0.3.1
2023-06-20 13:53:39 +10:00
Lukas Wirth
3484b5a116
internal: Do not allocate unnecessarily when importing macros from parent modules
2023-06-16 18:41:06 +02:00
Lukas Wirth
dc7c6d43c7
Slightly shrink DefMap
2023-06-01 14:46:36 +02:00
bors
2df56cadcb
Auto merge of #14755 - poliorcetics:clippy-fixes, r=Veykril
...
Fix: a TODO and some clippy fixes
- fix(todo): implement IntoIterator for ArenaMap<IDX, V>
- chore: remove unused method
- fix: remove useless `return`s
- fix: various clippy lints
- fix: simplify boolean test to a single negation
2023-05-24 11:13:52 +00:00
bors
b7cdd93f3e
Auto merge of #14747 - oxalica:feat/arena-idx-range, r=HKalbasi
...
More APIs for `la_arena::IdxRange`
```rust
impl<T> ExactSizeIterator for IdxRange<T>;
impl<T> Arena<T> {
pub fn alloc_many<II: IntoIterator<Item = T>>(&mut self, iter: II) -> IdxRange<T>;
}
```
1. There are no currently ways to get `IdxRange` without manually offseting `Idx`. Providing a method for multiple-allocation simplifies this process and makes it less error-prone.
2. `IdxRange: ExactSizeIterator` makes `iter.zip(range).rev()` possible. Since `Zip: DoubleEndedIterator` requires all its arguments to be `ExactSizeIterator`. It also ease the usage for, eg. `len()`.
3. Fixed a typo.
I noticed that `IdxRange::end` may be invalid. Is it good to return `Idx` instead of `RawIdx`?
2023-05-09 17:36:48 +00:00
Ariel Davis
db40fef6b1
Improve lib readme
2023-05-07 02:41:44 -07:00
Ariel Davis
60056b8845
Expose len
2023-05-06 15:44:37 -07:00
Ariel Davis
9d4d45215a
Rename
2023-05-06 15:44:09 -07:00
Ariel Davis
369e430b05
Improve doc
2023-05-06 15:42:15 -07:00
Ariel Davis
1cf74802ab
Improve docs
2023-05-06 15:14:02 -07:00
Ariel Davis
ed498b6eff
Rm out of bounds
2023-05-06 15:11:18 -07:00
Ariel Davis
cc2936b93e
Use size field
2023-05-06 15:10:35 -07:00
Ariel Davis
510050ecdc
Add more types
2023-05-06 15:09:34 -07:00
Ariel Davis
7a7f90cf28
Use de morgan
2023-05-06 15:06:51 -07:00
Ariel Davis
7cdca727a8
Use all not instead of find is none
2023-05-06 15:06:23 -07:00
Ariel Davis
e4d053e794
Rm into
2023-05-06 15:05:38 -07:00
Ariel Davis
1bc6bca478
Use checked
2023-05-06 15:05:03 -07:00
oxalica
add94d3b9c
Impl FusedIterator
for IdxRange
2023-05-06 22:02:30 +08:00
oxalica
665c0cb547
Forward Iterator::{count,last,nth}
for IdxRange
random access
2023-05-06 22:00:04 +08:00
Alexis (Poliorcetics) Bourget
c5e0607915
fix(todo): implement IntoIterator for ArenaMap<IDX, V>
2023-05-06 15:37:38 +02:00
oxalica
86eaf53600
Fix typo in docs
2023-05-06 21:27:35 +08:00
oxalica
4e4940e21e
Add Arena::alloc_many
to easily get IdxRange
...
There are no currently ways to get `IdxRange` without manually offseting
`Idx`. Providing a method for multiple-allocation simplifies this
process and makes it less error-prone.
2023-05-06 21:21:00 +08:00
oxalica
300f3a1b43
Impl ExactSizeIterator
for IdxRange
2023-05-06 21:15:57 +08:00
Ariel Davis
343976fe56
Return None for too-large offset
2023-05-06 02:08:47 -07:00
Ariel Davis
e8a93306f0
Remove 0 TextSize at front
2023-05-06 01:46:33 -07:00
Ariel Davis
6500487735
Rename
2023-05-06 01:37:25 -07:00
Ariel Davis
0ad2450396
Check for inside multibyte
2023-05-06 01:05:28 -07:00
Ariel Davis
902b3438c9
Use try_line_col
2023-05-06 01:04:41 -07:00
Ariel Davis
d683e22021
Use u32 more
2023-05-06 01:03:18 -07:00
Ariel Davis
8012acc90e
Use a from
2023-05-06 01:02:37 -07:00
Ariel Davis
84a6cb3bfc
Inline
2023-05-06 00:59:56 -07:00
Ariel Davis
02e8bb0c6e
Return Option
2023-05-06 00:57:57 -07:00
Ariel Davis
9de213c4fe
Swap, tweak comments
2023-05-06 00:56:30 -07:00
Ariel Davis
0bb21533c6
Tweak comments, swap
2023-05-06 00:52:11 -07:00
Ariel Davis
594a41e7bf
Use pre.1, tweak comment
2023-05-06 00:51:25 -07:00
Ariel Davis
1ad0779a00
Make WideEncoding non-exhaustive
2023-05-06 00:49:23 -07:00
Ariel Davis
59b4916294
Swap
2023-05-06 00:49:23 -07:00
Ariel Davis
663e11c4b0
Move some tests
2023-05-06 00:49:23 -07:00
Ariel Davis
da5c63c8f9
Use boxed slice
...
As well as doing the shrink_to_fit, we also don't have to keep track of
the capacity anymore.
2023-05-06 00:49:23 -07:00
Ariel Davis
d9c88460e4
Use cur
2023-05-06 00:49:23 -07:00
Ariel Davis
4b7c759f2f
Un-doc a comment
2023-05-06 00:49:23 -07:00
Ariel Davis
4a1922fd1a
Depend on nohash-hasher individually
2023-05-06 00:49:23 -07:00
Ariel Davis
1d678cf6a0
Allow clippy
2023-05-06 00:49:23 -07:00
Ariel Davis
71c4a8968d
Pub use TextRange, TextSize
2023-05-06 00:49:23 -07:00
Ariel Davis
5e2c68f4d4
Use less
2023-05-06 00:49:23 -07:00
Ariel Davis
39ef368e75
Remove pub(crate)
2023-05-06 00:49:23 -07:00