Mercurial > hg
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" |