Skip to content

Update cursive 0.20.0 -> 0.21.1#8253

Closed
cfsmp3 wants to merge 1 commit intofacebookincubator:mainfrom
cfsmp3:export-D77703952
Closed

Update cursive 0.20.0 -> 0.21.1#8253
cfsmp3 wants to merge 1 commit intofacebookincubator:mainfrom
cfsmp3:export-D77703952

Conversation

@cfsmp3
Copy link
Copy Markdown

@cfsmp3 cfsmp3 commented Jul 3, 2025

Summary:
This is an attempt to update cursive. What started this was a RUSTSEC on a transitive package but it became a bit of rabbit hole.

Anyway, this diff (please review, don't just stamp) updates cursive and it's (I think) only client, which is resctl.

This update comes with non-trivial breaking changes, in particular:

  • The View now requires Send + Sync, to allow accessing or moving views between threads. This prevents using Rc/RefCell, and may require using Arc/Mutex instead. This should eventually open the way for more multi-threaded processing of the view tree.

Of course this requires changing pretty much everything that touches Views... which is a lot.

DevMate did a lot of the work once I got it in the right track. It builds and tests pass.

The other thing worth mentioning is that the crate cursive_buffered_backend is removed, because cursive now includes this according its CHANGELOG.

  • The output to the backend is now buffered and delta-patched, resulting in improved performance for most backends.

Reviewed By: Imxset21

Differential Revision: D77703952

Summary:
This is an attempt to update cursive. What started this was a RUSTSEC on a transitive package but it became a bit of rabbit hole.

Anyway, this diff (please review, don't just stamp) updates cursive and it's (I think) only client, which is resctl.

This update comes with non-trivial breaking changes, in particular:

- The View now requires Send + Sync, to allow accessing or moving views between threads. This prevents using Rc/RefCell, and may require using Arc/Mutex instead. This should eventually open the way for more multi-threaded processing of the view tree.

Of course this requires changing pretty much everything that touches Views... which is a lot.

DevMate did a lot of the work once I got it in the right track. It builds and tests pass.

The other thing worth mentioning is that the crate cursive_buffered_backend is removed, because cursive now includes this according its CHANGELOG.

- The output to the backend is now buffered and delta-patched, resulting in improved performance for most backends.

Reviewed By: Imxset21

Differential Revision: D77703952
@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jul 3, 2025
@facebook-github-bot
Copy link
Copy Markdown
Contributor

This pull request was exported from Phabricator. Differential Revision: D77703952

@facebook-github-bot
Copy link
Copy Markdown
Contributor

This pull request has been merged in 51c01fc.

@cfsmp3 cfsmp3 deleted the export-D77703952 branch July 3, 2025 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants