v0.3.0 (2024-03-24)
Release Notes
New Features
- Now user-defined struct can be used as an argument of
#[savvy]
-ed functions.
It must be specified as&Ty
or&mut Ty
, notTy
.
Example:
struct Person {
pub name: String,
}
#[savvy]
impl Person {
fn get_name(&self) -> savvy::Result<savvy::Sexp> {
let name = self.name.as_str();
name.try_into()
}
}
#[savvy]
fn get_name_external(x: &Person) -> savvy::Result<savvy::Sexp> {
x.get_name()
}
Fixed bugs
- Previously,
savvy-cli init
andsavvy-cli update
didn't handle the package
name properly ("packageName" vs "package_name"). Now it's fixed.
Breaking changes
- While this is described in the New Features section, it was already allowed to
specify user-defined structs as argument if the user defines the necessary
TryFrom
implementations propoerly. At that time, specifying it without&
was possible, but now it's not allowed. Anyway, as this was undocumented and
expert-only usage, I expect no one notices this breaking change.
Download savvy-cli 0.3.0
File | Platform | Checksum |
---|---|---|
savvy-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
savvy-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
savvy-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
savvy-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
savvy-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |