about summary refs log tree commit diff
path: root/src/test
AgeCommit message (Collapse)AuthorLines
2018-10-26Auto merge of #55382 - kennytm:rollup, r=kennytmbors-177/+552
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 #55301 - estebank:macro-allowed, r=petrochenkovkennytm-97/+291
List allowed tokens after macro fragments Fix #34069.
2018-10-26Rollup merge of #55298 - estebank:macro-def, r=pnkfelixkennytm-37/+113
Point at macro definition when no rules expect token Fix #35150.
2018-10-26Rollup merge of #55292 - estebank:macro-eof, r=pnkfelixkennytm-30/+84
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-26Auto merge of #54626 - alexcrichton:dwarf-generics, r=michaelwoeristerbors-0/+41
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-26Auto merge of #53821 - oli-obk:sanity_query, r=RalfJungbors-794/+763
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-0/+31
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 #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-0/+17
Don't try to promote already promoted out temporaries fixes #53201 r? @eddyb
2018-10-26Auto merge of #54145 - nrc:save-path-segments, r=petrochenkovbors-152/+152
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-26Fix tests and assertions; add some commentsNick Cameron-134/+134
2018-10-26Fix tests and rustdocNick Cameron-24/+24
2018-10-25Auto merge of #54490 - wesleywiser:rewrite_it_in_mir, r=oli-obkbors-9/+72
Rewrite the `UnconditionalRecursion` lint to use MIR Part of #51002 r? @eddyb
2018-10-25List allowed tokens after macro fragmentsEsteban Küber-97/+291
2018-10-25Rebase falloutOliver Schneider-268/+64
2018-10-25add the lint back to the list, and fix testsRalf Jung-281/+73
2018-10-25fix ui tests (rebase fallout)Ralf Jung-3/+4
2018-10-25fix a test commentRalf Jung-1/+1
2018-10-25Addressed minor issues brought up in review.Alexander Regueiro-9/+6
2018-10-25Rebase fallout in ui outputOliver Schneider-24/+13
2018-10-25Update rustdoc testOliver Schneider-1/+1
2018-10-25More mono items are generated nowOliver Schneider-0/+5
2018-10-25update tests to changes on rustc masterOliver Schneider-57/+85
2018-10-25Deduplicate all the ~~things~~ errorsOliver Schneider-199/+112
2018-10-25Report const eval error inside the queryOliver Schneider-725/+1173
2018-10-25Auto merge of #55347 - pietroalbini:rollup, r=pietroalbinibors-78/+194
Rollup of 22 pull requests Successful merges: - #53507 (Add doc for impl From for Waker) - #53931 (Gradually expanding libstd's keyword documentation) - #54965 (update tcp stream documentation) - #54977 (Accept `Option<Box<$t:ty>>` in macro argument) - #55138 (in which unused-parens suggestions heed what the user actually wrote) - #55173 (Suggest appropriate syntax on missing lifetime specifier in return type) - #55200 (Documents `From` implementations for `Stdio`) - #55245 (submodules: update clippy from 5afdf8b7 to b1d03437) - #55247 (Clarified code example in char primitive doc) - #55251 (Fix a typo in the documentation of RangeInclusive) - #55253 (only issue "variant of the expected type" suggestion for enums) - #55254 (Correct trailing ellipsis in name_from_pat) - #55269 (fix typos in various places) - #55282 (Remove redundant clone) - #55285 (Do some copy editing on the release notes) - #55291 (Update stdsimd submodule) - #55296 (Set RUST_BACKTRACE=0 for rustdoc-ui/failed-doctest-output.rs) - #55306 (Regression test for #54478.) - #55328 (Fix doc for new copysign functions) - #55340 (Operands no longer appear in places) - #55345 (Remove is_null) - #55348 (Update RELEASES.md after destabilization of non_modrs_mods) Failed merges: r? @ghost
2018-10-25Rollup merge of #55306 - pnkfelix:issue-54478-regression-test-jemalloc-ctl, ↵Pietro Albini-0/+42
r=nikomatsakis Regression test for #54478. This is a regression test for #54478. I confirmed that it fails on: rustdoc 1.30.0-beta.12 (96a229824 2018-10-04) and passes on: rustdoc 1.31.0-nightly (f99911a4a 2018-10-23) Fix #54478
2018-10-25Rollup merge of #55296 - cuviper:rustdoc-ui-backtrace, r=nikomatsakisPietro Albini-9/+10
Set RUST_BACKTRACE=0 for rustdoc-ui/failed-doctest-output.rs This UI test is sensitive to backtrace output, so it should make sure that backtraces are not enabled by the environment.
2018-10-25Rollup merge of #55269 - matthiaskrgr:typos_oct, r=zackmdavisPietro Albini-35/+35
fix typos in various places
2018-10-25Rollup merge of #55253 - zackmdavis:some_suggestion, r=pnkfelixPietro Albini-1/+26
only issue "variant of the expected type" suggestion for enums This suggestion (introduced in pull-request #43178 / eac74104) was being issued for one-field-struct expected types (in which case it is misleading and outright wrong), even though it was only intended for one-field enum-variants (most notably, `Some`). Add a conditional to adhere to the original intent. (It would be possible to generalize to structs, but not obviously net desirable.) This adds a level of indentation, so the diff here is going to be easier to read in [ignore-whitespace mode](https://github.com/rust-lang/rust/commit/b0d3d3b9?w=1). Resolves #55250. r? @pnkfelix
2018-10-25Rollup merge of #55173 - estebank:suggest-static, r=oli-obkPietro Albini-26/+58
Suggest appropriate syntax on missing lifetime specifier in return type Suggest using `'static` when a lifetime is missing in the return type with a structured suggestion instead of a note. Fix #55170.
2018-10-25Rollup merge of #55138 - zackmdavis:the_paren_trap, r=pnkfelixPietro Albini-7/+7
in which unused-parens suggestions heed what the user actually wrote Aaron Hill pointed out that unnecessary parens around a macro call (paradigmatically, `format!`) yielded a suggestion of hideous macro-expanded code. `span_to_snippet` is fallable as far as the type system is concerned, so the pretty-printing can live on in the oft-neglected `else` branch. Resolves #55109.
2018-10-25Rollup merge of #54977 - estebank:macro-arg-parse, r=pnkfelixPietro Albini-0/+16
Accept `Option<Box<$t:ty>>` in macro argument Given the following code, compile successfuly: ``` macro_rules! test { ( fn fun() -> Option<Box<$t:ty>>; ) => { fn fun(x: $t) -> Option<Box<$t>> { Some(Box::new(x)) } } } test! { fn fun() -> Option<Box<i32>>; } ``` Fix #25274.
2018-10-25Auto merge of #55323 - nikomatsakis:nll-ICE-55219-and-55241, r=pnkfelixbors-17/+50
introduce type-op for user-type ascription in NLL Handle user-type ascription in a type operator, which gives us a lot more flexibility around the order in which we resolve things. r? @pnkfelix Fixes #55219 Fixes #55241
2018-10-24Fix incorrect semicolon suggestionEsteban Küber-3/+1
2018-10-24port the relate-types code from NLL type-check into a type-opNiko Matsakis-17/+50
Add regression tests for #55219 and #55241 Also another test where a duplicate-like error appears to have been suppressed; I'm not 100% sure why this output changes, though I could imagine that some duplicate suppression is enabled by this PR.
2018-10-24Point to macro def span instead of whole bodyEsteban Küber-178/+106
2018-10-24This is a regression test for #54478.Felix S. Klock II-0/+42
I confirmed that it fails on: rustdoc 1.30.0-beta.12 (96a229824 2018-10-04) and passes on: rustdoc 1.31.0-nightly (f99911a4a 2018-10-23)
2018-10-23Point at macro definition when no rules expect tokenEsteban Küber-69/+217
2018-10-23Set RUST_BACKTRACE=0 for rustdoc-ui/failed-doctest-output.rsJosh Stone-9/+10
This UI test is sensitive to backtrace output, so it should make sure that backtraces are not enabled by the environment.
2018-10-24Prohibit macro-expanded `extern crate` items shadowing crates passed with ↵Vadim Petrochenkov-3/+36
`--extern`
2018-10-24Feature gate extern prelude additions from `extern crate` itemsVadim Petrochenkov-3/+116
Fix rustdoc and fulldeps tests
2018-10-24Add `extern crate` items to extern preludeVadim Petrochenkov-4/+94
2018-10-23Auto merge of #55229 - nikomatsakis:issue-54692-closure-signatures, ↵bors-65/+161
r=MatthewJasper enforce user annotations in closure signatures Not *quite* ready yet but I'm opening anyway. Still have to finish running tests locally. Fixes #54692 Fixes #54124 r? @matthewjasper
2018-10-23Modify invalid macro in expression context diagnosticEsteban Küber-30/+71
2018-10-23Add macro call span when lacking any other span in diagnosticEsteban Küber-0/+15
2018-10-23check the self type is well-formedNiko Matsakis-7/+42
This fixes `issue-28848.rs` -- it also handles another case that the AST region checker gets wrong (`wf-self-type.rs`). I don't actually think that this is the *right way* to be enforcing this constraint -- I think we should probably do it more generally, perhaps by editing `predicates_of` for the impl itself. The chalk-style implied bounds setup ought to fix this.
2018-10-23fix typos in various placesMatthias Krüger-35/+35
2018-10-23Auto merge of #55281 - alexcrichton:revert-demote, r=petrochenkovbors-100/+0
Revert "rustc: Fix (again) simd vectors by-val in ABI" This reverts commit 3cc8f738d4247a9b475d8e074b621e602ac2b7be.
2018-10-23Auto merge of #55113 - mockersf:master, r=estebankbors-57/+439
#45829 when a renamed import conflict with a previous import Fix the suggestion when a renamed import conflict. It check if the snipped contains `" as "`, and if so uses everything before for the suggestion.