@@ -1265,19 +1265,19 @@ private static void generateEnum(
12651265 indent (writer , 0 , "}\n " );
12661266
12671267 // From impl
1268- generateFromImplForEnum (enumRustName , primitiveType , messageBody , writer );
1268+ generateFromPrimitiveForEnum (enumRustName , primitiveType , messageBody , writer );
12691269
12701270 // Into impl
1271- generateIntoImplForEnum (enumRustName , primitiveType , messageBody , writer );
1271+ generateFromEnumForPrimitive (enumRustName , primitiveType , messageBody , writer );
12721272
12731273 // FromStr impl
1274- generateFromStrImplForEnum (enumRustName , primitiveType , messageBody , writer );
1274+ generateFromStrImplForEnum (enumRustName , messageBody , writer );
12751275
12761276 // Display impl
12771277 generateDisplayImplForEnum (enumRustName , primitiveType , messageBody , writer );
12781278 }
12791279
1280- private static void generateFromImplForEnum (
1280+ private static void generateFromPrimitiveForEnum (
12811281 final String enumRustName ,
12821282 final String primitiveType ,
12831283 final List <Token > messageBody ,
@@ -1302,27 +1302,29 @@ private static void generateFromImplForEnum(
13021302 indent (writer , 0 , "}\n " );
13031303 }
13041304
1305- private static void generateIntoImplForEnum (
1305+ private static void generateFromEnumForPrimitive (
13061306 final String enumRustName ,
13071307 final String primitiveType ,
13081308 final List <Token > messageBody ,
13091309 final Appendable writer ) throws IOException
13101310 {
1311- indent (writer , 0 , "impl Into <%s> for %s {\n " , primitiveType , enumRustName );
1311+ indent (writer , 0 , "impl From <%s> for %s {\n " , enumRustName , primitiveType );
13121312 indent (writer , 1 , "#[inline]\n " );
1313- indent (writer , 1 , "fn into(self) -> %s {\n " , primitiveType );
1314- indent (writer , 2 , "match self {\n " );
1313+ indent (writer , 1 , "fn from(v: %s) -> Self {\n " , enumRustName );
1314+ indent (writer , 2 , "match v {\n " );
1315+
13151316 for (final Token token : messageBody )
13161317 {
13171318 final Encoding encoding = token .encoding ();
13181319 final String literal = generateRustLiteral (encoding .primitiveType (), encoding .constValue ().toString ());
1319- indent (writer , 3 , "Self ::%s => %s, \n " , token .name (), literal );
1320+ indent (writer , 3 , "%s ::%s => %s, \n " , enumRustName , token .name (), literal );
13201321 }
1322+
13211323 {
13221324 final Encoding encoding = messageBody .get (0 ).encoding ();
13231325 final CharSequence nullVal = generateRustLiteral (encoding .primitiveType (),
13241326 encoding .applicableNullValue ().toString ());
1325- indent (writer , 3 , "Self ::NullVal => %s,\n " , nullVal );
1327+ indent (writer , 3 , "%s ::NullVal => %s,\n " , enumRustName , nullVal );
13261328 }
13271329 indent (writer , 2 , "}\n " );
13281330 indent (writer , 1 , "}\n " );
@@ -1331,7 +1333,6 @@ private static void generateIntoImplForEnum(
13311333
13321334 private static void generateFromStrImplForEnum (
13331335 final String enumRustName ,
1334- final String primitiveType ,
13351336 final List <Token > messageBody ,
13361337 final Appendable writer ) throws IOException
13371338 {
@@ -1342,10 +1343,10 @@ private static void generateFromStrImplForEnum(
13421343 indent (writer , 2 , "match v {\n " );
13431344 for (final Token token : messageBody )
13441345 {
1345- indent (writer , 3 , "\" %1$s\" => core::result::Result:: Ok(Self::%1$s), \n " , token .name ());
1346+ indent (writer , 3 , "\" %1$s\" => Ok(Self::%1$s), \n " , token .name ());
13461347 }
13471348 // default => NullVal
1348- indent (writer , 3 , "_ => core::result::Result:: Ok(Self::NullVal),\n " );
1349+ indent (writer , 3 , "_ => Ok(Self::NullVal),\n " );
13491350 indent (writer , 2 , "}\n " );
13501351 indent (writer , 1 , "}\n " );
13511352 indent (writer , 0 , "}\n " );
0 commit comments