PRQL / prqlc-r

R Bindings for prqlc
https://prql.github.io/prqlc-r/
Other
56 stars 2 forks source link

chore: bump savvy from 0.5.3 to 0.6.3 in /src/rust #288

Closed dependabot[bot] closed 6 months ago

dependabot[bot] commented 7 months ago

Bumps savvy from 0.5.3 to 0.6.3.

Changelog

Sourced from savvy's changelog.

[v0.6.3] (2024-05-05)

New features

  • New types NumericSexp and NumericScalar are added to handle both integer and double. You can get a slice via as_slice_*() or an iterator via iter_*().

    #[savvy]
    fn times_two(x: NumericSexp) -> savvy::Result<Sexp> {
        let mut out = OwnedIntegerSexp::new(x.len())?;
    
    for (i, v) in x.iter_i32().enumerate() {
        let v = v?; // The item of iter_i32() is Result because the conversion can fail.
        if v.is_na() {
            out[i] = i32::na();
        } else {
            out[i] = v * 2;
        }
    }
    
    out.into()
    

    }

    You can also use .into_typed() to handle integer and double differently.

    #[savvy]
    fn times_two(x: NumericSexp) -> savvy::Result<savvy::Sexp> {
        match x.into_typed() {
            NumericTypedSexp::Integer(i) => times_two_int(i),
            NumericTypedSexp::Real(r) => times_two_real(r),
        }
    }
    
  • Savvy now provides r_stdout() and r_stderr() to be used with interfaces that require std::io::Write. Also, you can use savvy::log::env_logger() to output logs to R's stderr. Here's an example usage:

    use savvy::savvy_init;
    use savvy_ffi::DllInfo;
    

    #[savvy_init] fn init_logger(dll_info: *mut DllInfo) -> savvy::Result<()> { savvy::log::env_logger().init(); Ok(())

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 6 months ago

Looks like savvy is up-to-date now, so this is no longer needed.