about summary refs log tree commit diff
path: root/src/libcore
AgeCommit message (Collapse)AuthorLines
2017-10-29impl From<T> for AtomicTM Farkas-Dyck-0/+12
2017-10-26regenerate libcore/char_private.rsZack M. Davis-74/+83
char_private.rs is generated programmatically by char_private.py, using data retrieved from the Unicode Consortium's website. The motivation here was to make `is_printable` crate-visible (with `pub(crate)`), but it would seem that the Unicode data has changed slightly since char_private.rs was last generated.
2017-10-26Bump to 1.23 and update bootstrapAlex Crichton-67/+49
This commit updates the bootstrap compiler, bumps the version to 1.23, updates Cargo, updates books, and updates crates.io dependencies
2017-10-26Rollup merge of #45483 - mbrubeck:hash, r=alexcrichtonkennytm-4/+32
Implement Hash for raw pointers to unsized types This is useful for some niche cases, like a hash table of slices or trait objects where the key is the raw pointer. Example use case: https://docs.rs/by_address
2017-10-25Implement Hash for raw pointers to unsized typesMatt Brubeck-4/+32
2017-10-25Rollup merge of #45461 - wesleywiser:intrinsics_docs, r=dtolnayGuillaume Gomez-0/+7
Two small enhancements to intrinsics docs
2017-10-23Bring back slice::ref_slice as slice::from_ref.whitequark-0/+16
These functions were deprecated and removed in 1.5, but such simple functionality shouldn't require using unsafe code, and it isn't cluttering libstd too much.
2017-10-22Add link to stable version of `needs_drop` intrinsicWesley Wiser-0/+3
2017-10-22Document the `size_of_val` instrinsicWesley Wiser-0/+4
2017-10-22fix stringify docsAlex Burka-2/+2
2017-10-21Rollup merge of #45419 - steveklabnik:fix-commonmark-renderings, ↵Corey Farwell-9/+9
r=QuietMisdreavus Fix most rendering warnings from switching to CommonMark There's one big one lift, I'm filing a bug for it soon. r? @rust-lang/docs
2017-10-21Auto merge of #45391 - malbarbo:x32-1, r=alexcrichtonbors-8/+6
Update libc and some fixes for x86_64-unknown-linux-gnux32
2017-10-20Fix most rendering warnings from switching to CommonMarksteveklabnik-9/+9
2017-10-20Fix some tests for linux gnux32Marco A L Barbosa-8/+6
2017-10-20Auto merge of #45319 - michaelwoerister:use-128bit-siphash, r=nikomatsakisbors-0/+1
incr.comp.: Use 128bit SipHash for fingerprinting This PR switches incr. comp. result fingerprinting from 128 bit BLAKE2 to 128 bit SipHash. When we started using BLAKE2 for fingerprinting, the 128 bit version of SipHash was still experimental. Now that it isn't anymore we should be able to get a nice performance boost without significantly increasing collision probability. ~~I'm going to start a try-build for this, so we can gauge the performance impact before merging (hence the `WIP` in the title).~~ EDIT: Performance improvements look as expected. Tests seem to be passing. Fixes #41215.
2017-10-18impl FromIterator<()> for ()Josh Stone-0/+32
This just collapses all unit items from an iterator into one. This is more useful when combined with higher-level abstractions, like collecting to a `Result<(), E>` where you only care about errors: ```rust use std::io::*; data = vec![1, 2, 3, 4, 5]; let res: Result<()> = data.iter() .map(|x| writeln!(stdout(), "{}", x)) .collect(); assert!(res.is_ok()); ```
2017-10-17Rollup merge of #45097 - nivkner:fixme_fixup2, r=estebankkennytm-5/+0
address more FIXME whose associated issues were marked as closed part of #44366
2017-10-17Auto merge of #45179 - cuviper:result-intoiter-clone, r=BurntSushibors-1/+1
core: derive Clone for result::IntoIter It appears to be a simple oversight that `result::IntoIter<T>` doesn't implement `Clone` (where `T: Clone`). We do already have `Clone` for `result::Iter`, as well as the similar `option::IntoIter` and `Iter`.
2017-10-16rustc_data_structures: Add implementation of 128 bit SipHash.Michael Woerister-0/+1
2017-10-13Clarify how needs_drop is conservativeAlexis Beingessner-3/+5
2017-10-12Auto merge of #45233 - kennytm:rollup, r=kennytmbors-12/+1
Rollup of 9 pull requests - Successful merges: #44989, #45005, #45049, #45105, #45121, #45166, #45172, #45190, #45231 - Failed merges: #45138
2017-10-13Rollup merge of #45005 - leodasvacas:inline-eq-slice-into-eq, r=jseyfriedkennytm-12/+1
Inline eq_slice into str::eq It's the only use of the function.
2017-10-12Auto merge of #45007 - undecidabot:optimize-iter, r=blussbors-72/+114
Optimize comparison functions of Iterator Replaced matching on tuples which led to less performant code generation. Testing on microbenchmarks consistently showed ~1.35x improvement in performance on my machine. Fixes #44729.
2017-10-11Explain the `_oibit_remover` fieldOliver Schneider-0/+7
2017-10-11Prevent fmt::Arguments from being shared across threadsOliver Schneider-0/+1
Fixes #45197
2017-10-10Restore `T: Sized` on `ptr::is_null`Josh Stone-55/+15
The exact semantics of `is_null` on unsized pointers are still debatable, especially for trait objects. It may be legal to call `*mut self` methods on a trait object someday, as with Go interfaces, so `is_null` might need to validate the vtable pointer too. For `as_ref` and `as_mut`, we're assuming that you cannot have a non-null data pointer with a null vtable, so casting the unsized check is fine.
2017-10-10core: derive Clone for result::IntoIterJosh Stone-1/+1
It appears to be a simple oversight that `result::IntoIter<T>` doesn't implement `Clone` (where `T: Clone`). We do already have `Clone` for `result::Iter`, as well as the similar `option::IntoIter` and `Iter`.
2017-10-10Rollup merge of #45095 - bluss:discriminant-send-sync, r=alexcrichtonkennytm-1/+17
Ensure std::mem::Discriminant is Send + Sync `PhantomData<*const T>` has the implication of Send / Syncness following the *const T type, but the discriminant should always be Send and Sync. Use `PhantomData<fn() -> T>` which has the same variance in T, but is Send + Sync
2017-10-08Rollup merge of #45081 - tamird:fmt-cleanup, r=alexcrichtonkennytm-7/+6
fmt: misc cleanup
2017-10-08Rollup merge of #45053 - GuillaumeGomez:atomicbool-doc, r=QuietMisdreavuskennytm-5/+12
Add missing links for AtomicBool r? @rust-lang/docs
2017-10-08Rollup merge of #45042 - brennie:brennie/fmt-trait-summaries, r=steveklabnikkennytm-8/+8
Update trait summaries for std::fmt This patch is part of #29355. r? @steveklabnik
2017-10-08core: Ensure std::mem::Discriminant is Send + SyncUlrik Sverdrup-1/+17
`PhantomData<*const T>` has the implication of Send / Syncness following the *const T type, but the discriminant should always be Send and Sync. Use `PhantomData<fn() -> T>` which has the same variance in T, but is Send + Sync
2017-10-08address more FIXME whose associated issues were marked as closedNiv Kaminer-5/+0
update FIXME(#6298) to point to open issue 15020 update FIXME(#6268) to point to RFC 811 update FIXME(#10520) to point to RFC 1751 remove FIXME for emscripten issue 4563 and include target in `test_estimate_scaling_factor` remove FIXME(#18207) since node_id isn't used for `ref` pattern analysis remove FIXME(#6308) since DST was implemented in #12938 remove FIXME(#2658) since it was decided to not reorganize module remove FIXME(#20590) since it was decided to stay conservative with projection types remove FIXME(#20297) since it was decided that solving the issue is unnecessary remove FIXME(#27086) since closures do correspond to structs now remove FIXME(#13846) and enable `function_sections` for windows remove mention of #22079 in FIXME(#22079) since this is a general FIXME remove FIXME(#5074) since the restriction on borrow were lifted
2017-10-07fmt: remove misleading comment fragmentTamir Duberstein-1/+1
2017-10-07fmt: DRYTamir Duberstein-5/+5
2017-10-07fmt: remove unnecessary lint suppressionTamir Duberstein-1/+0
2017-10-05Add missing links for AtomicBoolGuillaume Gomez-5/+12
2017-10-05Auto merge of #44943 - nivkner:fixme_fixup, r=dtolnaybors-80/+10
address some FIXME whose associated issues were marked as closed part of #44366
2017-10-04Update trait summaries for std::fmtBarret Rennie-8/+8
This patch is part of #29355.
2017-10-04seperate and move miscellaneous benchmarks to librustcNiv Kaminer-69/+0
2017-10-04Optimize comparison functions of IteratorMatt-72/+114
Replaced matching on tuples which led to less performant code generation.
2017-10-02Inline eq_slice into str::eqleonardo.yvens-12/+1
It's the only use of the function.
2017-10-02update books for next releasesteveklabnik-3/+3
Also fixes some stdlib links to the reference which have changed.
2017-10-01Auto merge of #44897 - Havvy:doc-size_of, r=steveklabnikbors-0/+78
Docs for size_of::<#[repr(C)]> items. Most of this info comes from camlorn's blog post on optimizing struct layout and the Rustonomicon. I don't really like my wording in the first paragraph. I also cannot find a definition of what `#[repr(C)]` does for enums that have variants with fields. They're allowed, unlike `#[repr(C)] enum`s with no variants.
2017-09-30Use unsized coercions for null ptr testsJosh Stone-25/+41
2017-09-30Merge remote-tracking branch 'upstream/master'Nikolai Vazquez-152/+954
2017-09-30Auto merge of #44936 - Mark-Simulacrum:rollup, r=Mark-Simulacrumbors-14/+93
Rollup of 15 pull requests - Successful merges: #44124, #44287, #44320, #44694, #44708, #44794, #44797, #44824, #44836, #44840, #44845, #44854, #44889, #44900, #44903 - Failed merges:
2017-09-30address some `FIXME`s whose associated issues were marked as closedNiv Kaminer-11/+10
remove FIXME(#13101) since `assert_receiver_is_total_eq` stays. remove FIXME(#19649) now that stability markers render. remove FIXME(#13642) now the benchmarks were moved. remove FIXME(#6220) now that floating points can be formatted. remove FIXME(#18248) and write tests for `Rc<str>` and `Rc<[u8]>` remove reference to irelevent issues in FIXME(#1697, #2178...) update FIXME(#5516) to point to getopts issue 7 update FIXME(#7771) to point to RFC 628 update FIXME(#19839) to point to issue 26925
2017-09-29Rollup merge of #44900 - Havvy:normalize-lang-attribute-spacing, r=sfacklerMark Simulacrum-3/+3
Normalize spaces in lang attributes. So, like, I grepped for all `lang` attributes for *reasons* and I noticed that they all share the same spacing of `#[lang = "item_name"]` except these five instances. So I decided to fix that. So enjoy this PR of exactly ten spaces.
2017-09-29Rollup merge of #44854 - lucasem:atomic-docs, r=steveklabnikMark Simulacrum-1/+25
docs improvement sync::atomic::Atomic* Addresses the `Atomic*` part of #29377. r? @steveklabnik