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
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
Ariel Davis
4b28ad92e9
Make text-size a workspace dep
2023-05-06 00:49:23 -07:00
Ariel Davis
85dd7b22b4
Use nohash_hasher, rm comment
2023-05-06 00:49:23 -07:00
Ariel Davis
7e1992a0d9
Make line-index an external lib
2023-05-06 00:49:23 -07:00
Ariel Davis
29256f22e4
Make non-hash an external lib
2023-05-06 00:49:23 -07:00
KatKlo
1db2a2536c
Fix bug with notifications during initialization
2023-04-15 19:31:02 +02:00
Lukas Wirth
ce0896b78c
Allocate ExprScopes ScopeEntries in a single arena instead of per ScopeData
2023-04-14 12:05:11 +02:00
Lukas Wirth
7f0fbf7f9d
Switch crate graph to use an Arena instead of a hashmap
2023-04-05 10:32:02 +02:00
Lukas Wirth
bea1c71f83
Use struct_tail_without_normalization in Expectation::rvalue_hint
2023-03-29 14:49:06 +02:00
bors
992a0fc074
Auto merge of #14403 - Veykril:dependencies, r=Veykril
...
internal: Bump Cargo.lock
2023-03-25 14:15:10 +00:00