salsa-rs
salsa
BlogDocsChangelog

Require interned structs' fields to be `Update`

#1036Merged
Comparing
ChayimFriedman2:update-interned
(
0f5be17
) with
master
(
55e5e7d
)
CodSpeed Performance Gauge
0%
Untouched
13

Benchmarks

Passed

new[InternedInput]
benches/compare.rs::benches::inputs::Mutating Inputs
CodSpeed Performance Gauge
+3%
4.5 µs4.4 µs
amortized[Input]
benches/compare.rs::benches::inputs::Mutating Inputs
CodSpeed Performance Gauge
+1%
2.2 µs2.2 µs
mutating[10]
benches/compare.rs::benches::mutating_inputs::Mutating Inputs
CodSpeed Performance Gauge
0%
14.2 µs14.1 µs
mutating[30]
benches/compare.rs::benches::mutating_inputs::Mutating Inputs
CodSpeed Performance Gauge
0%
14.7 µs14.7 µs
converge_diverge_nested
benches/dataflow.rs::benches::nested
CodSpeed Performance Gauge
0%
116.5 µs116.1 µs
mutating[20]
benches/compare.rs::benches::mutating_inputs::Mutating Inputs
CodSpeed Performance Gauge
0%
14.9 µs14.8 µs
accumulator
benches/accumulator.rs::benches::accumulator
CodSpeed Performance Gauge
0%
3.4 ms3.4 ms
amortized[InternedInput]
benches/compare.rs::benches::inputs::Mutating Inputs
CodSpeed Performance Gauge
0%
2.1 µs2.1 µs
many_tracked_structs
benches/incremental.rs::benches::many_tracked_structs
CodSpeed Performance Gauge
0%
9 µs9 µs
new[SupertypeInput]
benches/compare.rs::benches::inputs::Mutating Inputs
CodSpeed Performance Gauge
0%
16.4 µs16.4 µs
converge_diverge
benches/dataflow.rs::benches::dataflow
CodSpeed Performance Gauge
-1%
151.6 µs152.4 µs
new[Input]
benches/compare.rs::benches::inputs::Mutating Inputs
CodSpeed Performance Gauge
-3%
10.3 µs10.5 µs
amortized[SupertypeInput]
benches/compare.rs::benches::inputs::Mutating Inputs
CodSpeed Performance Gauge
-4%
2.9 µs3 µs

Commits

Click on a commit to change the comparison range
Base
master
55e5e7d
-0.1%
Require interned structs' fields to be `Update` To fix an unsoundness - #985. There are two breaking changes here: 1. Interned fields and interned function fields are required to be `Update` (or `'static`) 2. `unsafe(non_update_return_types)` in tracked fn options was renamed to `unsafe(non_update_types)` (and includes interned parameters as well now).
0f5be17
6 days ago
by ChayimFriedman2
© 2025 CodSpeed Technology
Home Terms Privacy Docs