about summary refs log tree commit diff
path: root/src/liballoc/sync.rs
AgeCommit message (Collapse)AuthorLines
2018-10-12`#[must_use]` for associated functions is supposed to actually workZack M. Davis-2/+2
In the comments of (closed, defunct) pull request #54884, Mazdak "Centril" Farrokhzad noted that must-use annotations didn't work on an associated function (what other communities might call a "static method"). Subsequent logging revealed that in this case we have a `Def::Method`, whereas the lint pass was only matching on `Def::Fn`. (One could argue that those def-names are thereby misleading—must-use for self-ful methods have always worked—but documenting or reworking that can be left to another day.)
2018-10-01Introduce language items for `Arc` and `Rc`.David Wood-0/+1
This commit introduces language items for `Arc` and `Rc` so that types can later be checked to be `Arc` or `Rc` in the NLL borrow checker. The `lang` attribute is currently limited to `stage1` as it requires a compiler built with knowledge of the expected language items.
2018-09-19Auto merge of #53877 - withoutboats:compositional-pin, r=aturonbors-0/+6
Update to a new pinning API. ~~Blocked on #53843 because of method resolution problems with new pin type.~~ @r? @cramertj cc @RalfJung @pythonesque anyone interested in #49150
2018-09-08Auto merge of #51885 - GuillaumeGomez:trait-impl-show-docs, ↵bors-5/+3
r=Mark-Simulacrum,QuietMisdreavus Trait impl show docs Fixes #51834. <img width="1440" alt="screen shot 2018-06-29 at 00 14 33" src="https://user-images.githubusercontent.com/3050060/42063323-6e6e8cc8-7b31-11e8-88ef-4dd2229df76c.png"> (You can see both commit changes in the screenshot 😄) r? @QuietMisdreavus
2018-09-07Rollup merge of #53874 - withoutboats:pin-ptr-impls, r=RalfJungkennytm-1/+4
Implement Unpin for Box, Rc, and Arc Per the discussion in #49150, these should implement `Unpin` even if what they point to does not.
2018-09-06Fix invalid urlsGuillaume Gomez-5/+3
2018-09-01Update to a new pinning API.Without Boats-0/+6
2018-09-01Implement Unpin for Box, Rc, and ArcWithout Boats-1/+4
2018-08-31Add clearer wording to Arc clone example codeOtto Rask-1/+1
2018-08-30Rephrase Arc documentation changes regarding clonesOtto Rask-4/+4
Make it clearer that `Arc::clone()` in fact creates a whole new Arc with the internal pointer pointing to the same location as the source Arc.
2018-08-29Make Arc cloning mechanics clearer in module docsOtto Rask-4/+5
Add some more wording to module documentation regarding how `Arc::clone()` works, as some users have assumed cloning Arc's to work via dereferencing to inner value as follows: use std::sync::Arc; let myarc = Arc::new(1); let myarcref = myarc.clone(); assert!(1 == myarcref); Instead of the actual mechanic of referencing the existing Arc value: use std::sync::Arg; let myarc = Arc::new(1); let myarcref = myarc.clone(); assert!(myarcref == &myarc); // not sure if assert could assert this in the real world
2018-08-20Replace usages of ptr::offset with ptr::{add,sub}.Corey Farwell-1/+1
2018-07-23typosRalf Jung-2/+2
2018-07-23Don't use NonNull::dangling as sentinel valueRalf Jung-4/+9
Instead, rely on alignment and use usize::MAX as sentinel.
2018-07-11Revert borked changes in last commit.ljedrz-3/+3
2018-07-10Add missing dyn in liballocljedrz-8/+8
2018-07-10Deny bare trait objects in in src/liballocljedrz-1/+1
2018-07-06Rollup merge of #52103 - tmccombs:rc_downcast, r=Mark-SimulacrumMark Rousskov-2/+1
Stabilize rc_downcast Fixes #44608
2018-07-07Fix is_dangling import when Arc is #[cfg]’ed outSimon Sapin-6/+1
2018-07-07Rc: remove unused allocation from Weak::new()Simon Sapin-1/+1
Same as https://github.com/rust-lang/rust/pull/50357
2018-07-07Use an aligned dangling pointer in Weak::new, rather than address 1Simon Sapin-21/+29
2018-07-06Stabilize rc_downcastThayne McCombs-2/+1
Fixes #44608
2018-07-03Strenghten synchronization in `Arc::is_unique`Ralf Jung-6/+7
Previously, `is_unique` would not synchronize at all with a `drop` that returned early because it was not the last reference, leading to a data race. Fixes #51780
2018-06-29Rename alloc::arc to alloc::sync, to match std::syncSimon Sapin-0/+1936