tursodatabase / libsql-js

A better-sqlite3 compatible API for libSQL that supports Bun, Deno, and Node
MIT License
191 stars 22 forks source link

Neon toolchain does not work with Rust 1.79.0 #104

Open haaawk opened 5 months ago

haaawk commented 5 months ago

The build breaks with:

> cargo build --message-format=json | npm exec neon dist

   Compiling libsql-js v0.3.12 (/home/haaawk/libsql-js)
error: No artifacts were generated for crate libsqlibsql-js                                  
error: Broken pipe (os error 32)
warning: build failed, waiting for other jobs to finish..

This is due to the fact that 1.79.0-nightly (80d5b607d 2024-04-19) version of cargo does not have the following lines in JSON that were present in previous versions of cargo:

{"reason":"compiler-message","package_id":"path+file:///Users/haaawk/work/libsql-js-perf#libsql-js@0.3.12","manifest_path":"/Users/haaawk/work/libsql-js-perf/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"libsql-js","src_path":"/Users/haaawk/work/libsql-js-perf/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"rendered":"warning: unused variable:cx\n --> src/database.rs:290:24\n |\n290 | ...&self, cx: &mut FunctionContext) -> Option<Arc<Mutex<libsql::Connection>>> {\n | ^^ help: if this is intentional, prefix it with an underscore:_cx\n |\n = note:#[warn(unused_variables)]on by default\n\n","$message_type":"diagnostic","children":[{"children":[],"code":null,"level":"note","message":"#[warn(unused_variables)]on by default","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"if this is intentional, prefix it with an underscore","rendered":null,"spans":[{"byte_end":11024,"byte_start":11022,"column_end":26,"column_start":24,"expansion":null,"file_name":"src/database.rs","is_primary":true,"label":null,"line_end":290,"line_start":290,"suggested_replacement":"_cx","suggestion_applicability":"MaybeIncorrect","text":[{"highlight_end":26,"highlight_start":24,"text":" fn get_conn(&self, cx: &mut FunctionContext) -> Option<Arc<Mutex<libsql::Connection>>> {"}]}]}],"code":{"code":"unused_variables","explanation":null},"level":"warning","message":"unused variable:cx","spans":[{"byte_end":11024,"byte_start":11022,"column_end":26,"column_start":24,"expansion":null,"file_name":"src/database.rs","is_primary":true,"label":null,"line_end":290,"line_start":290,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":26,"highlight_start":24,"text":" fn get_conn(&self, cx: &mut FunctionContext) -> Option<Arc<Mutex<libsql::Connection>>> {"}]}]}}

{"reason":"compiler-message","package_id":"path+file:///Users/haaawk/work/libsql-js-perf#libsql-js@0.3.12","manifest_path":"/Users/haaawk/work/libsql-js-perf/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"libsql-js","src_path":"/Users/haaawk/work/libsql-js-perf/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"rendered":"warning: 2 warnings emitted\n\n","$message_type":"diagnostic","children":[],"code":null,"level":"warning","message":"2 warnings emitted","spans":[]}}

{"reason":"compiler-artifact","package_id":"path+file:///Users/haaawk/work/libsql-js-perf#libsql-js@0.3.12","manifest_path":"/Users/haaawk/work/libsql-js-perf/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"libsql-js","src_path":"/Users/haaawk/work/libsql-js-perf/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"z","debuginfo":0,"debug_assertions":false,"overflow_checks":false,"test":false},"features":[],"filenames":["/Users/haaawk/work/libsql-js-perf/target/release/liblibsql_js.dylib"],"executable":null,"fresh":true}

penberg commented 3 months ago

I pinned Rust toolchain to 1.78.0 now in 0d64dd8f16c4f98d436a02f317ce836abf16e6fc, but we really need to update Neon bindings to work with 1.79.0.