diff options
| author | Jeehoon Kang <jeehoon.kang@sf.snu.ac.kr> | 2015-07-31 23:55:01 +0900 |
|---|---|---|
| committer | Jeehoon Kang <jeehoon.kang@sf.snu.ac.kr> | 2015-08-06 15:40:41 +0900 |
| commit | 9bfb8d3addc8eed916b3ff0747131c1f9bb97e52 (patch) | |
| tree | 9acdc2f664f2f965573a5d5e3b28b95f4794a9ce /src/libstd | |
| parent | d03456183e85fe7bd465bbe7c8f67885a2528444 (diff) | |
| download | rust-9bfb8d3addc8eed916b3ff0747131c1f9bb97e52.tar.gz rust-9bfb8d3addc8eed916b3ff0747131c1f9bb97e52.zip | |
Revise TARPL's description for allocating 0 bytes
In Section 3.2, TARPL says that "standard allocators (including jemalloc, the one used by default in Rust) generally consider passing in 0 for the size of an allocation as Undefined Behaviour."
However, the C standard and jemalloc manual says allocating zero bytes
should succeed:
- C11 7.22.3 paragraph 1: "If the size of the space requested is zero, the behavior is implementation-defined: either a null pointer is returned, or the behavior is as if the size were some nonzero value, except that the returned pointer shall not be used to access an object."
- [jemalloc manual](http://www.freebsd.org/cgi/man.cgi?query=jemalloc&sektion=3): "The malloc and calloc functions return a pointer to the allocated memory if successful; otherwise a NULL pointer is returned and errno is set to ENOMEM."
+ Note that the description for `allocm` says "Behavior is undefined if size is 0," but it is an experimental API.
Diffstat (limited to 'src/libstd')
0 files changed, 0 insertions, 0 deletions
