influxdata / influxdata/datafusion-udf-wasm
Move off nightly for Python guest
- Dominant language
- Rust
- Stars
- 20
- Forks
- 3
- Avg merge
- 6h 20m
- Merged PRs (30d)
- 24
Description
# What
#422 (re-)introduced the need to use a nightly compiler for our Python guest. Make this use the stable compiler again.
# Why
Similar to #19:
- Not having to worry about a 2nd compiler version is nice.
- Some of our unstable flags might break during upgrades
# How
The following things have to work on stable first:
- [ ] [`build-std`](https://doc.rust-lang.org/cargo/reference/unstable.html#build-std): required because the std lib shipped with rust isn't built with `-Crelocation-model=pic`, which we need for linking shared libraries
- [ ] [`default-visibility`](https://doc.rust-lang.org/stable/unstable-book/compiler-flags/default-visibility.html#default-visibility): required to drastically shrink the size of the resulting WASM binary, also see https://github.com/bytecodealliance/componentize-py/pull/209
Contributor guide
Research direction
Start by reviewing #422 and the related discussion in #19 to understand why the Python guest currently needs nightly Rust. Check stable support for build-std and default-visibility, including the linked componentize-py pull request #209. Done means the Python guest builds successfully with stable Rust while retaining the required relocation model and acceptably small WASM output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, wasm
- Domain
- build-system, compilers
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 40/100