From 16f69b225bdda1000610c5afda5d37dfd52ca306 Mon Sep 17 00:00:00 2001 From: "Felix S. Klock II" Date: Mon, 16 Dec 2013 17:07:04 +0100 Subject: [PATCH] Spell out the units used for the `offset` argument, so that people do not try to scale to units of bytes themselves. --- src/libstd/ptr.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libstd/ptr.rs b/src/libstd/ptr.rs index e2dda826765..162e46c53ae 100644 --- a/src/libstd/ptr.rs +++ b/src/libstd/ptr.rs @@ -21,7 +21,9 @@ use util::swap; #[cfg(not(test))] use cmp::{Eq, Ord}; -/// Calculate the offset from a pointer +/// Calculate the offset from a pointer. +/// The `count` argument is in units of T; e.g. a `count` of 3 +/// represents a pointer offset of `3 * sizeof::()` bytes. #[inline] pub unsafe fn offset(ptr: *T, count: int) -> *T { intrinsics::offset(ptr, count) @@ -29,6 +31,8 @@ pub unsafe fn offset(ptr: *T, count: int) -> *T { /// Calculate the offset from a mut pointer. The count *must* be in bounds or /// otherwise the loads of this address are undefined. +/// The `count` argument is in units of T; e.g. a `count` of 3 +/// represents a pointer offset of `3 * sizeof::()` bytes. #[inline] pub unsafe fn mut_offset(ptr: *mut T, count: int) -> *mut T { intrinsics::offset(ptr as *T, count) as *mut T