Mazdak Farrokhzad
afc52916f6
Rollup merge of #64203 - alexreg:rush-pr-2, r=centril
...
A few cosmetic improvements to code & comments in liballoc and libcore
Factored out from hacking on rustc for work on the REPL.
r? @Centril
2019-09-14 16:42:22 +02:00
hman523
9b1456e4c5
Update added backticks around a function call
...
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-09-09 20:09:17 -05:00
hman523
bdfab2049c
Fixed documentation within c_str::from_ptr
2019-09-09 18:50:11 -05:00
Alexander Regueiro
b0006dff10
A few cosmetic improvements to code & comments in liballoc and libcore
2019-09-06 16:02:25 +01:00
Tomasz Różański
d9f3258186
Fix for 7e13679.
2019-08-22 19:27:16 +02:00
Tomasz Różański
eae5d77995
Change variables names to be more consistent.
...
Changed all instances of `c_str` into `cstr` in the documentation examples. This is also consistent with the module source code.
2019-08-22 15:09:03 +02:00
Tomasz Różański
49dce2935f
Fix punctuation.
2019-08-22 13:14:42 +02:00
Tomasz Różański
7e13679cde
Remove redundant mut.
2019-08-22 13:12:31 +02:00
Mark Rousskov
88629778e6
Rollup merge of #61969 - MikailBag:master, r=Centril
...
Add #[repr(transparent)] for several types
In some functions, types mentioned in this PR are transmuted into their inner value.
Example for `PathBuf`: https://github.com/rust-lang/rust/blob/master/src/libstd/path.rs#L1132 .
This PR adds `#[repr(transparent)]` to those types, so their correct behavior doesn't depend on compiler details. (As far as I understand, currently that line, converting `PathBuf` to `Vec<u8>`, is UB).
2019-08-11 15:18:38 -04:00
Mikail Bagishov
740f8db855
Add FIXME-s that some types should be transparent
2019-08-09 17:41:40 +03:00
Bruce Mitchener
ae65848d9e
Remove extraneous {} in use stmts in doc comments.
2019-08-02 01:36:36 +07:00
bors
85a360e0ea
Auto merge of #62610 - Stargateur:fix-miri-error-cstring-into_inner, r=RalfJung
...
Fix miri error in into_inner() of CString
Fix #62553
I choice to not transmute because I think it's more unsafe and in case the structure change this code should always work.
r? @RalfJung
2019-07-14 13:52:40 +00:00
Antoine PLASKOWSKI
4c4bd34067
Fix miri error in into_inner() of CString
2019-07-13 11:09:46 +02:00
Guillaume Gomez
4f1127a2bf
Add missing urls for osstr
2019-07-07 15:38:53 +02:00
Andrei Homescu
b9ea653aee
Expose VaListImpl as the Rust equivalent of __va_list_tag and implement Clone for it.
2019-06-17 16:04:49 -07:00
Mazdak Farrokhzad
a34dae3587
Rollup merge of #60511 - taiki-e:libstd-intra-doc, r=Dylan-DPC
...
Fix intra-doc link resolution failure on re-exporting libstd
Currently, re-exporting libstd items as below will [occur a lot of failures](https://gist.github.com/taiki-e/e33e0e8631ef47f65a74a3b69f456366 ).
```rust
pub use std::*;
```
Until the underlying issue (#56922 ) fixed, we can fix that so they don't propagate to downstream crates.
Related: https://github.com/rust-lang/rust/pull/56941 (That PR fixed failures that occur when re-exporting from libcore to libstd.)
r? @QuietMisdreavus
2019-05-20 23:02:59 +02:00
Taiki Endo
ccb9dac5ed
Fix intra-doc link resolution failure on re-exporting libstd
2019-05-04 23:48:57 +09:00
Ralf Jung
1e47250540
as_ptr returns a read-only pointer
2019-05-01 17:59:48 +02:00
Konrad Borowski
a37c33b926
Mark unix::ffi::OsStrExt methods as inline
2019-04-04 10:55:31 +02:00
Mazdak Farrokhzad
379c380a60
libstd: deny(elided_lifetimes_in_paths)
2019-03-31 12:56:51 +02:00
Scott McMurray
df4ea90b39
Use lifetime contravariance to elide more lifetimes in core+alloc+std
2019-03-09 19:10:28 -08:00
Taiki Endo
93b6d9e086
libstd => 2018
2019-02-28 04:06:15 +09:00
kennytm
e3a8f7db47
Rollup merge of #58553 - scottmcm:more-ihle, r=Centril
...
Use more impl header lifetime elision
Inspired by seeing explicit lifetimes on these two:
- https://doc.rust-lang.org/nightly/std/slice/struct.Iter.html#impl-FusedIterator
- https://doc.rust-lang.org/nightly/std/primitive.u32.html#impl-Not
And a follow-up to https://github.com/rust-lang/rust/pull/54687 , that started using IHLE in libcore.
Most of the changes in here fall into two big categories:
- Removing lifetimes from common traits that can essentially never user a lifetime from an input (particularly `Drop`, `Debug`, and `Clone`)
- Forwarding impls that are only possible because the lifetime doesn't matter (like `impl<R: Read + ?Sized> Read for &mut R`)
I omitted things that seemed like they could be more controversial, like the handful of iterators that have a `Item: 'static` despite the iterator having a lifetime or the `PartialEq` implementations [where the flipped one cannot elide the lifetime](https://internals.rust-lang.org/t/impl-type-parameter-aliases/9403/2?u=scottmcm ).
I also removed two lifetimes that turned out to be completely unused; see https://github.com/rust-lang/rust/issues/41960#issuecomment-464557423
2019-02-20 11:59:10 +08:00
Scott McMurray
3bea2ca49d
Use more impl header lifetime elision
...
There are two big categories of changes in here
- Removing lifetimes from common traits that can essentially never user a lifetime from an input (particularly `Drop` & `Debug`)
- Forwarding impls that are only possible because the lifetime doesn't matter (like `impl<R: Read + ?Sized> Read for &mut R`)
I omitted things that seemed like they could be more controversial, like the handful of iterators that have a `Item: 'static` despite the iterator having a lifetime or the `PartialEq` implementations where the flipped one cannot elide the lifetime.
2019-02-17 19:42:36 -08:00
Alexander Regueiro
99ed06eb88
libs: doc comments
2019-02-10 23:57:25 +00:00
Alexander Regueiro
b87363e763
tests: doc comments
2019-02-10 23:42:32 +00:00
Ryan Hunt
6c60662b26
Use correct tracking issue for c_variadic
...
Fixes #57306
2019-01-07 09:46:19 -06:00
Mark Rousskov
2a663555dd
Remove licenses
2018-12-25 21:08:33 -07:00
Pietro Albini
3af0cf89fa
Rollup merge of #56731 - GuillaumeGomez:ffi-doc-urls, r=Centril
...
Add missing urls in ffi module docs
r? @QuietMisdreavus
2018-12-15 10:17:30 +01:00
bors
664ede88fa
Auto merge of #56536 - alexcrichton:update-master, r=Mark-Simulacrum
...
Bump to 1.33.0
* Update bootstrap compiler
* Update version to 1.33.0
* Remove some `#[cfg(stage0)]` annotations
2018-12-14 06:52:19 +00:00
Lyndon Brown
0008e0d502
use actual invalid string in OsStr::to_string_lossy example
2018-12-12 18:13:40 +00:00
Alex Crichton
cf47a19305
Bump to 1.33.0
...
* Update bootstrap compiler
* Update version to 1.33.0
* Remove some `#[cfg(stage0)]` annotations
Actually updating the version number is blocked on updating Cargo
2018-12-12 08:09:26 -08:00
Guillaume Gomez
b96186b8a7
Add missing urls in ffi module docs
2018-12-11 23:54:41 +01:00
Alexander Regueiro
ee89c088b0
Various minor/cosmetic improvements to code
2018-12-07 23:53:34 +00:00
ljedrz
8c4129cd9a
cleanup: remove static lifetimes from consts in libstd
2018-12-04 10:21:42 +01:00
kennytm
52a4fc8130
Rollup merge of #56432 - ordovicia:shrink-to-issue, r=Centril
...
Update issue number of `shrink_to` methods to point the tracking issue
Tracking issue: #56431
2018-12-03 18:07:16 +08:00
kennytm
e9a805522c
Rollup merge of #56141 - jnqnfe:osstr_len_clarity, r=nagisa
...
[std] Osstr len clarity
2018-12-03 18:07:06 +08:00
Hidehito Yabuuchi
1e18cc916f
Update issue number of shrink_to methods to point the tracking issue
2018-12-02 16:08:08 +09:00
bors
3e90a12a8a
Auto merge of #49878 - dlrobertson:va_list_pt0, r=eddyb
...
libcore: Add VaList and variadic arg handling intrinsics
## Summary
- Add intrinsics for `va_start`, `va_end`, `va_copy`, and `va_arg`.
- Add `core::va_list::VaList` to `libcore`.
Part 1 of (at least) 3 for #44930
Comments and critiques are very much welcomed 😄
2018-11-29 19:28:21 +00:00
polyfloyd
e63bd91895
Fix a typo in the documentation of std::ffi
2018-11-27 22:33:46 +01:00
Dan Robertson
08140878fe
libcore: Add va_list lang item and intrinsics
...
- Add the llvm intrinsics used to manipulate a va_list.
- Add the va_list lang item in order to allow implementing
VaList in libcore.
2018-11-26 22:56:19 +00:00
Lyndon Brown
a1e9c7fc2e
OsStr: clarify len() method documentation
2018-11-21 18:30:46 +00:00
Lyndon Brown
0591ff7525
OsString: mention storage form in discussion
...
Helps users to understand capacity related values, which may surpise on
Windows.
Also is a step towards clarifying understanding of `OsStr`'s len() return
value.
2018-11-21 18:30:45 +00:00
bors
65204a97d4
Auto merge of #55278 - Centril:constification-1, r=alexcrichton
...
Minor standard library constification
This PR makes some bits of the standard library into `const fn`s.
I've tried to be as aggressive as I possibly could in the constification.
The list is rather small due to how restrictive `const fn` is at the moment.
r? @oli-obk cc @rust-lang/libs
Stable public APIs affected:
+ [x] `Cell::as_ptr`
+ [x] `UnsafeCell::get`
+ [x] `char::is_ascii`
+ [x] `iter::empty`
+ [x] `ManuallyDrop::{new, into_inner}`
+ [x] `RangeInclusive::{start, end}`
+ [x] `NonNull::as_ptr`
+ [x] `{[T], str}::as_ptr`
+ [x] `Duration::{as_secs, subsec_millis, subsec_micros, subsec_nanos}`
+ [x] `CStr::as_ptr`
+ [x] `Ipv4Addr::is_unspecified`
+ [x] `Ipv6Addr::new`
+ [x] `Ipv6Addr::octets`
Unstable public APIs affected:
+ [x] `Duration::{as_millis, as_micros, as_nanos, as_float_secs}`
+ [x] `Wrapping::{count_ones, count_zeros, trailing_zeros, rotate_left, rotate_right, swap_bytes, reverse_bits, from_be, from_le, to_be, to_le, leading_zeros, is_positive, is_negative, leading_zeros}`
+ [x] `core::convert::identity`
--------------------------
## Removed from list in first pass:
Stable public APIs affected:
+ [ ] `BTree{Map, Set}::{len, is_empty}`
+ [ ] `VecDeque::is_empty`
+ [ ] `String::{is_empty, len}`
+ [ ] `FromUtf8Error::utf8_error`
+ [ ] `Vec<T>::{is_empty, len}`
+ [ ] `Layout::size`
+ [ ] `DecodeUtf16Error::unpaired_surrogate`
+ [ ] `core::fmt::{fill, width, precision, sign_plus, sign_minus, alternate, sign_aware_zero_pad}`
+ [ ] `panic::Location::{file, line, column}`
+ [ ] `{ChunksExact, RChunksExact}::remainder`
+ [ ] `Utf8Error::valid_up_to`
+ [ ] `VacantEntry::key`
+ [ ] `NulError::nul_position`
+ [ ] `IntoStringError::utf8_error`
+ [ ] `IntoInnerError::error`
+ [ ] `io::Chain::get_ref`
+ [ ] `io::Take::{limit, get_ref}`
+ [ ] `SocketAddrV6::{flowinfo, scope_id}`
+ [ ] `PrefixComponent::{kind, as_os_str}`
+ [ ] `Path::{ancestors, display}`
+ [ ] `WaitTimeoutResult::timed_out`
+ [ ] `Receiver::{iter, try_iter}`
+ [ ] `thread::JoinHandle::thread`
+ [ ] `SystemTimeError::duration`
Unstable public APIs affected:
+ [ ] `core::fmt::Arguments::new_v1`
+ [ ] `core::fmt::Arguments::new_v1_formatted`
+ [ ] `Pin::{get_ref, into_ref}`
+ [ ] `Utf8Lossy::chunks`
+ [ ] `LocalWaker::as_waker`
+ [ ] `panic::PanicInfo::{internal_constructor, message, location}`
+ [ ] `panic::Location::{internal_constructor }`
## Removed from list in 2nd pass:
Stable public APIs affected:
+ [ ] `LinkedList::{new, iter, is_empty, len}`
+ [ ] `mem::forget`
+ [ ] `Cursor::{new, get_ref, position}`
+ [ ] `io::{empty, repeat, sink}`
+ [ ] `PoisonError::new`
+ [ ] `thread::Builder::new`
+ [ ] `process::Stdio::{piped, inherit, null}`
Unstable public APIs affected:
+ [ ] `io::Initializer::{zeroing, should_initialize}`
2018-11-12 18:54:11 +00:00
Bruce Mitchener
9b4d68e53b
Fix documentation typos.
2018-11-10 19:31:49 +07:00
Mazdak Farrokhzad
e15c62d61f
revert making internal APIs const fn.
2018-11-10 01:10:07 +01:00
Mazdak Farrokhzad
d1d2aa22c0
reduce list to functions callable in const ctx.
2018-11-10 01:10:07 +01:00
Mazdak Farrokhzad
f65b630d33
constify parts of libstd.
2018-11-10 01:10:07 +01:00
Austin Bonander
092bf2b500
make CStr::from_bytes_with_nul_unchecked() a const fn
...
closes #54678
2018-10-02 04:25:40 -07:00
Colin Walters
993d02283e
OsStr: Document that it's not NUL terminated
...
I somehow got confused into thinking this was the case, but
it's definitely not. Let's help the common case of people who
have an `OsStr` and need to call e.g. Unix APIs.
2018-09-17 21:10:36 -04:00