// Always write a header at p.
hdrp := (*reflect.SliceHeader)(unsafe.Pointer(p));
hdrp.Data = uintptr(unsafe.Pointer(&data[0]));
- hdrp.Len = uint32(length);
- hdrp.Cap = uint32(length);
+ hdrp.Len = int(length);
+ hdrp.Cap = int(length);
return decodeArrayHelper(state, hdrp.Data, elemOp, elemWid, int(length), elemIndir);
}
if n < 0 || n > int(s.Cap) {
panicln("SetLen", n, "with capacity", s.Cap);
}
- s.Len = uint32(n);
+ s.Len = n;
}
// Set assigns x to v.
typ := v.typ.(*SliceType);
s := new(SliceHeader);
s.Data = uintptr(v.addr()) + uintptr(beg) * typ.Elem().Size();
- s.Len = uint32(end - beg);
- s.Cap = uint32(cap - beg);
+ s.Len = end - beg;
+ s.Cap = cap - beg;
return newValue(typ, addr(s), v.canSet).(*SliceValue);
}
}
data := make([]uint8, size);
s.Data = uintptr(addr(&data[0]));
- s.Len = uint32(len);
- s.Cap = uint32(cap);
+ s.Len = len;
+ s.Cap = cap;
return newValue(typ, addr(s), true).(*SliceValue);
}