@@ -1266,6 +1266,20 @@ private static void generateEnum(
12661266 indent (writer , 0 , "}\n " );
12671267
12681268 // From impl
1269+ generateFromImplForEnum (enumRustName , primitiveType , messageBody , writer );
1270+
1271+ // Into impl
1272+ generateIntoImplForEnum (enumRustName , primitiveType , messageBody , writer );
1273+
1274+ // FromStr impl
1275+ generateFromStrImplForEnum (enumRustName , primitiveType , messageBody , writer );
1276+
1277+ // Display impl
1278+ generateDisplayImplForEnum (enumRustName , primitiveType , messageBody , writer );
1279+ }
1280+
1281+ private static void generateFromImplForEnum (
1282+ final String enumRustName , final String primitiveType ,final List <Token > messageBody , final Appendable writer ) throws IOException {
12691283 indent (writer , 0 , "impl From<%s> for %s {\n " , primitiveType , enumRustName );
12701284 indent (writer , 1 , "#[inline]\n " );
12711285 indent (writer , 1 , "fn from(v: %s) -> Self {\n " , primitiveType );
@@ -1283,8 +1297,10 @@ private static void generateEnum(
12831297 indent (writer , 2 , "}\n " );
12841298 indent (writer , 1 , "}\n " );
12851299 indent (writer , 0 , "}\n " );
1300+ }
12861301
1287- // Into impl
1302+ private static void generateIntoImplForEnum (
1303+ final String enumRustName , final String primitiveType ,final List <Token > messageBody , final Appendable writer ) throws IOException {
12881304 indent (writer , 0 , "impl Into<%s> for %s {\n " , primitiveType , enumRustName );
12891305 indent (writer , 1 , "#[inline]\n " );
12901306 indent (writer , 1 , "fn into(self) -> %s {\n " , primitiveType );
@@ -1298,14 +1314,16 @@ private static void generateEnum(
12981314 {
12991315 final Encoding encoding = messageBody .get (0 ).encoding ();
13001316 final CharSequence nullVal = generateRustLiteral (encoding .primitiveType (),
1301- encoding .applicableNullValue ().toString ());
1317+ encoding .applicableNullValue ().toString ());
13021318 indent (writer , 3 , "Self::NullVal => %s,\n " , nullVal );
13031319 }
13041320 indent (writer , 2 , "}\n " );
13051321 indent (writer , 1 , "}\n " );
13061322 indent (writer , 0 , "}\n " );
1323+ }
13071324
1308- // FromStr impl
1325+ private static void generateFromStrImplForEnum (
1326+ final String enumRustName , final String primitiveType ,final List <Token > messageBody , final Appendable writer ) throws IOException {
13091327 indent (writer , 0 , "impl core::str::FromStr for %s {\n " , enumRustName );
13101328 indent (writer , 1 , "type Err = ();\n \n " );
13111329 indent (writer , 1 , "#[inline]\n " );
@@ -1320,8 +1338,10 @@ private static void generateEnum(
13201338 indent (writer , 2 , "}\n " );
13211339 indent (writer , 1 , "}\n " );
13221340 indent (writer , 0 , "}\n " );
1341+ }
13231342
1324- // Display impl
1343+ private static void generateDisplayImplForEnum (
1344+ final String enumRustName , final String primitiveType ,final List <Token > messageBody , final Appendable writer ) throws IOException {
13251345 indent (writer , 0 , "impl core::fmt::Display for %s {\n " , enumRustName );
13261346 indent (writer , 1 , "#[inline]\n " );
13271347 indent (writer , 1 , "fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n " , primitiveType );
0 commit comments