Hello, and Happy new year. I'm a bit confused. uint read() { assert(pos == 68); uint value = littleEndianToNative!uint(cast(ubyte[uint.sizeof])buffer[pos..pos+uint.sizeof]); pos += uint.sizeof; return value; } The above code doesn't work. instead its working perfect when i replace buffer[68..68+uint.sizeof] Any thoughts ?