summaryrefslogtreecommitdiff
path: root/crates/tor-basic-utils
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow clippy::unchecked_duration_subtraction in testsNick Mathewson2023-01-275-0/+5
| | | | | This panics on error, and we're fine with a panic on misbehavior in tests.
* Disable clippy::unlinlined-format-argsNick Mathewson2023-01-271-0/+1
| | | | | | | | This warning kind of snuck up on us! (See #748) For now, let's disable it. (I've cleaned it up in a couple of examples, since those are meant to be more idiomatic and user-facing.) Closes #748.
* Merge branch 'test-lints' into 'main'eta2023-01-063-1/+26
|\ | | | | | | | | Add test lint blocks to all "mod test" See merge request tpo/core/arti!937
| * test lint blocks: Add many many automaticallyIan Jackson2022-12-122-0/+17
| | | | | | | | | | This is precisely the result of running the rune in maint/adhoc-add-lint-blocks.
| * test lint blocks: Do some semi-manuallyIan Jackson2022-12-121-1/+9
| | | | | | | | | | | | | | This is the hunks from running the rune in maint/adhoc-add-lint-blocks but which require some subsequent manual fixup: usually, deleting now-superfluous outer allows, but in some cases manually putting back lints that the adhoc script deleted.
* | doc: consistent summary line for the READMEsEmil Engler2022-12-201-1/+1
|/ | | | | This commit introduces a consistency to the summary line of all README.md files in each and every crate.
* Remove semver.md files now that 1.1.0 is released.Nick Mathewson2022-11-301-3/+0
|
* Bump the minor version of every crate.Nick Mathewson2022-11-301-1/+1
| | | | | We made this job easy this time around: by incrementing our MSRV, we have forced ourselves to do at least a minor bump everywhere.
* tor-basic-utils: DropNotifyWatchSender: use DropNotifyEofSignallableIan Jackson2022-11-232-7/+38
| | | | | This will help avoid the programmer making the mistake I made here: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/852#note_2854029
* tor-basic-utils: DropNotifyWatchSender test: introduce IIan Jackson2022-11-231-6/+9
| | | | | We do want to test this with a non-Option type, but we are going to have to wrap it up.
* tor-basic-utils: Provide helper for serde flexible parsingIan Jackson2022-11-213-0/+92
|
* bump rust-version to 1.60 in every crate.Nick Mathewson2022-11-101-1/+1
|
* define_accessor_trait: Allow specification of other itemsIan Jackson2022-11-031-1/+10
|
* define_accessor_trait: Allow specification of supertraitsIan Jackson2022-11-031-4/+8
|
* Run add_warnings.Nick Mathewson2022-11-031-0/+1
|
* Require derive_more 0.99.3Ian Jackson2022-11-031-1/+1
| | | | | | | | 0.99.[012] have a bug https://github.com/JelteF/derive_more/issues/114 which makes the Deref derive for bridgedesc::StateGuard not work and therefore breaks minimal-versions CI. It seems simpler to require the newer version everywhere.
* tor-basic-utils: Provide an implementation of BinaryHeap::retainIan Jackson2022-10-272-0/+23
| | | | | | This is currently nightly-only and is blocked on an unresolved API question: https://github.com/rust-lang/rust/issues/71503
* 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.
* cargo fmt to remove blank linesIan Jackson2022-10-121-1/+0
| | | | | | | Apparently cargo fmt doesn't like these, which my perl rune didn't delete. This commit is precisely the result of `cargo fmt`.
* Replace all README copies in src/lib.rs with includesIan Jackson2022-10-121-10/+1
| | | | | | | | The feature we want is `#[doc = include_str!("README.md")]`, which is stable since 1.54 and our MSRV is now 1.56. This commit is precisely the result of the following Perl rune: perl -i~ -0777 -pe 's{(^//!(?!.*\@\@).*\n)+}{#![doc = include_str!("../README.md")]\n}m' crates/*/src/lib.rs
* Allow "clippy::single_char_pattern" in tests.Ian Jackson2022-10-122-0/+2
| | | | | | | 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.
* Merge branch 'multi_keyed_set' into 'main'Nick Mathewson2022-10-033-0/+572
|\ | | | | | | | | Include a HashSet variant that can be keyed on multiple keys. See merge request tpo/core/arti!747
| * 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
| * Require slab 0.4.4Nick Mathewson2022-10-031-1/+1
| | | | | | | | The `try_remove()` method, which we need, was introduced there.
| * 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-033-0/+366
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Bump crates that have had no API changes.Nick Mathewson2022-10-031-1/+1
|/
* fix clippy::needless_borrowtrinity-1686a2022-09-101-1/+1
|
* Remove semver.md from arti-1.0.0Nick Mathewson2022-09-071-1/+0
|
* Bump crate versions in preparation for Arti 1.0.0 release.Nick Mathewson2022-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because we want to work more on ensuring that our semver stability story is solid, we are _not_ bumping arti-client to 1.0.0 right now. Here are the bumps we _are_ doing. Crates with "minor" bumps have had API breaks; crates with "patch" bumps have had new APIs added. Note that `tor-congestion` is not bumped here: it's a new crate, and hasn't been published before. ``` tor-basic-utils minor fs-mistrust minor tor-config minor tor-rtcompat minor tor-rtmock minor tor-llcrypto patch tor-bytes patch tor-linkspec minor tor-cell minor tor-proto minor tor-netdoc patch tor-netdir minor tor-persist patch tor-chanmgr minor tor-guardmgr minor tor-circmgr minor tor-dirmgr minor arti-client minor arti-hyper minor arti major arti-bench minor arti-testing minor ```