rsdn/nemerle — pull request #388 by fddima (2012-07-26 23:13:29+00:00)
Title: Issue #387: fixed in unchecked context (now it work much more predicable and same as

... C#):

no sign extension occurs:
uint to long conversion

sing extension occurs:
sbyte to ulong conversion
short to ulong conversion
int to ulong conversion

This is means, that when you 0xFFFFFFFF : uint convert to long you got exact 0x00000000FFFFFFFF (i.e. without sign extension).
Same for sbyte/short/int->ulong but back to front, when conversion occurs -> sign extension occurs (i.e. 0xFF as sbyte === 0xFFFFFFFFFFFFFFFF as ulong).