aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-basic-utils/src/n_key_set.rs
Commit message (Collapse)AuthorAgeFilesLines
* maint: Run maint/add_warning to deny string slicesClara Engler2026-06-091-0/+1
| | | | | | | | | | | | This commit executes maint/add_warning with the just added change to deny string slices except in tests. I recommend auditing this by checking out the previous commit followed by running the script yourself and then verifying that the diff is identical to this commit. This commit makes cargo clippy fail. We will add exceptions in the next commit.
* Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-061-1/+1
| | | | Run maint/add_warning
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-071-3/+4
| | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* tor-basic-utils: Change a function to not be unsafeIan Jackson2024-10-081-2/+2
| | | | | This is not a memory safety requirement. We don't need `unsafe` here, so we shoudln't have it.
* tor-basic-utils: small doc changes to `n_key_set`Steven Engler2024-09-231-3/+2
|
* Run maint/add_warning.Nick Mathewson2024-03-131-0/+1
|
* Run maint/add_warning to add lint block everywhereIan Jackson2023-08-231-0/+1
|
* Run maint/add_warning to actually apply new lint allowsIan Jackson2023-07-101-0/+1
|
* Allow clippy::unchecked_duration_subtraction in testsNick Mathewson2023-01-271-0/+1
| | | | | This panics on error, and we're fine with a panic on misbehavior in tests.
* n_key_set: clean up some wide linesNick Mathewson2022-10-241-21/+38
|
* n_key_set: Re-insert by_foo_mut() accessors, but make them unsafe.Nick Mathewson2022-10-241-0/+21
|
* Fix some litter in a doc comment.Nick Mathewson2022-10-241-1/+1
|
* n_key_set: Add ability to modify entries in the map.Nick Mathewson2022-10-241-1/+118
| | | | | | The keys can change: if they do, then the entry is removed from its previous position and inserted at the new one, possibly displacing others.
* Allow "clippy::single_char_pattern" in tests.Ian Jackson2022-10-121-0/+1
| | | | | | | This lint exists for perf reasons, and this is rarely relevant in tests. Using double quoted str is generally cognitively less burdensome.
* n_key_set: Fix bugs in API documentation.Nick Mathewson2022-10-041-6/+6
| | | | | For whatever reason, rustdoc didn't like these multiline strings in `doc` attributes.
* n_key_set: Wrap "where" clauses in square brackets too.Nick Mathewson2022-10-041-7/+7
| | | | Otherwise, there is a parsing ambiguity. :(
* n_key_set: Rename generic parameters on functions.Nick Mathewson2022-10-041-11/+11
| | | | | Previously we used `<T>` in a bunch of places. But that fails if you try to declare `T` as a parameter on the structure itself.
* n_key_set: Add a try_insert().Nick Mathewson2022-10-041-8/+30
| | | | I am finding as I use this that I want a variant that can't panic.
* n_key_set: fix doctest compilation.Nick Mathewson2022-10-031-2/+2
|
* n_key_set: Update generic syntaxNick Mathewson2022-10-031-12/+14
| | | | Doing this lets us work with defaults and const generics.
* n_key_set: rename map elements.Nick Mathewson2022-10-031-9/+9
| | | | This prevents an explosion if somebody has a key called "values".
* n_key_set: Add support for generic lifetimes.Nick Mathewson2022-10-031-6/+48
| | | | | It doesn't work for const generics yet, since they can't be repeated in quite the same way.
* Tweaks and improvements in documentation.Nick Mathewson2022-10-031-7/+16
| | | | Most of these were suggested by Ian
* Repair rustdoc.Nick Mathewson2022-10-031-20/+16
| | | | | The previous indentation was making it think that we had rust code where none existed.
* n_key_set: Add a function to check invariant violationsNick Mathewson2022-10-031-1/+53
| | | | Also, document another invariant.
* n_key_set: Use remove_by_foo to implement insert.Nick Mathewson2022-10-031-4/+4
|
* n_key_set: Panic on more invariant and constraint violations.Nick Mathewson2022-10-031-3/+10
|
* n_key_set: Remove by_$key_mut.Nick Mathewson2022-10-031-20/+0
| | | | This can't be used in a consistency-preserving way.
* n_key_set: Add flags to keys rather than inferring from Option<T>Nick Mathewson2022-10-031-17/+18
| | | | | | | | Using Option<T> as an alias for T was too clever indeed, and it meant that our HashMaps were declared with the wrong types. Putting flags here instead gives us an extension point that we can use in the future.
* n_key_set: Use to_owned to permit &str accessors.Nick Mathewson2022-10-031-3/+2
|
* n_key_set: Add some tests, and notes on infelicities.Nick Mathewson2022-10-031-4/+106
|
* n_key_set: Fix a bug in function access.Nick Mathewson2022-10-031-1/+1
|
* n_key_set: add FromIterator.Nick Mathewson2022-10-031-0/+16
|
* Include a HashSet variant that can be keyed on multiple keys.Nick Mathewson2022-10-031-0/+363
Every element in the set has up to N keys, each of which may have differnt types. No value for any key may correspond to more than one element in the set. These properties can be provided, via a macro, for values of N between 1 and $BIG_ENOUGH. We'll use this to implement a type that holds HasRelayIds.