@@ -1265,10 +1265,10 @@ 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
12741274 generateFromStrImplForEnum (enumRustName , primitiveType , messageBody , writer );
@@ -1277,7 +1277,7 @@ private static void generateEnum(
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 (),
1324- encoding .applicableNullValue ().toString ());
1325- indent (writer , 3 , "Self ::NullVal => %s,\n " , nullVal );
1326+ encoding .applicableNullValue ().toString ());
1327+ indent (writer , 3 , "%s ::NullVal => %s,\n " , enumRustName , nullVal );
13261328 }
13271329 indent (writer , 2 , "}\n " );
13281330 indent (writer , 1 , "}\n " );
@@ -1342,10 +1344,10 @@ private static void generateFromStrImplForEnum(
13421344 indent (writer , 2 , "match v {\n " );
13431345 for (final Token token : messageBody )
13441346 {
1345- indent (writer , 3 , "\" %1$s\" => core::result::Result:: Ok(Self::%1$s), \n " , token .name ());
1347+ indent (writer , 3 , "\" %1$s\" => Ok(Self::%1$s), \n " , token .name ());
13461348 }
13471349 // default => NullVal
1348- indent (writer , 3 , "_ => core::result::Result:: Ok(Self::NullVal),\n " );
1350+ indent (writer , 3 , "_ => Ok(Self::NullVal),\n " );
13491351 indent (writer , 2 , "}\n " );
13501352 indent (writer , 1 , "}\n " );
13511353 indent (writer , 0 , "}\n " );
0 commit comments