comparison rust/hg-core/Cargo.toml @ 50682:2cc5de261d76

rust-hg-core: move from `ouroboros` to `self_cell` `ouroboros` has a fundamental soundness problem that, while not applicable today, could become applicable given new compiler optimizations.ยน `self_cell` is a crate that accomplishes a lot of the same things that `ouroboros` did while remaining sound (that is, unless a new soundness issue is discovered) by not assuming as much about the memory layout of the program. `self_cell` has been scrutinized heavily in the past few months by very competent people, some from the compiler team and has shown no weaknesses for a while, with a 1.0 stable release coming out a couple months ago. Our internal API is exactly the same, this is just an implementation detail. To reiterate, no actual soundness issue was found with our use of `ouroboros`, but there might be evolutions of `rustc` (or even a future separate compiler) that could generate unsound code. [1] https://github.com/joshua-maros/ouroboros/issues/88
author Raphaël Gomès <rgomes@octobus.net>
date Mon, 12 Jun 2023 23:41:28 +0200
parents dd12fc49f9e6
children f8412da86d05
comparison
equal deleted inserted replaced
50681:47b44d80d836 50682:2cc5de261d76
18 im-rc = "15.1.0" 18 im-rc = "15.1.0"
19 itertools = "0.10.5" 19 itertools = "0.10.5"
20 lazy_static = "1.4.0" 20 lazy_static = "1.4.0"
21 libc = "0.2.137" 21 libc = "0.2.137"
22 logging_timer = "1.1.0" 22 logging_timer = "1.1.0"
23 ouroboros = "0.15.5"
24 rand = "0.8.5" 23 rand = "0.8.5"
25 rand_pcg = "0.3.1" 24 rand_pcg = "0.3.1"
26 rand_distr = "0.4.3" 25 rand_distr = "0.4.3"
27 rayon = "1.7.0" 26 rayon = "1.7.0"
28 regex = "1.7.0" 27 regex = "1.7.0"
28 self_cell = "1.0"
29 sha-1 = "0.10.0" 29 sha-1 = "0.10.0"
30 twox-hash = "1.6.3" 30 twox-hash = "1.6.3"
31 same-file = "1.0.6" 31 same-file = "1.0.6"
32 tempfile = "3.3.0" 32 tempfile = "3.3.0"
33 thread_local = "1.1.4" 33 thread_local = "1.1.4"