Commit f3206e0
authored
ci: pin nightly toolchain to 2026-04-16 for ethnum 1.5.2 compat (#6570)
## Summary
The `linux-build` CI job installs unpinned `nightly`, which broke after
2026-04-17 because `ethnum 1.5.2` uses `unsafe { mem::transmute(()) }`
to create `TryFromIntError`. Newer nightly builds reject this with
`error[E0512]: cannot transmute between types of different sizes`.
Dependency chain: `lance-arrow` → `jsonb 0.5.6` → `ethnum 1.5.2`
This PR pins `nightly-2026-04-16` (last known-good date) in both the
toolchain install step and the `cargo +nightly` invocation.
## Root Cause
`ethnum-1.5.2/src/error.rs:16`:
```rust
pub const fn tfie() -> TryFromIntError {
unsafe { mem::transmute(()) } // () is 0 bits, TryFromIntError is 8 bits
}
```
Rust nightly `e9e32aca5` (2026-04-17) tightened `transmute` checks,
making this a hard error.
## Follow-up
- Upstream fix needed in
[`nlordell/ethnum-rs`](https://github.com/nlordell/ethnum-rs) to replace
the transmute hack
- Once `ethnum` publishes a fix and `jsonb` picks it up, the pin can be
removed
## Test plan
- [x] `linux-build` job passes with pinned nightly1 parent 9d3d1ef commit f3206e0
1 file changed
Lines changed: 5 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | | - | |
| 97 | + | |
| 98 | + | |
98 | 99 | | |
99 | 100 | | |
100 | | - | |
101 | | - | |
| 101 | + | |
| 102 | + | |
102 | 103 | | |
103 | 104 | | |
104 | 105 | | |
| |||
112 | 113 | | |
113 | 114 | | |
114 | 115 | | |
115 | | - | |
| 116 | + | |
116 | 117 | | |
117 | 118 | | |
118 | 119 | | |
| |||
0 commit comments