<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/hashx/src/lib.rs, branch arti-v1.9.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.9.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.9.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-11-06T11:28:22Z</updated>
<entry>
<title>Fix name of clippy lint to unchecked_time_subtraction (2)</title>
<updated>2025-11-06T11:28:22Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-11-06T11:23:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a5fd5c48ea059a80cc1f6c50e248654b5ff3aaff'/>
<id>urn:sha1:a5fd5c48ea059a80cc1f6c50e248654b5ff3aaff</id>
<content type='text'>
Run maint/add_warning
</content>
</entry>
<entry>
<title>Remove "doc_auto_cfg" incantation from all crates.</title>
<updated>2025-09-29T19:30:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-09-29T18:30:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=808b0ec2e3735a6dbbebeb857a3d6040ae02c697'/>
<id>urn:sha1:808b0ec2e3735a6dbbebeb857a3d6040ae02c697</id>
<content type='text'>
This feature has been removed from nightly, in favor of doc_cfg.
</content>
</entry>
<entry>
<title>Temporarily suppress mismatched_lifetime_syntaxes.</title>
<updated>2025-07-07T15:50:04Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-07-07T15:50:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a11b611466a5a73f5e06a0aabd17284a57d12fe3'/>
<id>urn:sha1:a11b611466a5a73f5e06a0aabd17284a57d12fe3</id>
<content type='text'>
See #2060.
</content>
</entry>
<entry>
<title>clippy: deny `mod_module_files`</title>
<updated>2025-01-06T23:09:41Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-01-06T23:02:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=252a3a803b2db65792db5bd51dee8950d8557e0d'/>
<id>urn:sha1:252a3a803b2db65792db5bd51dee8950d8557e0d</id>
<content type='text'>
Denies 'mod.rs' files for consistency.

https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
</content>
</entry>
<entry>
<title>add_warnings, *: Allow clippy::needless_lifetimes</title>
<updated>2024-12-03T14:27:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-12-03T14:15:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=64cc3f2ed3eea0b7c5cc89ae07cbdadfdc1646fb'/>
<id>urn:sha1:64cc3f2ed3eea0b7c5cc89ae07cbdadfdc1646fb</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Re-run maint/add_warning.</title>
<updated>2024-05-06T13:31:35Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-06T13:23:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=97f452ec9958bf7d8ca3275c39655814a4494637'/>
<id>urn:sha1:97f452ec9958bf7d8ca3275c39655814a4494637</id>
<content type='text'>
This commit is automatically generated.
</content>
</entry>
<entry>
<title>deny clippy::unchecked_duration_subtraction</title>
<updated>2024-02-29T17:16:49Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2024-02-29T17:06:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ac5b36027ca825d27ef466501c660ce498fd9e3c'/>
<id>urn:sha1:ac5b36027ca825d27ef466501c660ce498fd9e3c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Switch to FixedCapacityVec 0.1.0 from crates.io</title>
<updated>2023-09-06T10:21:32Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-09-01T09:17:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=63db4c61fa3be9fc36e6b5117fa12edbeff33cd9'/>
<id>urn:sha1:63db4c61fa3be9fc36e6b5117fa12edbeff33cd9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hashx: FixedCapacityVec: Move into its own module</title>
<updated>2023-08-24T12:50:20Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-08-24T12:23:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6529846787aa65dc480edcca4a3e9cab1712e75b'/>
<id>urn:sha1:6529846787aa65dc480edcca4a3e9cab1712e75b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hashx: New approach to avoid memcpy in Program</title>
<updated>2023-08-21T22:27:28Z</updated>
<author>
<name>Micah Elizabeth Scott</name>
<email>beth@torproject.org</email>
</author>
<published>2023-08-15T21:35:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ceacd5c98808ed8ecd91d6645be3ad32ce606ad0'/>
<id>urn:sha1:ceacd5c98808ed8ecd91d6645be3ad32ce606ad0</id>
<content type='text'>
I was trying to eliminate all the places where we copied a Program
(about 4100 bytes) except for the one final copy into a Box; but that
approach was proving too annoying. Even returning a Program via Result
will cause multiple unnecessary copies that don't optimize out.

This patch switches approaches, and instead allocates a Vec&lt;Instruction&gt;
presized to the correct capacity. This allocation is made as early as
possible and retained for the lifetime of the program if necessary.
This means we'll never avoid a heap allocation, but we can always
avoid extra copies and we don't need a separate Box for interpreted
programs.

Performance effects are subtle. Overall wallclock time doesn't change
much. Cachegrind shows some accesses moving up from RAM to L2 cache.
Using GDB to probe memcpy sizes shows that large (&gt;1024b) memcpy are now
totally gone in the generate-interp test.

Signed-off-by: Micah Elizabeth Scott &lt;beth@torproject.org&gt;
</content>
</entry>
</feed>
