¿Cómo especificar el tipo de representación para una enumeración en Rust para interactuar con C ++?

¿Hay alguna manera de hacer una enumeración de estilo C ++ con un tipo de representación explícito en Rust? Ejemplo:

enum class Number: int16_t {
    Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine
};

Si no, ¿hay otra forma de organizar variables como esa? Estoy interactuando con una biblioteca externa, por lo que es importante especificar el tipo. Sé que solo podría hacer:

type Number = int16_t;
let One: Number = 1;
let Two: Number = 2;
let Three: Number = 3;

Pero eso introduce mucha redundancia, en mi opinión;

Tenga en cuenta que esta pregunta no es un duplicado de¿Es posible envolver enumeraciones C en Rust? ya que se trata de envolver C ++, no envolver C.

Respuestas a la pregunta(1)

Su respuesta a la pregunta