kennytm
46f504543d
Rollup merge of #55258 - Aaron1011:fix/rustdoc-blanket, r=GuillaumeGomez
...
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-26 18:24:59 +08:00
kennytm
d83376c705
Rollup merge of #55167 - nnethercote:is_missing_ctors_empty, r=varkor
...
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-26 18:24:58 +08:00
kennytm
4212896dca
Rollup merge of #54921 - GuillaumeGomez:line-numbers, r=QuietMisdreavus
...
Add line numbers option to rustdoc
Fixes #22878 .
r? @QuietMisdreavus
2018-10-26 18:24:57 +08:00
kennytm
a57ce63a91
Rollup merge of #54824 - Munksgaard:fix-49713, r=QuietMisdreavus
...
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-26 18:24:55 +08:00
kennytm
68d5fddeef
Rollup merge of #54816 - oli-obk:double_promotion, r=alexreg
...
Don't try to promote already promoted out temporaries
fixes #53201
r? @eddyb
2018-10-26 18:24:54 +08:00
Ralf Jung
6b980462c6
validity: assert that unions are non-empty
2018-10-26 11:08:24 +02:00
Nicholas Nethercote
526dc1421b
Use SmallVec
for the queue in coerce_unsized
.
...
This reduces the number of allocations done for the `tuple-stress`
benchmark by 4%.
2018-10-26 19:33:51 +11:00
Marc-Antoine Perennou
bc87c71d86
rustbuild: use configured linker to build boostrap
...
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2018-10-26 10:18:48 +02:00
Geoffry Song
4747d83c70
Extend the impl_stable_hash_for! macro for miri.
2018-10-26 01:07:10 -07:00
Eddy Petrișor
ea0c165429
Typo fixes in configure_cmake comments
...
Signed-off-by: Eddy Petrișor <eddy.petrisor@gmail.com>
2018-10-26 08:54:57 +03:00
Shotaro Yamada
3878d24ef6
Remove redundant clone
2018-10-26 12:07:39 +09:00
bors
82239b04dc
Auto merge of #55362 - ehuss:releases-cargo-new-edition, r=Mark-Simulacrum
...
Remove `cargo new --edition` from release notes.
This was removed at the last minute (#55315 , https://github.com/rust-lang/cargo/pull/6216 ).
Apologies for not catching this.
2018-10-26 02:58:28 +00:00
Esteban Küber
a7fbf93f0f
Update mailmap for estebank
2018-10-25 17:10:34 -07:00
bors
7b0735a832
Auto merge of #54145 - nrc:save-path-segments, r=petrochenkov
...
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-26 00:04:29 +00:00
Nicholas Nethercote
38d9277a77
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-26 08:25:47 +11:00
Eric Huss
19c4e36486
Remove cargo new --edition
from release notes.
2018-10-25 13:57:56 -07:00
Nick Cameron
6dd5bb18d7
more reviewer changes
2018-10-26 09:50:51 +13:00
Nick Cameron
63ac2aae51
Fix tests and assertions; add some comments
2018-10-26 09:50:51 +13:00
Nick Cameron
59cb1705d7
rebasing and reviewer changes
...
Primarily refactoring `(Ident, Option<NodeId>)` to `Segment`
2018-10-26 09:50:51 +13:00
Nick Cameron
8ac3272610
save-analysis: handle missing field names
...
FIxes https://github.com/rust-lang-nursery/rls/issues/1031
2018-10-26 09:48:44 +13:00
Nick Cameron
cdcbdfdf0a
Fix tests and rustdoc
2018-10-26 09:48:44 +13:00
Nick Cameron
c480386391
dump refs for path segments in save-analysis
...
Requires adding path segments to the hir map
2018-10-26 09:48:44 +13:00
Nick Cameron
609d0bd8ac
dump data for prefix path segments
2018-10-26 09:48:44 +13:00
Nick Cameron
c2bb7cadf2
save-analysis: remove hacky, unnecessary code now that we have spans for every ident
2018-10-26 09:48:44 +13:00
Nick Cameron
b49da276b3
Store a resolved def on hir::PathSegment
2018-10-26 09:48:44 +13:00
Nick Cameron
fc67d8fac4
Give each PathSegment a NodeId
2018-10-26 09:48:44 +13:00
bors
4bd4e4130e
Auto merge of #54490 - wesleywiser:rewrite_it_in_mir, r=oli-obk
...
Rewrite the `UnconditionalRecursion` lint to use MIR
Part of #51002
r? @eddyb
2018-10-25 20:40:31 +00:00
Oliver Scherer
fd77500ed1
Clear up nonpromotable const fn call qualification
2018-10-25 21:18:22 +02:00
Oliver Scherer
ee7f4a27d3
Grammar nit
2018-10-25 21:14:25 +02:00
Esteban Küber
2cfd790177
List allowed tokens after macro fragments
2018-10-25 11:08:58 -07:00
Oliver Scherer
f4fe9b0a09
Clarify exclusion comment further
2018-10-25 19:39:01 +02:00
Oliver Scherer
4dc028743d
Explain why we can encounter a Goto
terminator that we want to promote
2018-10-25 19:37:07 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
f7629eff32
Explain a comment in more detail
2018-10-25 18:28:14 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
13d94ee115
Explain how unused constants may still cause a hard error
2018-10-25 17:20:39 +02:00
Oliver Schneider
1c5ff292fc
Rebase fallout
2018-10-25 17:20:39 +02:00
Ralf Jung
d2e682afed
preserve const eval error information through trait error system
2018-10-25 16:48:15 +02:00
Ralf Jung
7ed7fc881e
add the lint back to the list, and fix tests
2018-10-25 16:48:15 +02:00
Ralf Jung
94586bc133
fix ui tests (rebase fallout)
2018-10-25 16:48:15 +02:00
Ralf Jung
b81302f42d
for now, just use NULL ptr for unsized locals
2018-10-25 16:48:15 +02:00
Ralf Jung
7717a63182
fix a test comment
2018-10-25 16:47:35 +02:00
Alexander Regueiro
7c34f2da57
Addressed minor issues brought up in review.
2018-10-25 16:47:35 +02:00
Oliver Schneider
bf8471aeda
Rebase fallout in ui output
2018-10-25 16:47:35 +02:00
Oliver Schneider
f4a3e50d78
Update rustdoc test
2018-10-25 16:47:35 +02:00
Oliver Schneider
528c72371c
More mono items are generated now
2018-10-25 16:47:35 +02:00
Oliver Schneider
6a6b3309e6
update tests to changes on rustc master
2018-10-25 16:47:35 +02:00
Oliver Schneider
e6f7f4af50
Document error/lint cases in const eval
2018-10-25 16:47:35 +02:00
Oliver Schneider
d736197bc2
Explain the Reveal::UserFacing
deduplication trick
2018-10-25 16:47:35 +02:00
Oliver Schneider
b4ee38ede3
Don't extend hir::Def
when there's already a dedicated "function-like" detector
2018-10-25 16:47:35 +02:00
Oliver Schneider
73e2b4662d
Prepare miri for unsized locals
2018-10-25 16:47:35 +02:00
Oliver Schneider
0f97048618
Deduplicate all the ~~things~~ errors
2018-10-25 16:47:35 +02:00