From 8e9a9ad5e9c4ab4fe08626ef3972983b69b198a4 Mon Sep 17 00:00:00 2001
From: Lefteris Karapetsas <lefteris@refu.co>
Date: Fri, 13 Feb 2015 23:14:58 +0100
Subject: Explicit conversion from int to Enum

---
 SolidityNameAndTypeResolution.cpp | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/SolidityNameAndTypeResolution.cpp b/SolidityNameAndTypeResolution.cpp
index c912939f..f3edfc31 100644
--- a/SolidityNameAndTypeResolution.cpp
+++ b/SolidityNameAndTypeResolution.cpp
@@ -1039,6 +1039,23 @@ BOOST_AUTO_TEST_CASE(enum_explicit_conversion_is_okay)
 	BOOST_CHECK_NO_THROW(parseTextAndResolveNamesWithChecks(text));
 }
 
+BOOST_AUTO_TEST_CASE(int_to_enum_explicit_conversion_is_okay)
+{
+	char const* text = R"(
+			contract test {
+				enum ActionChoices { GoLeft, GoRight, GoStraight, Sit };
+				function test()
+				{
+					a = 2;
+					b = ActionChoices(a);
+				}
+				uint256 a;
+				ActionChoices b;
+			}
+	)";
+	BOOST_CHECK_NO_THROW(parseTextAndResolveNamesWithChecks(text));
+}
+
 BOOST_AUTO_TEST_CASE(enum_implicit_conversion_is_not_okay)
 {
 	char const* text = R"(
-- 
cgit v1.2.3