about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2018-11-24Rename some occurences of `skol` to `placeholder`scalexm-14/+14
2018-11-24Introduce `TyKind::Placeholder` variantscalexm-13/+46
2018-11-24Distinguish between placeholder kindsscalexm-26/+44
2018-11-24Rollup merge of #56168 - sfackler:raw-entry-tracking, r=kennytmkennytm-38/+38
Fix the tracking issue for hash_raw_entry It used to point to the implementation PR.
2018-11-24Rollup merge of #56162 - adrianheine:patch-1, r=withoutboatskennytm-4/+2
std::str Adapt documentation to reality
2018-11-24Rollup merge of #56154 - petrhosek:fuchsia-linker-args, r=alexcrichtonkennytm-5/+24
Pass additional linker flags when targeting Fuchsia This is a follow up to 8aa9267 which changed the driver to use lld directly rather than invoking it through Clang. This change ensures we pass all the necessary flags to lld.
2018-11-24Rollup merge of #56120 - SergioBenitez:subspan, r=alexcrichtonkennytm-1/+228
Add unstable Literal::subspan(). Take 2 of #55971. Still ~wrong, but now with a comment! (and less of a surface) Unblocks #49219. r? @alexcrichton
2018-11-24Rollup merge of #56116 - alexcrichton:tarball-calng, r=kennytmkennytm-0/+1
ci: Download clang/lldb from tarballs Hopefully will speed up CI slightly!
2018-11-24Rollup merge of #56097 - ogoffart:union-abi, r=eddybkennytm-3/+20
Fix invalid bitcast taking bool out of a union represented as a scalar As reported in https://github.com/rust-lang/rust/pull/54668#issuecomment-440186476
2018-11-24Rollup merge of #56091 - wesleywiser:fix_self_profiler_json, r=petrochenkovkennytm-2/+13
Fix json output in the self-profiler Fix missing ',' array element separators and convert NaN's to 0. cc @Mark-Simulacrum
2018-11-24Rollup merge of #56048 - bjorn3:cg_ssa_sysroot, r=eddybkennytm-1/+23
Add rustc_codegen_ssa to sysroot Outside of rustc you are currently unable to use it. r? @nikomatsakis (because you r+'ed #55627)
2018-11-24Rollup merge of #56022 - RalfJung:validate-before-jump, r=oli-obkkennytm-7/+14
When popping in CTFE, perform validation before jumping to next statement to have a better span for the error Currently, when validating the return value fails, the span points at the next statement after the call. That does not make much sense. r? @oli-obk
2018-11-24Rollup merge of #55945 - oli-obk:static_assert_arg_type, r=michaelwoeristerkennytm-1/+2
Ensure that the argument to `static_assert` is a `bool` cc @eddyb
2018-11-24Rollup merge of #55869 - SimonSapin:iterate, r=alexcrichtonkennytm-2/+177
Add std::iter::unfold This adds an **unstable** ~`std::iter::iterate`~ `std::iter::unfold` function and ~`std::iter::Iterate`~ `std::iter::Unfold` type that trivially wrap a ~`FnMut() -> Option<T>`~ `FnMut(&mut State) -> Option<T>` closure to create an iterator. ~Iterator state can be kept in the closure’s environment or captures.~ This is intended to help reduce amount of boilerplate needed when defining an iterator that is only created in one place. Compare the existing example of the `std::iter` module: (explanatory comments elided) ```rust struct Counter { count: usize, } impl Counter { fn new() -> Counter { Counter { count: 0 } } } impl Iterator for Counter { type Item = usize; fn next(&mut self) -> Option<usize> { self.count += 1; if self.count < 6 { Some(self.count) } else { None } } } ``` … with the same algorithm rewritten to use this new API: ```rust fn counter() -> impl Iterator<Item=usize> { std::iter::unfold(0, |count| { *count += 1; if *count < 6 { Some(*count) } else { None } }) } ``` ----- This also add unstable `std::iter::successors` which takes an (optional) initial item and a closure that takes an item and computes the next one (its successor). ```rust let powers_of_10 = successors(Some(1_u16), |n| n.checked_mul(10)); assert_eq!(powers_of_10.collect::<Vec<_>>(), &[1, 10, 100, 1_000, 10_000]); ```
2018-11-24Rollup merge of #55838 - dralley:fix-cfg-step, r=Kimundikennytm-4/+4
Fix #[cfg] for step impl on ranges ```#[cfg(target_pointer_witdth = ...)]``` is misspelled
2018-11-24Rollup merge of #55767 - tromey:disable-some-pretty-printers, r=alexcrichtonkennytm-27/+34
Disable some pretty-printers when gdb is rust-enabled A rust-enabled gdb already knows how to display string slices, structs, tuples, and enums (and after #54004, the pretty-printers can't handle enums at all). This patch disables these pretty-printers when gdb is rust-enabled. The "gdb-pretty-struct-and-enums-pre-gdb-7-7.rs" test is renamed, because it does not seem to depend on any behavior of that version of gdb, and because gdb 7.7 is 4 years old now.
2018-11-23Auto merge of #56184 - matthiaskrgr:clippy, r=oli-obkbors-14/+14
submodules: update clippy from 2f6881c6 to 754b4c07 Changes: ```` rustup https://github.com/rust-lang/rust/pull/54071/ dependencies: update pulldown-cmark from 0.1 to 0.2 s/file_map/source_map ```` r? @oli-obk
2018-11-23submodules: update clippy from 2f6881c6 to 754b4c07Matthias Krüger-14/+14
Changes: ```` rustup https://github.com/rust-lang/rust/pull/54071/ dependencies: update pulldown-cmark from 0.1 to 0.2 s/file_map/source_map ````
2018-11-23Auto merge of #55808 - estebank:type-arguments, r=petrochenkovbors-94/+222
Suggest correct syntax when writing type arg instead of assoc type - When confusing an associated type with a type argument, suggest the appropriate syntax. Given `Iterator<isize>`, suggest `Iterator<Item = isize>`. - When encountering multiple missing associated types, emit only one diagnostic. - Point at associated type def span for context. - Point at each extra type argument. Follow up to #48288, fix #20977.
2018-11-23Auto merge of #54071 - eddyb:alignsssss, r=oli-obkbors-374/+363
rustc_target: separate out an individual alignment quantity type from Align. Before this PR, `rustc_target::abi::Align` combined "power-of-two alignment quantity" semantics, with a distinction between ABI (required) and preferred alignment (by having two quantities). After this PR, `Align` is only *one* such quantity, and a new `AbiAndPrefAlign` type is introduced to hold the pair of ABI and preferred `Align` quantities. `Align` is used everywhere one quantity is necessary/sufficient, simplifying some of the code in codegen/miri, while `AbiAndPrefAlign` only in layout computation (to propagate preferred alignment). r? @oli-obk cc @nagisa @RalfJung @nikomatsakis
2018-11-22Do not point at associated types from other cratesEsteban Küber-34/+6
This is a somewhat arbitrary restriction in order to be consistent in the output of the tests regardless of target platform.
2018-11-22Reword and fix testEsteban Küber-23/+26
2018-11-22Suggest correct syntax when writing type arg instead of assoc typeEsteban Küber-47/+88
When confusing an associated type with a type argument, suggest the appropriate syntax. Given `Iterator<isize>`, suggest `Iterator<Item = isize>`.
2018-11-22Point at the associated type's def spanEsteban Küber-0/+66
2018-11-22Join multiple E0191 errors in the same location under a single diagnosticEsteban Küber-27/+33
2018-11-22Point at every unexpected lifetime and type argument in E0107Esteban Küber-29/+69
2018-11-22Auto merge of #56143 - nikomatsakis:issue-56128-segment-id-ice-nightly, ↵bors-41/+123
r=petrochenkov Issue 56128 segment id ice nightly Tentative fix for #56128 From what I can tell, the problem is that if you have `pub(super) use foo::{a, b}`, then when we explode the `a` and `b`, the segment ids from the `super` path were not getting cloned. However, once I fixed *that*, then I ran into a problem that the "visibility" node-ids were not present in the final HIR -- this is because the visibility of the "stem" that is returned in this case was getting reset to inherited. I don't *think* it is a problem to undo that, so that the visibility is returned unmodified. Fixes #55475 Fixes #56128 cc @nrc @petrochenkov
2018-11-22Move fake rustc_codegen_ssa dependency from rustc_driver to rustc-mainbjorn3-4/+4
2018-11-22Add rustc_codegen_ssa to sysrootbjorn3-1/+23
2018-11-22Fix the tracking issue for hash_raw_entrySteven Fackler-38/+38
It used to point to the implementation PR.
2018-11-22Auto merge of #53586 - eddyb:top-lock, r=alexcrichtonbors-3569/+39
Move Cargo.{toml,lock} to the repository root directory. This should give us back `src/` in errors, panics and debuginfo, for free. r? @Mark-Simulacrum @alexcrichton cc @michaelwoerister
2018-11-22explain how this worksNiko Matsakis-1/+23
2018-11-22only reset non-restricted visibilitiesNiko Matsakis-15/+28
2018-11-22std::str Adapt documentation to realityAdrian Heine né Lang-4/+2
2018-11-22Auto merge of #56136 - matthiaskrgr:clippy, r=oli-obkbors-11/+18
submodules: update clippy from f5d868c9 to 2f6881c6 Changes: ```` missed another one in the README run "util/dev update_lints" rust-lang-nursery/rust-clippy => rust-lang/rust-clippy Address 'clippy::single-match' dogfood lint Fix nit Address travis CI lint failure Update trivially_copy_pass_by_ref with Trait stderr output issue#3318 run trivially_copy_pass_by_ref for traits Update trivially_copy_pass_by_ref with Trait examples Fix awkward wording Document how to lint local Clippy changes with locally built Clippy Enable rustup clippy to refer to the correct documentation rustup https://github.com/rust-lang/rust/pull/52591 remove unused allow() attributes, NFC Add regression test Don't emit suggestion when inside of a macro ```` fixes clippy toolstate
2018-11-22submodules: update clippy from f5d868c9 to 2f6881c6Matthias Krüger-11/+18
```` missed another one in the README run "util/dev update_lints" rust-lang-nursery/rust-clippy => rust-lang/rust-clippy Address 'clippy::single-match' dogfood lint Fix nit Address travis CI lint failure Update trivially_copy_pass_by_ref with Trait stderr output issue#3318 run trivially_copy_pass_by_ref for traits Update trivially_copy_pass_by_ref with Trait examples Fix awkward wording Document how to lint local Clippy changes with locally built Clippy Enable rustup clippy to refer to the correct documentation rustup https://github.com/rust-lang/rust/pull/52591 remove unused allow() attributes, NFC Add regression test Don't emit suggestion when inside of a macro ````
2018-11-22Move Cargo.{toml,lock} to the repository root directory.Eduard-Mihai Burtescu-3569/+39
2018-11-22Auto merge of #56155 - GuillaumeGomez:rollup, r=GuillaumeGomezbors-97/+507
Rollup of 11 pull requests Successful merges: - #55367 (lint if a private item has doctests) - #55485 (Return &T / &mut T in ManuallyDrop Deref(Mut) impl) - #55784 (Clarifying documentation for collections::hash_map::Entry::or_insert) - #55961 (Fix VecDeque pretty-printer) - #55980 (Suggest on closure args count mismatching with pipe span) - #56002 (fix #55972: Erroneous self arguments on bare functions emit subpar compilation error) - #56063 (Update any.rs documentation using keyword dyn) - #56067 (Add SGX target to rustc) - #56078 (Fix error message for `-C panic=xxx`.) - #56106 (Remove some incorrect doc comments) - #56126 (core/benches/num: Add `from_str/from_str_radix()` benchmarks) Failed merges: r? @ghost
2018-11-22Rollup merge of #56126 - Turbo87:bench-parse, r=alexcrichtonGuillaume Gomez-0/+105
core/benches/num: Add `from_str/from_str_radix()` benchmarks This was extracted from #55973 /cc @alexcrichton
2018-11-22Rollup merge of #56106 - bjorn3:patch-1, r=alexcrichtonGuillaume Gomez-12/+0
Remove some incorrect doc comments
2018-11-22Rollup merge of #56078 - ehuss:fix-panic-opt-msg, r=alexcrichtonGuillaume Gomez-5/+5
Fix error message for `-C panic=xxx`. Fixes rust-lang/cargo#6334
2018-11-22Rollup merge of #56067 - jethrogb:jb/sgx-target-spec, r=alexcrichtonGuillaume Gomez-0/+93
Add SGX target to rustc This adds the `x86_64-fortanix-unknown-sgx` target specification to the Rust compiler. See #56066 for more details about this target.
2018-11-22Rollup merge of #56063 - 0xrgb:patch-1, r=joshtriplettGuillaume Gomez-11/+11
Update any.rs documentation using keyword dyn This will fix #56062.
2018-11-22Rollup merge of #56002 - Axary:master, r=estebankGuillaume Gomez-2/+58
fix #55972: Erroneous self arguments on bare functions emit subpar compilation error #55972 r? @estebank
2018-11-22Rollup merge of #55980 - csmoe:issue-55891, r=estebankGuillaume Gomez-11/+45
Suggest on closure args count mismatching with pipe span Closes #55891 r? @estebank
2018-11-22Rollup merge of #55961 - tromey:Bug-55944-vecdeque, r=nikomatsakisGuillaume Gomez-3/+22
Fix VecDeque pretty-printer This fixes the VecDeque pretty-printer to handle cases where head < tail. Closes #55944
2018-11-22Rollup merge of #55784 - meltinglava:master, r=KodrAusGuillaume Gomez-8/+8
Clarifying documentation for collections::hash_map::Entry::or_insert Previous version does not show that or_insert does not insert the passed value, as the passed value was the same value as what was already in the map.
2018-11-22Rollup merge of #55485 - petertodd:2018-10-manuallydrop-deref, r=TimNNGuillaume Gomez-2/+2
Return &T / &mut T in ManuallyDrop Deref(Mut) impl Without this change the generated documentation looks like this: fn deref(&self) -> &<ManuallyDrop<T> as Deref>::Target Returning the actual type directly makes the generated docs more clear: fn deref(&self) -> &T Basically, compare how the impl for `Box<T>` and `ManuallyDrop<T>` looks in this screenshot: ![rust docs for ManuallyDrop as Deref](https://user-images.githubusercontent.com/7042/47673083-fc9dc280-db89-11e8-89b0-c6bde663feef.png)
2018-11-22Rollup merge of #55367 - GuillaumeGomez:private-item-doc-test-lint, ↵Guillaume Gomez-43/+158
r=QuietMisdreavus lint if a private item has doctests Fixes #55333. r? @QuietMisdreavus
2018-11-22Pass additional linker flags when targeting FuchsiaPetr Hosek-5/+24
This is a follow up to 8aa9267 which changed the driver to use lld directly rather than invoking it through Clang. This change ensures we pass all the necessary flags to lld.