| Age | Commit message (Collapse) | Author | Lines |
|
|
|
less intrinsics = better life
|
|
|
|
The unstable book, libstd, libcore, and liballoc all needed some
adjustment.
|
|
This was never established as a convention we should follow in the 'More
API Documentation Conventions' RFC:
https://github.com/rust-lang/rfcs/blob/master/text/1574-more-api-documentation-conventions.md
|
|
This affects the book, some missed things in the reference, the grammar,
and the standard library. Whew!
|
|
This reverts commit 7f1d1c6d9a7be5e427bace30e740b16b25f25c92.
The original commit was created because mdBook and rustdoc had
different generation algorithms for header links; now with
https://github.com/rust-lang/rust/pull/39966 , the algorithms
are the same. So let's undo this change.
... when I came across this problem, I said "eh, this isn't fun,
but it doesn't take that long." I probably should have just actually
taken the time to fix upstream, given that they were amenable. Oh
well!
|
|
mdbook and rustdoc generate links differently, so we need to change all
these links.
|
|
|
|
|
|
Fixes #29362.
|
|
Use `#[prelude_import]` in `libcore` and `libstd`
r? @eddyb
|
|
|
|
|
|
This is based on the original work of Dylan McKay for the
[avr-rust project][ar].
[ar]: https://github.com/avr-rust/rust
|
|
libcore: Inline `mem::forget()`.
Was causing severe performance problems in WebRender.
r? @brson
|
|
Was causing severe performance problems in WebRender.
|
|
Current description of `std::mem::size_of` is ambiguous, and the
`std::intrinsics::size_of` description incorrectly defines size
as the number of bytes necessary to exactly overwrite a value,
not including the padding between elements necessary in a vector
or structure.
|
|
Fixes #9447
|
|
Prior to this commit, it was a trivial example that did not demonstrate
the effects of using the function.
Fixes https://github.com/rust-lang/rust/issues/31094
|
|
These were added a long time ago but we long since switched the lint back to
allow-by-default, so these annotations shouldn't be necessary.
|
|
This function returns the size on the stack, not that of the value
that may be allocated on the heap.
|
|
|
|
|
|
|
|
|
|
|
|
This commit removes all unstable and deprecated functions in the standard
library. A release was recently cut (1.3) which makes this a good time for some
spring cleaning of the deprecated functions.
|
|
We were burying the reason to use this function below a bunch of caveats about
its usage. That's backwards. Why a function should be used belongs at the top of
the docs, not the bottom.
Also, add some extra links to related functions mentioned in the body.
|
|
|
|
|
|
Fixes #24249
I've tagged all items that were missing docs to allow them to compile for now, the ones in core/num should probably be documented at least.
This is also a breaking change for any crates using `#[deny(missing_docs)]` that have undocumented constants, not sure there is any way to avoid this without making it a separate lint?
|
|
This was pretty misleading, so let's improve.
Fixes #26571
|
|
These will first be deprecated in 1.2.0, not 1.1.0.
|
|
This removes a footgun, since it is a reasonable assumption to make that
pointers to `T` will be aligned to `align_of::<T>()`. This also matches
the behaviour of C/C++. `min_align_of` is now deprecated.
Closes #21611.
|
|
|
|
Unsafe patterns such as `slice::from_raw_parts` and `CStr::from_ptr` have shown
that dealing with lifetimes, while useful, is often a hindrance. Consequently
these functions are rarely called today and are being deprecated.
|
|
This commit shards the broad `core` feature of the libcore library into finer
grained features. This split groups together similar APIs and enables tracking
each API separately, giving a better sense of where each feature is within the
stabilization process.
A few minor APIs were deprecated along the way:
* Iterator::reverse_in_place
* marker::NoCopy
|
|
This adds an example from mem::swap, and provides some suggested uses of this
function.
Change wording on comment on forget line to be more specific as to why we
need to call forget.
This breaks the examples up into three pieces. The last piece isn't
compiling for some reason.
|
|
|
|
|
|
+ lots of rebasing
|
|
This commit is an implementation of [RFC 1066][rfc] where the conclusion was
that leaking a value is a safe operation in Rust code, so updating the signature
of this function follows suit.
[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1066-safe-mem-forget.md
Closes #25186
|
|
|
|
|
|
This functions swaps the order of arguments to a few functions that previously
took (output, input) parameters, but now take (input, output) parameters (in
that order).
The affected functions are:
* ptr::copy
* ptr::copy_nonoverlapping
* slice::bytes::copy_memory
* intrinsics::copy
* intrinsics::copy_nonoverlapping
Closes #22890
[breaking-change]
|
|
(Reviewed rest of code; did not see other `pub` items that needed such
treatment.)
Driveby: fix typo in comment in ptr.rs.
|
|
|
|
|
|
Refactored code so that the drop-flag values for initialized
(`DTOR_NEEDED`) versus dropped (`DTOR_DONE`) are given explicit names.
Add `mem::dropped()` (which with `DTOR_DONE == 0` is semantically the
same as `mem::zeroed`, but the point is that it abstracts away from
the particular choice of value for `DTOR_DONE`).
Filling-drop needs to use something other than `ptr::read_and_zero`,
so I added such a function: `ptr::read_and_drop`. But, libraries
should not use it if they can otherwise avoid it.
Fixes to tests to accommodate filling-drop.
|