Por que esta declaração enum está funcionando agora?

Ao responder a outra pergunta, Jon Skeet mencionou que há uma coisa estranha acontecendo com a definição deenums. A resposta dele.

Ele afirma que redefinir o tipo subjacente de umenum só é possível com os aliases de tipo e não com os tipos de estrutura (int é válido,Int32 etc.)

public enum Foo : UInt32 {} // Invalid
public enum Bar : uint   {} // Valid

Agora eu tentei reproduzir isso (com C # 6 / Roslyn no VS2015) e não cheguei à mesma conclusão:

public enum TestEnum : UInt32
{

}

e

public enum MyEnum : uint
{

}

são ambos totalmente válidos. Por que? Ou o que mudou?

EDITAR:

Portanto, para esclarecer as coisas, houve uma alteração no C # 6, que ainda não foi documentada e será documentada em breve, como você pode ler nesta edição do git no siteRoslyn Github

questionAnswers(3)

yourAnswerToTheQuestion