sapling/eden/scm/lib
Thomas Orozco 22e700ccf3 (reland) rust/third-party: update to futures 0.3.28
Summary:
Note: this is a re-land of D44623815, which was was reverted because of a land race with D44626072

In particular this fixes `FlattenUnordered` having a nasty deadlock, but also
some other  bugs:

```
# 0.3.28 - 2023-03-30

* Update to syn 2. This raises MSRV of utility crates to 1.56. (#2730, #2733)
* Fix bug in `FlattenUnordered` (#2726, #2728)

# 0.3.27 - 2023-03-11

* Add `TryFlattenUnordered` (#2577, #2590, #2606, #2607)
* Add `AbortHandle::is_aborted` (#2710)
* Add `AbortRegistration::handle` (#2712)
* Make `BiLock` strict-provenance compatible (#2716)

# 0.3.26 - 2023-01-30

* Add `Either::as_pin_mut` and `Either::as_pin_ref` (#2691)
* Add `Shared::ptr_eq` and `Shared::ptr_hash` (#2691)
* Implement `FusedStream` for `Buffered` (#2676)
* Implement `FusedStream` for all streams in `ReadyChunks` (#2693)
* Fix bug in `FuturesOrdered::push_front` (#2664)
* Remove `Fut::Output: Clone` bounds from some `Shared` methods (#2662)
* Remove `T: Debug` bounds from `Debug` implementations of `mpsc` and `oneshot` types (#2666, #2667)

# 0.3.25 - 2022-10-20

* Fix soundness issue in `join!` and `try_join!` macros (#2649)
* Implement `Clone` for `sink::Drain` (#2650)

# 0.3.24 - 2022-08-29

* Fix incorrect termination of `select_with_strategy` streams (#2635)

# 0.3.23 - 2022-08-14

* Work around MSRV increase due to a cargo bug.
```

Reviewed By: zertosh

Differential Revision: D44632588

fbshipit-source-id: bdd87cb02b3aef63a65b1f9b852579225adfedbd
2023-04-04 10:14:43 -07:00
..
async-runtime (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
atomicfile Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
auth Update to chrono-0.4.23 2023-03-01 05:04:16 -08:00
backingstore backingstore: expose file size/sha1 to EdenFS 2023-02-21 12:05:13 -08:00
blackbox Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
cats Upgrade indexmap 2023-01-29 11:17:39 -08:00
checkout (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
clidispatch clidispatch: add context method to create logger 2023-02-09 11:49:19 -08:00
clientinfo update to rust 1.64.0 2022-09-27 15:18:58 -07:00
cliparser py3: remove python3 crate feature 2022-11-14 18:14:03 -08:00
clone Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
commitcloudsubscriber (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
config Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
control-point Rerun autocargo 2022-11-29 05:48:56 -08:00
copytrace copytrace: make read_renamed_metadata API async 2023-03-28 13:28:54 -07:00
cpython-async (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
cpython-ext Update libc-0.2.137 to libc-0.2.139 2023-02-12 16:30:00 -08:00
dag (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
debugtop Utc.timestamp(…) -> Utc.timestamp_opt(…).unwrap() 2022-12-20 13:50:25 -08:00
dev-logger third-party/rust: bump tracing-subscriber and tracing-glog 2022-10-14 13:32:47 -07:00
doctor/network Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
drawdag simplify checking in range handling 2022-09-27 13:10:15 -07:00
eagerepo (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
edenapi (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
edenfs-client fix some compilation warnings 2023-03-02 13:08:50 -08:00
encoding encoding: fix test build on Windows 2022-05-05 17:15:37 -07:00
exchange update to rust 1.64.0 2022-09-27 15:18:58 -07:00
formatter Fix doc tests of all eden targets 2023-02-22 17:53:55 -08:00
fsinfo Update libc-0.2.137 to libc-0.2.139 2023-02-12 16:30:00 -08:00
fsyncglob Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
gitstore (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
hg-http config: move to subdirectory 2022-09-01 17:43:38 -07:00
hg-metrics ethers.rs 2022-06-23 20:03:16 -07:00
hgcommands nodeipc: initialize IPC before spawning threads 2023-03-28 09:22:28 -07:00
hgcommits (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
hgtime Update to chrono-0.4.23 2023-03-01 05:04:16 -08:00
http-client (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
identity Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
indexedlog Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
insta_ext Back out "Expose seeded_blake3 hash for file data through trees and files endpoint" 2023-03-08 14:50:25 -08:00
io Fix doc tests of all eden targets 2023-02-22 17:53:55 -08:00
lazystr add lazystr crate for ergonomic String thunks 2022-07-07 15:19:21 -07:00
linelog license: update license headers 2022-03-04 12:55:23 -08:00
lz4-pyframe Update libc-0.2.137 to libc-0.2.139 2023-02-12 16:30:00 -08:00
manifest manifest-tree: reimplement BfsIter 2023-02-28 09:34:42 -08:00
manifest-tree manifest-tree: reimplement BfsIter 2023-02-28 09:34:42 -08:00
metalog Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
metrics (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
migration update to rust 1.64.0 2022-09-27 15:18:58 -07:00
mincode Remove ::{self} 2022-07-26 03:11:30 -07:00
minibench lib: relicense 11 libraries from GPL2 to MIT (LICENSE) 2022-07-22 13:01:44 -07:00
minibytes third-party/rust: remove memmap and migrate to memmap2 2023-02-23 09:28:19 -08:00
mpatch Update libc-0.2.137 to libc-0.2.139 2023-02-12 16:30:00 -08:00
mpatch-sys third-party/rust: update cc 2023-01-27 05:07:50 -08:00
mutationstore (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
nodemap Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
nonblocking (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
pathhistory pathhistory: do not use parents outside the requested set to skip segments 2023-03-22 11:49:24 -07:00
pathmatcher Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
pprint rust: update serde_json to 1.0.79 and serde to 1.0.136 2022-04-10 23:39:55 -07:00
procinfo Update libc-0.2.137 to libc-0.2.139 2023-02-12 16:30:00 -08:00
progress progress: allow longer topics in wider temrinals 2023-03-20 08:42:20 -07:00
radixbuf update to rust 1.64.0 2022-09-27 15:18:58 -07:00
refencode remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
renderdag renderdag: make serde an optional dependency 2023-01-23 11:38:41 -08:00
repo Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
repo_name update to rust 1.64.0 2022-09-27 15:18:58 -07:00
repolock Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
revisionstore (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
revlogindex Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
revsets checkout: fallback if Rust commit resolution fails 2022-11-08 15:55:26 -08:00
runlog Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
sparse (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
spawn-ext Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
status status: surface "invalid file type" errors 2023-03-27 11:54:35 -07:00
storemodel (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
streams (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
third-party Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
thrift-types (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
tracing-analyzer Remove unused Rust deps 2022-06-14 09:31:57 -07:00
tracing-collector Update libc-0.2.137 to libc-0.2.139 2023-02-12 16:30:00 -08:00
tracing-reload third-party/rust: bump tracing-subscriber and tracing-glog 2022-10-14 13:32:47 -07:00
tracing-runtime-callsite update regex to 1.6.0 2022-10-31 21:28:04 -07:00
tracing-sampler Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
treestate Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
types third-party/rust: remove the sha-1 crate 2023-02-14 04:44:22 -08:00
util Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
version version: use SAPLING_VERSION as version if provided 2022-11-04 17:50:50 -07:00
vfs Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
vlqencoding Remove ::{self} 2022-07-26 03:11:30 -07:00
workingcopy (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
xdiff fix clippy lints + add constructor for DiffState 2022-11-23 09:20:23 -08:00
xdiff-sys third-party/rust: update cc 2023-01-27 05:07:50 -08:00
zstdelta Update libc-0.2.137 to libc-0.2.139 2023-02-12 16:30:00 -08:00
zstore Update tempfile from 3.4 to 3.5 2023-03-30 17:11:37 -07:00
CMakeLists.txt codemod: update license headers 2022-01-05 14:43:32 -08:00
README.md hgext: rename ext to hgext 2022-08-23 15:19:05 -07:00
run_cargo_tests.py tests: run cargo tests with different features 2023-01-23 11:38:41 -08:00

lib

Any native code (C/C++/Rust) that Mercurial (either core or extensions) depends on should go here. Python code, or native code that depends on Python code (e.g. #include <Python.h> or use cpython) is disallowed.

As we start to convert more of Mercurial into Rust, and write new paths entrirely in native code, we'll want to limit our dependency on Python, which is why this barrier exists.

See also ext/extlib/README.md, mercurial/cext/README.mb.

How do I choose between lib and extlib (and cext)?

If your code is native and doesn't depend on Python (awesome!), it goes here.

Otherwise, put it in ext/extlib (if it's only used by extensions) or mercurial/cext (if it's used by extensions or core).