about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2018-10-27Fix an ICE in the min_const_fn analysisOliver Scherer-2/+26
2018-10-26Auto merge of #55382 - kennytm:rollup, r=kennytmbors-496/+1164
Rollup of 21 pull requests Successful merges: - #54816 (Don't try to promote already promoted out temporaries) - #54824 (Cleanup rustdoc tests with `@!has` and `@!matches`) - #54921 (Add line numbers option to rustdoc) - #55167 (Add a "cheap" mode for `compute_missing_ctors`.) - #55258 (Fix Rustdoc ICE when checking blanket impls) - #55264 (Compile the libstd we distribute with -Ccodegen-unit=1) - #55271 (Unimplement ExactSizeIterator for MIR traversing iterators) - #55292 (Macro diagnostics tweaks) - #55298 (Point at macro definition when no rules expect token) - #55301 (List allowed tokens after macro fragments) - #55302 (Extend the impl_stable_hash_for! macro for miri.) - #55325 (Fix link to macros chapter) - #55343 (rustbuild: fix remap-debuginfo when building a release) - #55346 (Shrink `Statement`.) - #55358 (Remove redundant clone (2)) - #55370 (Update mailmap for estebank) - #55375 (Typo fixes in configure_cmake comments) - #55378 (rustbuild: use configured linker to build boostrap) - #55379 (validity: assert that unions are non-empty) - #55383 (Use `SmallVec` for the queue in `coerce_unsized`.) - #55391 (bootstrap: clean up a few clippy findings)
2018-10-26Rollup merge of #55391 - matthiaskrgr:bootstrap_cleanup, r=oli-obkkennytm-34/+33
bootstrap: clean up a few clippy findings remove useless format!()s remove redundant field names in a few struct initializations pass slice instead of a vector to a function use is_empty() instead of comparisons to .len() No functional change intended.
2018-10-26Rollup merge of #55383 - nnethercote:coerce_unsized-SmallVec, r=davidtwcokennytm-16/+20
Use `SmallVec` for the queue in `coerce_unsized`. This reduces the number of allocations done for the `tuple-stress` benchmark by 4%.
2018-10-26Rollup merge of #55264 - michaelwoerister:single-cgu-std, r=simulacrumkennytm-5/+26
Compile the libstd we distribute with -Ccodegen-unit=1 This PR - adds the `single-codegen-unit-std` option to `config.toml` which allows for setting the CGU count for `libstd` and `libtest` independently of the one for the rest of the compiler, and - sets the new option to `true` for all dist jobs in CI. Fixes #54872.
2018-10-26Rollup merge of #55379 - RalfJung:no-empty-union, r=oli-obkkennytm-1/+5
validity: assert that unions are non-empty
2018-10-26Rollup merge of #55378 - Keruspe:bootstrap-linker, r=petrochenkovkennytm-0/+3
rustbuild: use configured linker to build boostrap Currently, bootstrap uses it to compile everything, but x.py wasn't using it yet to build bootstrap itself. This fixes the build for systems where the linker isn't called `cc`.
2018-10-26Rollup merge of #55375 - upstreaming:configure_cmake-comment-typo-fixes, ↵kennytm-2/+2
r=alexcrichton Typo fixes in configure_cmake comments Signed-off-by: Eddy Petrișor <eddy.petrisor@gmail.com>
2018-10-26Rollup merge of #55358 - sinkuu:redundant_clone2, r=estebankkennytm-65/+56
Remove redundant clone (2)
2018-10-26Rollup merge of #55346 - nnethercote:shrink-StatementKind, r=nagisakennytm-6/+10
Shrink `Statement`. This commit reduces the size of `Statement` from 80 bytes to 56 bytes on 64-bit platforms, by boxing the `AscribeUserType` variant of `StatementKind`. This change reduces instruction counts on most benchmarks by 1--3%.
2018-10-26Rollup merge of #55343 - Keruspe:remap-debuginfo-release, r=alexcrichtonkennytm-1/+1
rustbuild: fix remap-debuginfo when building a release Fallback to the release number as we can't get the git commit sha as we're not in a git repository. Fixes #55341
2018-10-26Rollup merge of #55302 - goffrie:impl-stable-hash, r=varkorkennytm-76/+40
Extend the impl_stable_hash_for! macro for miri. Fixes #54075.
2018-10-26Rollup merge of #55301 - estebank:macro-allowed, r=petrochenkovkennytm-141/+385
List allowed tokens after macro fragments Fix #34069.
2018-10-26Rollup merge of #55298 - estebank:macro-def, r=pnkfelixkennytm-50/+152
Point at macro definition when no rules expect token Fix #35150.
2018-10-26Rollup merge of #55292 - estebank:macro-eof, r=pnkfelixkennytm-35/+123
Macro diagnostics tweaks Fix #30128, fix #10951 by adding an appropriate span to the diagnostic. Fix #26288 by suggesting adding semicolon to macro call.
2018-10-26Rollup merge of #55271 - sinkuu:traversal_iter, r=matthewjasperkennytm-12/+24
Unimplement ExactSizeIterator for MIR traversing iterators If `root` is not `START_BLOCK`, `basic_blocks().len() - visited` does not represent their exact size.
2018-10-26Auto merge of #54626 - alexcrichton:dwarf-generics, r=michaelwoeristerbors-24/+59
rustc: Tweak filenames encoded into metadata This commit is a fix for #54408 where on nightly right now whenever generics are inlined the path name listed for the inlined function's debuginfo is a relative path to the cwd, which surely doesn't exist! Previously on beta/stable the debuginfo mentioned an absolute path which still didn't exist, but more predictably didn't exist. The change between stable/nightly is that nightly is now compiled with `--remap-path-prefix` to give a deterministic prefix to all rustc-generated paths in debuginfo. By using `--remap-path-prefix` the previous logic would recognize that the cwd was remapped, causing the original relative path name of the standard library to get emitted. If `--remap-path-prefix` *wasn't* passed in then the logic would create an absolute path name and then create a new source file entry. The fix in this commit is to apply the "recreate the source file entry with an absolute path" logic a bit more aggresively. If the source file's name was remapped then we don't touch it, but otherwise we always take the working dir (which may have been remapped) and then join it to the file to ensure that we process all relative file names as well. The end result is that the standard library should have an absolute path for all file names in debuginfo (using our `--remap-path-prefix` argument) as it does on stable after this patch. Closes #54408
2018-10-26bootstrap: clean up a few clippy findingsMatthias Krüger-34/+33
remove useless format!()s remove redundant field names in a few struct initializations pass slice instead of a vector to a function use is_empty() instead of comparisons to .len() No functional change intended.
2018-10-26CI: Set codegen-units-std=1 for dist builds.Michael Woerister-0/+1
2018-10-26Make configure.py handle numeric arguments for `--set` a little better.Michael Woerister-1/+12
2018-10-26bootstrap: Allow for build libstd to have its own codegen-unit setting.Michael Woerister-4/+13
2018-10-26Auto merge of #53821 - oli-obk:sanity_query, r=RalfJungbors-1229/+1130
Report const eval error inside the query Functional changes: We no longer warn about bad constants embedded in unused types. This relied on being able to report just a warning, not a hard error on that case, which we cannot do any more now that error reporting is consistently centralized. r? @RalfJung fixes #53561
2018-10-26Rollup merge of #55258 - Aaron1011:fix/rustdoc-blanket, r=GuillaumeGomezkennytm-3/+87
Fix Rustdoc ICE when checking blanket impls Fixes #55001, #54744 Previously, SelectionContext would unconditionally cache the selection result for an obligation. This worked fine for most users of SelectionContext, but it caused an issue when used by Rustdoc's blanket impl finder. The issue occured when SelectionContext chose a ParamCandidate which contained inference variables. Since inference variables can change between calls to select(), it's not safe to cache the selection result - the chosen candidate might not be applicable for future results, leading to an ICE when we try to run confirmation. This commit prevents SelectionContext from caching any ParamCandidate that contains inference variables. This should always be completely safe, as trait selection should never depend on a particular result being cached. I've also added some extra debug!() statements, which I found helpful in tracking down this bug.
2018-10-26Rollup merge of #55167 - nnethercote:is_missing_ctors_empty, r=varkorkennytm-19/+66
Add a "cheap" mode for `compute_missing_ctors`. `compute_missing_ctors` produces a vector. It is called a lot, but the vector is almost always only checked for emptiness. This commit introduces a specialized variant of `compute_missing_ctors` (called `is_missing_ctors_empty`) that determines if the resulting set would be empty, and changes the callsite so that `compute_missing_ctors` is only called in the rare cases where it is needed. The code duplication is unfortunate but I can't see a better way to do it. This change reduces instruction counts for several benchmarks up to 2%. r? @varkor
2018-10-26Rollup merge of #54921 - GuillaumeGomez:line-numbers, r=QuietMisdreavuskennytm-14/+68
Add line numbers option to rustdoc Fixes #22878. r? @QuietMisdreavus
2018-10-26Rollup merge of #54824 - Munksgaard:fix-49713, r=QuietMisdreavuskennytm-13/+16
Cleanup rustdoc tests with `@!has` and `@!matches` Fixes #49713 Here's a _long_ list of all the places that include `@!has`. I have marked the ones I have looked at so far. - [x] search-index.rs: fn priv_method() {} // @!has - priv_method - [x] search-index.rs: fn trait_method(&self) {} // @!has - priv_method - [x] search-index.rs: // @!has search-index.js Target - [x] short-dockblock.rs:// @!has foo/index.html '//*[@class="docblock-short"]/p/h1' 'fooo' - [x] short-dockblock.rs:// @!has foo/index.html '//*[@class="docblock-short"]/p/h2' 'mooood' - [x] keyword.rs:// @!has foo/index.html '//a/@href' 'foo/index.html' - [x] keyword.rs:// @!has foo/foo/index.html - [x] keyword.rs:// @!has-dir foo/foo - [x] issue-46380-2.rs:// @!has - '//*[@class="impl"]' 'impl PublicTrait<PrivateStruct> for PublicStruct' - [x] escape-rust-expr.rs:// @!has escape_rust_expr/constant.CONST_S.html '//pre[@class="rust const"]' '"<script>"' - [x] issue-33069.rs:// @!has - '//code' 'impl Bar for Foo' - [x] playground-empty.rs:// @!has foo/index.html '//a[@class="test-arrow"]' "Run" - [x] issue-34473.rs:// @!has - SomeTypeWithLongName - [x] issue-34473.rs:// @!has - SomeTypeWithLongName - [x] issue-34473.rs:// @!has foo/struct.SomeTypeWithLongName.html - [x] issue-29584.rs:// @!has - 'impl Bar for' - [x] hidden-line.rs:// @!has hidden_line/fn.foo.html invisible - [x] manual_impl.rs:// @!has - '//*[@class="docblock"]' 'Docs associated with the trait a_method definition.' - [x] manual_impl.rs:// @!has - '//*[@class="docblock"]' 'There is another line' - [x] manual_impl.rs:// @!has - '//*[@class="docblock"]' 'Docs associated with the trait a_method definition.' - [x] manual_impl.rs:// @!has - '//*[@class="docblock"]' 'Docs associated with the trait c_method definition.' - [x] issue-19190-2.rs:// @!has - '//*[@id="method.new"]' 'fn new() -> String' - [x] unneeded-trait-implementations-title.rs:// @!has foo/struct.Bar.html '//*[@id="implementations"]' - [x] masked.rs:// @!has 'search-index.js' 'masked_method' - [x] masked.rs:// @!has 'foo/struct.String.html' 'MaskedTrait' - [x] masked.rs:// @!has 'foo/struct.String.html' 'masked_method' - [x] masked.rs:// @!has 'foo/trait.Clone.html' 'MaskedStruct' - [x] masked.rs:// @!has 'foo/struct.MyStruct.html' 'MaskedTrait' - [x] masked.rs:// @!has 'foo/struct.MyStruct.html' 'masked_method' - [x] masked.rs:// @!has 'foo/trait.MyTrait.html' 'MaskedStruct' - [x] redirect.rs:// @!has - '//code/a' 'Qux' - [x] issue-43701.rs:// @!has implementors/core/clone/trait.Clone.js - [x] union.rs: // @!has - //pre "b: u16" - [x] prim-title.rs:// @!has - '//head/title' 'foo' - [x] empty-section.rs:// @!has - '//*[@class="synthetic-implementations"]' 'Auto Trait Implementations' - [x] traits-in-bodies-private.rs:// @!has - '//code' 'impl HiddenTrait for SomeStruct' - [x] playground-none.rs:// @!has foo/index.html '//a[@class="test-arrow"]' "Run" - [x] issue-34025.rs:// @!has 'foo/sys/index.html' - [x] issue-34025.rs:// @!has 'foo/sys/sidebar-items.js' - [x] issue-34025.rs: // @!has 'foo/sys/fn.foo.html' - [x] issue-23812.rs:// @!has - '/// Outer comment' - [x] issue-23812.rs:// @!has - '//! Inner comment' - [x] issue-23812.rs:// @!has - '/** Outer block comment */' - [x] issue-23812.rs:// @!has - '/*! Inner block comment */' - [x] pub-use-extern-macros.rs:// @!has pub_use_extern_macros/index.html '//code' 'pub use macros::bar;' - [x] pub-use-extern-macros.rs:// @!has pub_use_extern_macros/index.html '//code' 'pub use macros::baz;' - [x] pub-use-extern-macros.rs:// @!has pub_use_extern_macros/macro.quux.html - [x] pub-use-extern-macros.rs:// @!has pub_use_extern_macros/index.html '//code' 'pub use macros::quux;' - [x] issue-26606.rs:// @!has - '//a/@href' '../src/' - [x] foreigntype-reexport.rs:// @!has foreigntype_reexport/foreigntype.X4.html - [x] foreigntype-reexport.rs:// @!has foreigntype_reexport/index.html '//a[@class="foreigntype"]' 'X4' - [x] issue-31899.rs:// @!has - 'rust rust-example-rendered' - [x] issue-31899.rs:// @!has - 'use ndarray::arr2' - [x] issue-31899.rs:// @!has - 'prohibited' - [x] hidden-trait-struct-impls.rs:// @!has foo/struct.Bar.html '//*[@id="impl-Foo"]' 'impl Foo for Bar' - [x] hidden-trait-struct-impls.rs:// @!has foo/struct.Bar.html '//*[@id="impl-Dark"]' 'impl Dark for Bar' - [x] hidden-trait-struct-impls.rs:// @!has foo/trait.Bam.html '//*[@id="implementors-list"]' 'impl Bam for Hidden' - [x] hidden-impls.rs:// @!has - 'Foo' - [x] hidden-impls.rs:// @!has - 'Foo' - [x] module-impls.rs:// @!has foo/index.html 'Implementations' - [x] issue-35169.rs:// @!has - '//*[@id="by_mut_ref.v"]' 'fn by_mut_ref(&mut self)' - [x] issue-35169.rs:// @!has - '//*[@id="method.by_mut_ref"]' 'fn by_mut_ref(&mut self)' - [x] issue-35169.rs:// @!has - '//*[@id="by_explicit_mut_ref.v"]' 'fn by_explicit_mut_ref(self: &mut Foo)' - [x] issue-35169.rs:// @!has - '//*[@id="method.by_explicit_mut_ref"]' 'fn by_explicit_mut_ref(self: &mut Foo)' - [x] issue-35169.rs:// @!has - '//*[@id="by_explicit_box.v"]' 'fn by_explicit_box(self: Box<Foo>)' - [x] issue-35169.rs:// @!has - '//*[@id="method.by_explicit_box"]' 'fn by_explicit_box(self: Box<Foo>)' - [x] issue-35169.rs:// @!has - '//*[@id="by_explicit_self_box.v"]' 'fn by_explicit_self_box(self: Box<Self>)' - [x] issue-35169.rs:// @!has - '//*[@id="method.by_explicit_self_box"]' 'fn by_explicit_self_box(self: Box<Self>)' - [x] issue-35169.rs:// @!has - '//*[@id="static_foo.v"]' 'fn static_foo()' - [x] issue-35169.rs:// @!has - '//*[@id="method.static_foo"]' 'fn static_foo()' - [x] extern-links.rs:// @!has foo/index.html '//a' 'extern_links' - [x] extern-links.rs:// @!has foo/index.html '//a' 'Foo' - [x] extern-links.rs: // @!has foo/hidden/extern_links/index.html - [x] extern-links.rs: // @!has foo/hidden/extern_links/struct.Foo.html - [x] issue-33178-1.rs:// @!has - //a/@title empty - [x] issue-33178-1.rs:// @!has - //a/@title variant_struct - [x] issue-47038.rs:// @!has - '//*[@id="macros"]' 'Macros' - [x] issue-47038.rs:// @!has - '//a/@href' 'macro.vec.html' - [x] issue-47038.rs:// @!has 'foo/macro.vec.html' - [x] issue-46766.rs:// @!has foo/index.html '//a/@href' './Enum/index.html' - [x] issue-32395.rs:// @!has - 'pub qux' - [x] issue-32395.rs:// @!has - 'pub Bar' - [x] issue-32395.rs:// @!has - 'pub qux' - [x] issue-32395.rs:// @!has - 'pub Bar' - [x] hidden-methods.rs:// @!has - 'Methods' - [x] hidden-methods.rs:// @!has - 'impl Foo' - [x] hidden-methods.rs:// @!has - 'this_should_be_hidden' - [x] hidden-methods.rs:// @!has - 'Methods' - [x] hidden-methods.rs:// @!has - 'impl Bar' - [x] hidden-methods.rs:// @!has - 'this_should_be_hidden' - [x] structfields.rs: // @!has - //pre "b: ()" - [x] structfields.rs: // @!has - //pre "c: usize" - [x] structfields.rs: // @!has - //pre "// some fields omitted" - [x] structfields.rs: // @!has - //pre "b: ()" - [x] issue-46767.rs:// @!has foo/index.html '//a/@href' './private/index.html' - [x] assoc-consts.rs: // @!has - FOO_HIDDEN - [x] assoc-consts.rs: // @!has - FOO_HIDDEN - [x] assoc-consts.rs: // @!has assoc_consts/struct.Bar.html 'BAR_PRIVATE' - [x] assoc-consts.rs: // @!has assoc_consts/struct.Bar.html 'BAR_HIDDEN' - [x] issue-53689.rs:// @!has - 'MyStruct' - [x] search-index-summaries.rs:// @!has - 'www.example.com' - [x] search-index-summaries.rs:// @!has - 'More Foo.' - [x] impl-everywhere.rs:// @!has foo/fn.foo.html '//section[@id="main"]//pre' "x: &\'x impl Foo" - [x] impl-everywhere.rs:// @!has foo/fn.foo.html '//section[@id="main"]//pre' "-> &\'x impl Foo {" - [x] impl-everywhere.rs:// @!has foo/fn.foo2.html '//section[@id="main"]//pre' "x: &\'x impl Foo" - [x] impl-everywhere.rs:// @!has foo/fn.foo2.html '//section[@id="main"]//pre' '-> impl Foo2 {' - [x] impl-everywhere.rs:// @!has foo/fn.foo_foo.html '//section[@id="main"]//pre' '-> impl Foo + Foo2 {' - [x] impl-everywhere.rs:// @!has foo/fn.foo2.html '//section[@id="main"]//pre' "x: &'x (impl Foo + Foo2)" - [x] issue-19190.rs:// @!has - '//*[@id="static_foo.v"]' 'fn static_foo()' - [x] issue-19190.rs:// @!has - '//*[@id="method.static_foo"]' 'fn static_foo()' - [x] deprecated-impls.rs: // @!has - 'fn_def_def_with_doc full' - [x] deprecated-impls.rs: // @!has - 'fn_empty_with_doc full' - [x] deprecated-impls.rs: // @!has - 'fn_def_with full' - [x] deprecated-impls.rs: // @!has - 'fn_def_def_with_doc full' - [x] issue-19190-3.rs:// @!has - '//*[@id="method.new"]' 'fn new() -> String' - [x] issue-19190-3.rs:// @!has - '//*[@id="method.static_baz"]' 'fn static_baz()' - [x] issue-19190-3.rs:// @!has - '//*[@id="method.static_baz"]' 'fn static_baz()' - [x] sidebar-items.rs:// @!has - '//*[@class="sidebar-links"]/a' 'waza' - [x] sidebar-items.rs:// @!has - '//*[@class="sidebar-links"]/a' 'waza' - [x] issue-27104.rs:// @!has - 'extern crate std' - [x] issue-27104.rs:// @!has - 'use std::prelude::' - [x] issue-13698.rs:// @!has issue_13698/struct.Foo.html '//*[@id="method.foo"]' 'fn foo' - [x] issue-13698.rs:// @!has issue_13698/struct.Foo.html '//*[@id="method.foo"]' 'fn bar' - [x] issue-41783.rs:// @!has - 'space' - [x] issue-41783.rs:// @!has - 'comment' - [x] trait-self-link.rs:// @!has trait_self_link/trait.Foo.html //a/@href ../trait_self_link/trait.Foo.html - [x] generic-impl.rs:// @!has foo/struct.Bar.html '//h3[@id="impl-ToString"]//code' 'impl<T> ToString for T' - [x] all.rs:// @!has foo/all.html 'private_module' - [x] issue-35169-2.rs:// @!has - '//*[@id="by_explicit_box.v"]' 'fn by_explicit_box(self: Box<Foo>)' - [x] issue-35169-2.rs:// @!has - '//*[@id="method.by_explicit_box"]' 'fn by_explicit_box(self: Box<Foo>)' - [x] issue-35169-2.rs:// @!has - '//*[@id="by_explicit_self_box.v"]' 'fn by_explicit_self_box(self: Box<Self>)' - [x] issue-35169-2.rs:// @!has - '//*[@id="method.by_explicit_self_box"]' 'fn by_explicit_self_box(self: Box<Self>)' - [x] issue-35169-2.rs:// @!has - '//*[@id="static_foo.v"]' 'fn static_foo()' - [x] issue-35169-2.rs:// @!has - '//*[@id="method.static_foo"]' 'fn static_foo()' - [x] doc-cfg.rs:// @!has - '//*[@id="main"]/*[@class="stability"]/*[@class="stab portability"]' '' - [x] inline_local/glob-private.rs:// @!has - "mod1" - [x] inline_local/glob-private.rs:// @!has - "Mod1Private" - [x] inline_local/glob-private.rs:// @!has - "mod2" - [x] inline_local/glob-private.rs:// @!has - "Mod2Private" - [x] inline_local/glob-private.rs:// @!has foo/struct.Mod1Private.html - [x] inline_local/glob-private.rs:// @!has foo/struct.Mod2Private.html - [x] inline_local/glob-private.rs:// @!has foo/mod1/index.html - [x] inline_local/glob-private.rs:// @!has foo/mod1/struct.Mod1Private.html - [x] inline_local/glob-private.rs:// @!has foo/mod1/struct.Mod2Public.html - [x] inline_local/glob-private.rs:// @!has foo/mod1/struct.Mod2Private.html - [x] inline_local/glob-private.rs:// @!has foo/mod1/mod2/index.html - [x] inline_local/glob-private.rs:// @!has foo/mod1/mod2/struct.Mod2Private.html - [x] inline_local/glob-private.rs:// @!has-dir foo/mod2 - [x] inline_local/glob-private.rs:// @!has foo/mod2/index.html - [x] inline_local/glob-private.rs:// @!has foo/mod2/struct.Mod2Public.html - [x] inline_local/glob-private.rs:// @!has foo/mod2/struct.Mod2Private.html - [x] inline_local/hidden-use.rs:// @!has - 'private' - [x] inline_local/hidden-use.rs:// @!has - 'Foo' - [x] inline_local/hidden-use.rs:// @!has hidden_use/struct.Foo.html - [x] inline_local/glob-extern-no-defaults.rs:// @!has - "private_fn" - [x] inline_local/glob-extern-no-defaults.rs:// @!has foo/fn.private_fn.html - [x] inline_local/issue-32343.rs:// @!has issue_32343/struct.Foo.html - [x] inline_local/issue-32343.rs:// @!has - '//code/a' 'Foo' - [x] inline_local/issue-32343.rs:// @!has issue_32343/struct.Bar.html - [x] inline_local/glob-private-no-defaults.rs:// @!has - "Mod1Private" - [x] inline_local/glob-private-no-defaults.rs:// @!has - "mod2" - [x] inline_local/glob-private-no-defaults.rs:// @!has - "Mod2Private" - [x] inline_local/glob-private-no-defaults.rs:// @!has foo/struct.Mod1Private.html - [x] inline_local/glob-private-no-defaults.rs:// @!has foo/struct.Mod2Private.html - [x] inline_local/glob-private-no-defaults.rs:// @!has - "Mod2Public" - [x] inline_local/glob-private-no-defaults.rs:// @!has - "Mod2Private" - [x] inline_local/glob-private-no-defaults.rs:// @!has foo/mod1/struct.Mod2Public.html - [x] inline_local/glob-private-no-defaults.rs:// @!has foo/mod1/struct.Mod2Private.html - [x] inline_local/glob-private-no-defaults.rs:// @!has foo/mod2/index.html - [x] inline_local/glob-private-no-defaults.rs:// @!has foo/mod2/struct.Mod2Public.html - [x] inline_local/glob-private-no-defaults.rs:// @!has foo/mod2/struct.Mod2Private.html - [x] inline_local/glob-extern.rs:// @!has - "mod1" - [x] inline_local/glob-extern.rs:// @!has - "private_fn" - [x] inline_local/glob-extern.rs:// @!has foo/fn.private_fn.html - [x] inline_local/glob-extern.rs:// @!has foo/mod1/index.html - [x] inline_local/glob-extern.rs:// @!has foo/mod1/fn.private_fn.html - [x] inline_local/please_inline.rs: // @!has - 'pub use foo::' - [x] inline_local/please_inline.rs: // @!has please_inline/b/struct.Foo.html - [x] inline_cross/hidden-use.rs:// @!has - 'rustdoc_hidden' - [x] inline_cross/hidden-use.rs:// @!has - 'Bar' - [x] inline_cross/hidden-use.rs:// @!has hidden_use/struct.Bar.html - [x] inline_cross/inline_hidden.rs:// @!has - '//a/@title' 'Foo' - [x] inline_cross/assoc-items.rs:// @!has - 'PrivateConst' - [x] inline_cross/assoc-items.rs:// @!has - 'private_method' - [x] inline_cross/cross-glob.rs:// @!has cross_glob/index.html '//code' 'pub use inner::*;' - [x] inline_cross/macro-vis.rs:// @!has - '//pre' 'some_macro' - [x] inline_cross/macro-vis.rs:// @!has macro_vis/macro.other_macro.html - [x] inline_cross/macro-vis.rs:// @!has macro_vis/index.html '//a/@href' 'macro.other_macro.html' - [x] inline_cross/macro-vis.rs:// @!has - '//code' 'pub use qwop::other_macro;' - [x] inline_cross/macro-vis.rs:// @!has macro_vis/macro.super_macro.html - [x] inline_cross/issue-31948.rs:// @!has - '//*[@class="impl"]//code' 'Bar for' - [x] inline_cross/issue-31948.rs:// @!has - '//*[@class="impl"]//code' 'Qux for' - [x] inline_cross/issue-31948.rs:// @!has - '//code' 'for Wibble' - [x] inline_cross/issue-31948.rs:// @!has - '//code' 'for Wobble' - [x] inline_cross/issue-31948.rs:// @!has - '//code' 'for Wibble' - [x] inline_cross/issue-31948.rs:// @!has - '//code' 'for Wobble' - [x] inline_cross/issue-31948.rs:// @!has issue_31948/trait.Bar.html - [x] inline_cross/issue-31948.rs:// @!has issue_31948/trait.Qux.html - [x] inline_cross/issue-31948.rs:// @!has issue_31948/struct.Wibble.html - [x] inline_cross/issue-31948.rs:// @!has issue_31948/struct.Wobble.html - [x] inline_cross/issue-31948-1.rs:// @!has - '//*[@class="impl"]//code' 'Bar for' - [x] inline_cross/issue-31948-1.rs:// @!has - '//*[@class="impl"]//code' 'Qux for' - [x] inline_cross/issue-31948-1.rs:// @!has - '//code' 'for Wibble' - [x] inline_cross/issue-31948-1.rs:// @!has - '//code' 'for Wibble' - [x] inline_cross/issue-31948-1.rs:// @!has issue_31948_1/trait.Bar.html - [x] inline_cross/issue-31948-1.rs:// @!has issue_31948_1/trait.Qux.html - [x] inline_cross/issue-28480.rs:// @!has - '//a/@title' 'Hidden' - [x] inline_cross/issue-28480.rs:// @!has - '//a/@title' 'Hidden' - [x] inline_cross/issue-31948-2.rs:// @!has - '//*[@class="impl"]//code' 'Bar for' - [x] inline_cross/issue-31948-2.rs:// @!has issue_31948_2/trait.Bar.html - [x] inline_cross/issue-31948-2.rs:// @!has issue_31948_2/trait.Woof.html - [x] inline_cross/issue-31948-2.rs:// @!has issue_31948_2/trait.Bark.html It doesn't look like `@!matches` is used anywhere.
2018-10-26Rollup merge of #54816 - oli-obk:double_promotion, r=alexregkennytm-3/+47
Don't try to promote already promoted out temporaries fixes #53201 r? @eddyb
2018-10-26validity: assert that unions are non-emptyRalf Jung-1/+5
2018-10-26Use `SmallVec` for the queue in `coerce_unsized`.Nicholas Nethercote-16/+20
This reduces the number of allocations done for the `tuple-stress` benchmark by 4%.
2018-10-26rustbuild: use configured linker to build boostrapMarc-Antoine Perennou-0/+3
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2018-10-26Extend the impl_stable_hash_for! macro for miri.Geoffry Song-76/+40
2018-10-26Typo fixes in configure_cmake commentsEddy Petrișor-2/+2
Signed-off-by: Eddy Petrișor <eddy.petrisor@gmail.com>
2018-10-26Remove redundant cloneShotaro Yamada-65/+56
2018-10-26Auto merge of #54145 - nrc:save-path-segments, r=petrochenkovbors-833/+725
Keep resolved defs in path prefixes and emit them in save-analysis Closes https://github.com/nrc/rls-analysis/issues/109 r? @eddyb or @petrochenkov
2018-10-26Shrink `Statement`.Nicholas Nethercote-6/+10
This commit reduces the size of `Statement` from 80 bytes to 56 bytes on 64-bit platforms, by boxing the `AscribeUserType` variant of `StatementKind`. This change reduces instruction counts on most benchmarks by 1--3%.
2018-10-26more reviewer changesNick Cameron-16/+8
2018-10-26Fix tests and assertions; add some commentsNick Cameron-187/+274
2018-10-26rebasing and reviewer changesNick Cameron-133/+157
Primarily refactoring `(Ident, Option<NodeId>)` to `Segment`
2018-10-26save-analysis: handle missing field namesNick Cameron-6/+7
FIxes https://github.com/rust-lang-nursery/rls/issues/1031
2018-10-26Fix tests and rustdocNick Cameron-24/+28
2018-10-26dump refs for path segments in save-analysisNick Cameron-20/+51
Requires adding path segments to the hir map
2018-10-26dump data for prefix path segmentsNick Cameron-131/+22
2018-10-26save-analysis: remove hacky, unnecessary code now that we have spans for ↵Nick Cameron-345/+124
every ident
2018-10-26Store a resolved def on hir::PathSegmentNick Cameron-111/+182
2018-10-26Give each PathSegment a NodeIdNick Cameron-7/+19
2018-10-25Auto merge of #54490 - wesleywiser:rewrite_it_in_mir, r=oli-obkbors-287/+240
Rewrite the `UnconditionalRecursion` lint to use MIR Part of #51002 r? @eddyb
2018-10-25Clear up nonpromotable const fn call qualificationOliver Scherer-5/+6
2018-10-25Grammar nitOliver Scherer-2/+2
2018-10-25List allowed tokens after macro fragmentsEsteban Küber-141/+385
2018-10-25Clarify exclusion comment furtherOliver Scherer-1/+2