# Share application adapter implementations \(reduce LLVM IR bloat again\) \(\#64262\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/dc339e4f43a3936f65e2a1673b74beb6e6cf0c12)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: dc339e4f43a3936f65e2a1673b74beb6e6cf0c12

Requested commit: dc339e4f43a3936f65e2a1673b74beb6e6cf0c12

Commit: dc339e4f43a3936f65e2a1673b74beb6e6cf0c12

Tree: 40c3d41356a303085ef101d50e6d9c5c97c019ba

Author: Kirill Bulatov

Committer: GitHub

## Message

```
Share application adapter implementations (reduce LLVM IR bloat again) (#64262)

Move settings-update routing, fallible deserialization recovery,
selection effects, context-menu initialization, picker resize handles,
and ACP client setup into shared implementations. Inline the small
button callback adapters.

`cargo llvm-lines --locked -p settings_ui`:
Before (01c555b435): 1571017 lines, 53634 copies
After: 1177376 lines (-25.1%), 43380 copies (-19.1%)

With compiler wrappers disabled, `cargo clean --target-dir
target/binary-size-split-build` and `cargo build --locked -p zed`:
Before: 135.6s wall, 1569.8s CPU, zed binary 1175563800 bytes 
After: 140.9s wall (+3.9%), 1588.8s CPU (+1.2%), zed binary 1157304600
bytes (-1.6%, -18.3MB)

Release Notes:

- N/A
```

## Parents

- [b0f53ad23be82b698e652c962e0d83fec1eb7760](https://git.cafe/gitcafe/zed/commit/b0f53ad23be82b698e652c962e0d83fec1eb7760?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/dc339e4f43a3936f65e2a1673b74beb6e6cf0c12?format=markdown)
