about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-02-19improve linked list -> drop transitionRalf Jung-5/+6
2019-02-19please the mericless tidy, oh tidyRalf Jung-1/+1
2019-02-19mention interaction with Deref in introRalf Jung-9/+38
2019-02-19examplesRalf Jung-1/+3
2019-02-19rewrite pin module introRalf Jung-24/+27
2019-02-19more work on projections and RefCell exampleRalf Jung-12/+22
2019-02-19separate section for doubly-linked list, reword projections introRalf Jung-33/+43
2019-02-19Apply suggestions from code reviewRalf Jung-12/+12
Co-Authored-By: RalfJung <post@ralfj.de>
2019-02-19apply some of the feedbackRalf Jung-25/+34
2019-02-20Rollup merge of #56470 - llogiq:process-termination-doctest, r=GuillaumeGomezkennytm-4/+51
Modify doctest's auto-`fn main()` to allow `Result`s This lets the default `fn main()` ~~return `impl Termination`~~ unwrap Results, which allows the use of `?` in most tests without adding it manually. This fixes #56260 ~~Blocked on `std::process::Termination` stabilization.~~ Using `Termination` would have been cleaner, but this should work OK.
2019-02-19Auto merge of #57896 - oli-obk:permissive_existence, r=cramertjbors-79/+548
Be more permissive with required bounds on existential types fixes #54184 r? @pnkfelix
2019-02-19Stabilize iter::from_fnSimon Sapin-7/+5
FCP: https://github.com/rust-lang/rust/issues/55977#issuecomment-463964234
2019-02-19Stabilize iter::successorsSimon Sapin-7/+8
FCP: https://github.com/rust-lang/rust/issues/58045#issuecomment-464674773
2019-02-19improve Pin documentationRalf Jung-20/+190
2019-02-19Add missing fmt structs examplesGuillaume Gomez-10/+313
2019-02-19Fix tables displayGuillaume Gomez-25/+6
2019-02-19Auto merge of #58571 - Manishearth:rustup, r=Manishearthbors-17/+15
Update clippy, RLS, and rustfmt moved from https://github.com/rust-lang/rust/pull/58337
2019-02-19Update clippy to rust-lang/rust-clippy@d61b25419beManish Goregaokar-7/+9
2019-02-19Auto merge of #56514 - ollie27:rustdoc_test_libdir, r=QuietMisdreavusbors-22/+5
rustdoc: Don't modify library path for doctests It shouldn't be needed anymore because doctests are no longer compiled with `prefer-dynamic` (since #54939). r? @QuietMisdreavus
2019-02-19reduced some code repetitions.kenta7777-6/+4
2019-02-18Fix a transposition in driver.rs.Benjamin Peterson-1/+1
2019-02-19Auto merge of #58503 - varkor:const-generics-hir, r=petrochenkovbors-191/+390
Add const generics to the HIR Split out from https://github.com/rust-lang/rust/pull/53645. cc @yodaldevoid r? @eddyb
2019-02-19Fix typo in std::future::Future docsThomas Eizinger-1/+1
2019-02-18Fix style nitsDan Robertson-48/+64
Fix style nits discovered in reading code.
2019-02-18Auto merge of #58543 - jonas-schievink:bumpstrap, r=pietroalbinibors-1/+1
Bump the bootstrap compiler This compiler includes https://github.com/rust-lang/rust/pull/58501, which fixes an annoying ICE while working on rustc itself. r? @pietroalbini
2019-02-18override `VecDeque::try_rfold`, also update iteratorAndre Bogus-5/+117
This keeps the slice based iteration and updates the iterator state after each slice. It also uses a loop to reduce the amount of code. This uses unsafe code, so some thorough review would be appreciated.
2019-02-18re-blessing error output: ./x.py test src/test/ui --stage 1 --blessClint Frederickson-37/+37
2019-02-18Fixed doc example for Path::with_capacityAaron Stillwell-1/+2
2019-02-18Auto merge of #58549 - pietroalbini:fix-docker-ci-hash, r=Mark-Simulacrumbors-3/+3
ci: fix docker cache hash collision #58416 uncovered a bug in our caching for docker images: if the image `foo` pulls files from the image `bar` and a file in `bar` changed, the hash of `foo` will be the same even though it should be different. In that PR's case, `dist-i686-linux` pulls scripts from `dist-x86_64-linux`, and the PR only changed those scripts, causing an hash collision for `dist-i686-linux`. We have to fix this, since the image will be rebuilt every time bors switches from testing master to testing beta/stable (and when it switches back), making CI way more painful than it currently is. The approach used by this PR is to just include all the files in `src/ci/docker` in the hash. It's a bit heavy-handed and it will cause a rebuild of all the images every time a single image changes, but it's the best I can think of. r? @Mark-Simulacrum cc @alexcrichton @kennytm
2019-02-18ci: fix docker cache hash collisionPietro Albini-3/+3
Before this commit the hash used to cache docker images was calculated from the image's files and the files in the scripts/ directory. This worked fine when all the files used by an image were in those directories, but some images pull files from other images, causing hash collisions in some cases. This commit changes the hash to include the files of all the docker images, causing a rebuild of all the images when a single one changes. That's a bit heavy-handed, but we have no way to track which files an image pulls in and hash collisions are really painful to deal with.
2019-02-18Add constant_time_eq to license exception list of tidy toolflip1995-0/+1
2019-02-18Update Cargo.toml of rustc-workspace-hackflip1995-1/+1
2019-02-18Update rustfmt to rust-lang/rustfmt@d6829dflip1995-5/+5
2019-02-18Update RLS to rust-lang/rls@0d6f53flip1995-0/+0
2019-02-18Update Clippy to rust-lang/rust-clippy@32ee30flip1995-12/+7
2019-02-18Auto merge of #58541 - kennytm:fix-publish-toolstate-py-again, r=oli-obkbors-3/+3
publish_toolstate.py: further fix the runtime errors The regex was missing a `,`, causing `relevant_pr_match` to become None and set the PR number to -1 and assigned the new issue to `@<unknown user>`. This causes the 422 error when creating the issue due to invalid assignee and unable to leave the tool-is-broken comment since PR -1 does not exist. The default user names are now also changed to @ghost to prevent the 422 error in case anything goes wrong again.
2019-02-17Add a note about 2018e if someone uses `try {` in 2015eScott McMurray-0/+6
2019-02-17Use more impl header lifetime elisionScott McMurray-219/+219
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-18Auto merge of #58373 - RalfJung:maybe-uninit, r=gnzlbgbors-9/+7
update stdsimd and remove now-unused MaybeUninit::into_inner That's a huge diff for stdsimd... Cc @gnzlbg @alexcrichton
2019-02-18Merge remote-tracking branch 'upstream/master'Stein Somers-17393/+22820
2019-02-18Remove some unnecessary `into()` calls.Nicholas Nethercote-1/+1
These are probably leftovers from recent `TokenStream` simplifications.
2019-02-18Explain a panic in test case net::tcp::tests::double_bindStein Somers-2/+6
2019-02-18Make `interpolated_to_tokenstream` a method on `Nonterminal`.Nicholas Nethercote-86/+85
2019-02-18Avoid a `clone()` in `transcribe()`.Nicholas Nethercote-11/+11
The current code (expensively) clones the value within an `Rc`. This commit changes things so that the `Rc` itself is (cheaply) cloned instead, avoid some allocations. This requires converting a few `Rc` instances to `Lrc`.
2019-02-18Remove `LazyTokenStream`.Nicholas Nethercote-113/+58
It's present within `Token::Interpolated` as an optimization, so that if a nonterminal is converted to a `TokenStream` multiple times, the first-computed value is saved and reused. But in practice it's not needed. `interpolated_to_tokenstream()` is a cold function: it's only called a few dozen times while compiling rustc itself, and a few hundred times across the entire `rustc-perf` suite. Furthermore, when it is called, it is almost always the first conversion, so no benefit is gained from it. So this commit removes `LazyTokenStream`, along with the now-unnecessary `Token::interpolated()`. As well as a significant simplification, the removal speeds things up slightly, mostly due to not having to `drop` the `LazyTokenStream` instances.
2019-02-18Change `Token::interpolated_to_tokenstream()`.Nicholas Nethercote-40/+38
It is currently a method of `Token`, but it only is valid to call if `self` is a `Token::Interpolated`. This commit eliminates the possibility of misuse by changing it to an associated function that takes a `Nonterminal`, which also simplifies the call sites. This requires splitting out a new function, `nonterminal_to_string`.
2019-02-17Review commentsSimon Sapin-2/+16
2019-02-17Add links to codegen docs for rustc synonym flagsGuy Taylor-2/+2
The rustc "-g" and "-o" fags are synonyms of the "-c" codegen flags. This adds a link to the codegen docs for each synonym.
2019-02-17Fix doc for rustc "-g" flagGuy Taylor-1/+1
The rustc "-g" CLI flag was miss documented to be a synonym of "-C debug-level=2" and not the correct "-C debuginfo=2".
2019-02-18librustc_codegen_llvm => 2018Taiki Endo-199/+190