Files
tfhe-rs/utils/tfhe-lints

Project specific lints for TFHE-rs

This tool is based on dylint.

Usage

From TFHE-rs root folder:

make tfhe_lints

serialize_without_versionize

What it does

For every type that implements Serialize, checks that it also implement Versionize

Why is this bad?

If a type is serializable but does not implement Versionize, it is likely that the implementation has been forgotten.

Example

#[derive(Serialize)]
pub struct MyStruct {}

Use instead:

#[derive(Serialize, Versionize)]
#[versionize(MyStructVersions)]
pub struct MyStruct {}