dtolnay/cxx

Smarter handling of illegal names

Open

#110 opened on Apr 12, 2020

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Rust (4,472 stars) (253 forks)batch import
help wanted

Description

We should sanitize where possible (function argument names) and produce diagnostics otherwise (function names, type names, field names).

mod ffi {
    extern "C" {
        // sanitize the variable name somehow instead of emitting invalid C++
        fn f(operator: usize);
    }

    extern "Rust" {
        // reject; ask the user to reimport the Rust fn under a different name
        fn operator();
    }
}

Currently the above all emit invalid C++ code, which is not nice.

Contributor guide