summaryrefslogtreecommitdiff
path: root/crates/tor-basic-utils/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* tor-basic-utils: Add an if_empty helper macroNick Mathewson2026-05-271-0/+16
| | | | | We need this pattern in a lot of places; we might as well just define it once.
* tor-basic-utils: Correct documentation for macro_first_nonempty.Nick Mathewson2026-05-271-5/+5
| | | | | It looks like we renamed this macro, but didn't rename it in its documentation.
* clippy: Work around bug where it claims method doesn't existIan Jackson2026-05-131-0/+6
| | | | | | | | | | | | Fixes warning: `rand::RngExt::random_range` does not refer to a reachable function --> /volatile/rustcargo/Rustup/Arti/arti/clippy.toml:7:5 | 7 | { path = "rand::RngExt::random_range", reason = "Prefer tor_basic_utils::RngExt::gen_range_checked to avoid uncontrolled panics, or gen_range_infallible if applicable" }, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: add `allow-invalid = true` to the entry to suppress this warning
* Upgrade rand crates to 0.10.Wesley Aptekar-Cassels2026-05-121-2/+3
| | | | | | | | | | | When the circ-padding feature is enabled, we use maybenot, which does not yet support rand 0.10. In the meantime, enabling this feature pulls in rand 0.9. This is not ideal, but should be okay as a temporary situation. This also replaces the use of ReseedingRng (which was removed in 0.10) with the reseeding_rng crate. This is somewhat less performant, but it should be okay.
* tor-basic-utils: remove `flatten`Nick Mathewson2026-05-071-15/+0
| | | | | It is no longer needed since we require Rust 1.89. Nobody was using it.
* tor-basic-utils: Update comment about std::fmt::from_fn.Nick Mathewson2026-05-071-1/+1
| | | | We now know when it was stabilized, so we can say when to use it.
* tor-basic-utils: Remove IoErrorExt and BinaryHeapExt.Nick Mathewson2026-03-251-50/+0
| | | | | | | | | | IoErrorExt existed to provide a workaround for Rust versions that didn't have io::ErrorKind::NotADirectory. But NotADirectory was stabilized in 1.83 and our MSRV is 1.89. BinaryHeapExt existed to provide an implementation for Rust versions that didn't have BinaryHeap::retain. But BinaryHeap::retain was stabilized in 1.70 and our MSRV is 1.70.
* tor-basic-utils: clean up `iter_join`Steven Engler2026-03-031-8/+6
|
* tor-basic-utils: move `iter_join` from arti-relaySteven Engler2026-03-031-0/+33
| | | | Will clean this up in the following commit.
* Allow clippy::collapsible_if to triggerGabriela Moldovan2026-02-161-0/+1
| | | | | | | | | `clippy::collapsible_if` started triggering after bumping the MSRV to 1.88. Since this triggers from a lot of places, and since there even are a couple of instances where we explicitly allow `clippy::collapsible_ifs`, I've opened #2342 for deciding what to do about it.
* tor-basic-utils: Add utility to iterate over error sourcesRobert Bartlensky2026-02-141-0/+1
|
* maint/add_warning: Run script to add new warningGabriela Moldovan2026-01-271-0/+1
| | | | This adds the lint to all our crates.
* Move intern from tor-netdir to tor-basic-utils and make it pubNick Mathewson2025-12-031-0/+1
|
* Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-061-2/+2
| | | | Run maint/add_warning
* tor-basic-utils: New function to generate random hostname.Nick Mathewson2025-10-071-0/+1
| | | | | | We'll be using this for x509 certificates in #2197. We might also use it for SNI/ESNI as in !198.
* Remove "doc_auto_cfg" incantation from all crates.Nick Mathewson2025-09-291-1/+1
| | | | This feature has been removed from nightly, in favor of doc_cfg.
* Fix a comment about Result::flattenNick Mathewson2025-08-071-2/+3
| | | | Previously this API was nightly-only; now it's in 1.89.
* tor-basic-utils: add `assert_val_impl_trait!` macroSteven Engler2025-07-171-0/+19
|
* Temporarily suppress mismatched_lifetime_syntaxes.Gabriela Moldovan2025-07-071-0/+1
| | | | See #2060.
* tor-basic-utils: standardized MSRV TODOshashcatHitman2025-04-161-1/+1
| | | | | - Part of a series of commits aimed at replacing all MSRV-related TODOs with a standardized format, which should be easier to find when the MSRV is bumped.
* tor-basic-utils: move `flatten` from tor-protoSteven Engler2025-03-251-0/+14
| | | | I also added an additional non-doc TODO comment.
* squash! Upgrade rand dependency to 0.9.Nick Mathewson2025-03-181-1/+5
| | | | - `Rng::gen_range()` has been renamed to `Rng::random_range()`
* squash! Upgrade rand dependency to 0.9.Nick Mathewson2025-03-181-6/+6
| | | | - The rand::distributions module has been renamed to rand::distr
* squash! Upgrade rand dependency to 0.9.Nick Mathewson2025-03-181-2/+2
| | | | - `rand::thread_rng()` has been deprecated and renamed to `rand::rng()`
* Always use full path to rand::thread_rng().Nick Mathewson2025-03-181-4/+2
| | | | | This is partly for consistency, and partly to facilitate a global search-and-replace.
* clippy: deny `mod_module_files`Steven Engler2025-01-061-0/+1
| | | | | | Denies 'mod.rs' files for consistency. https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
* add_warnings, *: Allow clippy::needless_lifetimesNick Mathewson2024-12-031-0/+1
| | | | | | | | In 1.83, this warning triggers on many of our crates. We're thinking of fixing them all, but for now, we're going to disable the warning. This is part of #1765.
* tor-basic-utils: add `n_key_list` macroSteven Engler2024-09-231-0/+1
| | | | | This is based off of the `n_key_set` macro, but lets you store multiple items per key.
* byte_qty: Move to tor-basic-utilsIan Jackson2024-08-271-0/+3
| | | | Code motion of byte_qty.rs, and minimal necessary supporting changes.
* Re-run maint/add_warning.Nick Mathewson2024-05-061-2/+2
| | | | This commit is automatically generated.
* Run maint/add_warning.Nick Mathewson2024-03-131-0/+1
|
* tor-basic-utils: Provide PathExt with display_lossy() methodIan Jackson2024-03-051-0/+25
|
* deny clippy::unchecked_duration_subtractiontrinity-1686a2024-02-291-0/+1
|
* tor-basic-utils: Seal IoErrorExtIan Jackson2023-10-101-1/+9
|
* Run maint/add_warning to add lint block everywhereIan Jackson2023-08-231-0/+1
|
* Run add_warnings on all files.Nick Mathewson2023-08-041-2/+2
|
* Merge branch 'clippy-allow' into 'main'Ian Jackson2023-07-111-0/+2
|\ | | | | | | | | clippy: Allow some of our existing code patterns See merge request tpo/core/arti!1396
| * Run maint/add_warning to actually apply new lint allowsIan Jackson2023-07-101-0/+2
| |
* | rng docs: Fix two linksIan Jackson2023-07-101-2/+2
| |
* | rng ranges: Provide examples (doctests)Ian Jackson2023-07-101-0/+42
| |
* | rng ranges: Forbid use of panicky Rng::gen_rangeIan Jackson2023-07-101-0/+1
| | | | | | | | Fixes #920
* | rng ranges: Introduce gen_range_infallibleIan Jackson2023-07-101-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | There are a number of places where we generate random Durations in a range which starts at zero. These call sites currently (i) have to write out Duration::ZERO or equivalent, and (ii) would have to use gen_range_checked and expect the result, even though it can be statically proven to be OK. To make this slightly smoother, provide `GenRangeInfallible` and `gen_range_infallible`.
* | rng ranges: Introduce RngExt and gen_range_checkedIan Jackson2023-07-101-0/+27
|/ | | | We will use this in many places instead of gen_range.
* Run add_warning to remove `missing_panics_doc` deny.Nick Mathewson2023-07-061-1/+0
| | | | Closes #950.
* lints: Run maint/add_warning to actually apply new lintsIan Jackson2023-06-211-0/+2
|
* tor-basic-utils: Add RangeBoundsExt trait.Gabriela Moldovan2023-05-131-0/+1
| | | | Signed-off-by: Gabriela Moldovan <[email protected]>
* impl_debug_hex: Fix syntax error in usage templateIan Jackson2023-04-111-1/+1
| | | | Corrects the doc and fixes a rustdoc warning.
* tor-basic-utils: Provide impl_debug_hexIan Jackson2023-03-311-0/+82
|
* Move functionality from tor_basic_utils to tor_async_utilsNick Mathewson2023-03-291-1/+0
| | | | | This commit is mostly code movement; I'd recommend reviewing it with git's `--color-moved` option.
* Introduce and use ends_with_ignore_ascii_caseIan Jackson2023-03-081-1/+6
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1056#note_2884428