Skip to content

Options.rs singularization in FDB-gen for FDB 6.1 #132

@Aioxas

Description

@Aioxas

fdb-client 6.1.8 installed, can use 6.0 bindings. Had to move forward from release-3.0
to master since I am running into the issue fixed by both #120 #121

Issue occurs on attempting to compile foundationdb crate
in bindings.rs

pub const FDBTransactionOption_FDB_TR_OPTION_USE_PROVISIONAL_PROXIES: FDBTransactionOption = 711;

Error:


error[E0425]: cannot find value `FDBTransactionOption_FDB_TR_OPTION_USE_PROVISIONAL_PROXY` in module `fdb`
   --> /home/testuser/rust/test-project/target/debug/build/foundationdb-c9fdf7023e981c03/out/options.rs:368:48
    |
368 | TransactionOption::UseProvisionalProxy => fdb::FDBTransactionOption_FDB_TR_OPTION_USE_PROVISIONAL_PROXY,
    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `FDBTransactionOption_FDB_TR_OPTION_USE_PROVISIONAL_PROXIES`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0425`.
error: Could not compile `foundationdb`.

To learn more, run the command again with --verbose.

Seems like doing this fixes that issue
Assignee

if opt.name == "AppendIfFit" {
    opt.name = String::from("AppendIfFits");
} else if opt.name == "UseProvisionalProxy" {
    opt.name = String::from("UseProvisionalProxies");
};

Places to be edited for that to function: lines 64, 77, and 283

Reason for issue:

inflector::cases::screamingsnakecase singularizes plural words by default. I wonder if there's a way to turn that off.

Edit: Turns out it's not screamingsnakecase, but classcase that does it, changing from classcase to pascalcase solves the issue for current and future possible spelling issues since pascalscase does not singularize by default.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions