1. 12 5月, 2021 1 次提交
  2. 11 5月, 2021 20 次提交
    • B
      Auto merge of #80300 - LeSeulArtichaut:80275-doc-inline, r=Manishearth · fe62c6e2
      bors 提交于
      Emit errors/warns on some wrong uses of rustdoc attributes
      
      This PR adds a few diagnostics:
      - error if conflicting `#[doc(inline)]`/`#[doc(no_inline)]` are found
      - introduce the `invalid_doc_attributes` lint (warn-by-default) which triggers:
        - if a crate-level attribute is used on a non-`crate` item
        - if `#[doc(inline)]`/`#[doc(no_inline)]` is used on a non-`use` item
      
      The code could probably be improved but I wanted to get feedback first. Also, some of those changes could be considered breaking changes, so I don't know what the procedure would be? ~~And finally, for the warnings, they are currently hard warnings, maybe it would be better to introduce a lint?~~ (EDIT: introduced the `invalid_doc_attributes` lint)
      
      Closes #80275.
      r? `@jyn514`
      fe62c6e2
    • B
      Auto merge of #85165 - JohnTitor:rollup-ew1ls7x, r=JohnTitor · 455c5e06
      bors 提交于
      Rollup of 7 pull requests
      
      Successful merges:
      
       - #84777 (Apply `--cfg parallel_compiler` when documenting)
       - #84783 (Allow formatting specific subdirectories)
       - #84998 (Show nicer error when an 'unstable fingerprints' error occurs)
       - #85002 (RELEASES.md: Use broken_intra_doc_links as an example, not nightly lint)
       - #85051 (Allow checking miri and RLS with `x.py check src/tools/{miri,rls}`)
       - #85114 (Remove outdated FIXME for download-rustc)
       - #85143 (Document Rc::from)
      
      Failed merges:
      
      r? `@ghost`
      `@rustbot` modify labels: rollup
      455c5e06
    • Y
      Rollup merge of #85143 - fee1-dead:master, r=Mark-Simulacrum · 081dd99f
      Yuki Okushi 提交于
      Document Rc::from
      081dd99f
    • Y
      Rollup merge of #85114 - jyn514:download-fixme, r=Mark-Simulacrum · 06c76ea0
      Yuki Okushi 提交于
      Remove outdated FIXME for download-rustc
      
      https://github.com/rust-lang/rust/pull/82739 has been merged.
      06c76ea0
    • Y
      Rollup merge of #85051 - jyn514:check-miri, r=Mark-Simulacrum · d501042c
      Yuki Okushi 提交于
      Allow checking miri and RLS with `x.py check src/tools/{miri,rls}`
      
      Helps with https://github.com/rust-lang/rust/issues/80639.
      
      `@Xanewok` would you find this useful for RLS too?
      d501042c
    • Y
      Rollup merge of #85002 - jyn514:releases, r=Mark-Simulacrum · fd381134
      Yuki Okushi 提交于
      RELEASES.md: Use broken_intra_doc_links as an example, not nightly lint
      
      `non_autolinks` has since been renamed and also was unstable at the time
      this was written.
      fd381134
    • Y
      Rollup merge of #84998 - Aaron1011:pretty-unstable-fingerprint, r=Mark-Simulacrum · c65663a7
      Yuki Okushi 提交于
      Show nicer error when an 'unstable fingerprints' error occurs
      
      An example of the error produced by this PR:
      
      ```
      error: internal compiler error: encountered incremental compilation error with evaluate_obligation(9f2ad55260c30262-c36667639674ad83)
        |
        = help: This is a known issue with the compiler. Run `cargo clean -p syn` or `cargo clean` to allow your project to compile
        = note: Please follow the instructions below to create a bug report with the provided information
      
      thread 'rustc' panicked at 'Found unstable fingerprints for evaluate_obligation(9f2ad55260c30262-c36667639674ad83): Ok(EvaluatedToOk)', /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:595:9
      stack backtrace:
         0: rust_begin_unwind
                   at /home/aaron/repos/rust/library/std/src/panicking.rs:493:5
         1: std::panicking::begin_panic_fmt
                   at /home/aaron/repos/rust/library/std/src/panicking.rs:435:5
         2: rustc_query_system::query::plumbing::incremental_verify_ich
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:595:9
         3: rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:557:9
         4: rustc_query_system::query::plumbing::try_execute_query::{{closure}}::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:473:21
         5: core::option::Option<T>::map
                   at /home/aaron/repos/rust/library/core/src/option.rs:487:29
         6: rustc_query_system::query::plumbing::try_execute_query::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:471:13
         7: stacker::maybe_grow
                   at /home/aaron/.cargo/registry/src/github.com-1ecc6299db9ec823/stacker-0.1.12/src/lib.rs:55:9
         8: rustc_data_structures::stack::ensure_sufficient_stack
                   at /home/aaron/repos/rust/compiler/rustc_data_structures/src/stack.rs:16:5
         9: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::{{closure}}::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:169:17
        10: rustc_middle::ty::context::tls::enter_context::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1736:50
        11: rustc_middle::ty::context::tls::set_tlv
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1720:9
        12: rustc_middle::ty::context::tls::enter_context
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1736:9
        13: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:168:13
        14: rustc_middle::ty::context::tls::with_related_context::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1780:13
        15: rustc_middle::ty::context::tls::with_context::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1764:40
        16: rustc_middle::ty::context::tls::with_context_opt
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1753:22
        17: rustc_middle::ty::context::tls::with_context
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1764:9
        18: rustc_middle::ty::context::tls::with_related_context
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1777:9
        19: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query
                   at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:157:9
        20: rustc_query_system::query::plumbing::try_execute_query
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:469:22
        21: rustc_query_system::query::plumbing::get_query_impl
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:674:5
        22: rustc_query_system::query::plumbing::get_query
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:785:9
        23: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::evaluate_obligation
                   at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:603:17
        24: rustc_middle::ty::query::TyCtxtAt::evaluate_obligation
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/query/mod.rs:204:17
        25: rustc_middle::ty::query::<impl rustc_middle::ty::context::TyCtxt>::evaluate_obligation
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/query/mod.rs:185:17
        26: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation
                   at /home/aaron/repos/rust/compiler/rustc_trait_selection/src/traits/query/evaluate_obligation.rs:72:9
        27: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation_no_overflow
                   at /home/aaron/repos/rust/compiler/rustc_trait_selection/src/traits/query/evaluate_obligation.rs:82:15
        28: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::predicate_must_hold_modulo_regions
                   at /home/aaron/repos/rust/compiler/rustc_trait_selection/src/traits/query/evaluate_obligation.rs:58:9
        29: rustc_trait_selection::traits::type_known_to_meet_bound_modulo_regions
                   at /home/aaron/repos/rust/compiler/rustc_trait_selection/src/traits/mod.rs:146:18
        30: rustc_ty_utils::common_traits::is_item_raw::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_ty_utils/src/common_traits.rs:33:9
        31: rustc_infer::infer::InferCtxtBuilder::enter
                   at /home/aaron/repos/rust/compiler/rustc_infer/src/infer/mod.rs:582:9
        32: rustc_ty_utils::common_traits::is_item_raw
                   at /home/aaron/repos/rust/compiler/rustc_ty_utils/src/common_traits.rs:32:5
        33: rustc_query_system::query::config::QueryVtable<CTX,K,V>::compute
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/config.rs:44:9
        34: rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:544:67
        35: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::{{closure}}::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:77:46
        36: rustc_middle::ty::context::tls::enter_context::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1736:50
        37: rustc_middle::ty::context::tls::set_tlv
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1720:9
        38: rustc_middle::ty::context::tls::enter_context
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1736:9
        39: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:77:13
        40: rustc_middle::ty::context::tls::with_context::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1764:40
        41: rustc_middle::ty::context::tls::with_context_opt
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1753:22
        42: rustc_middle::ty::context::tls::with_context
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1764:9
        43: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:74:9
        44: rustc_query_system::dep_graph::graph::DepGraph<K>::with_ignore
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:167:9
        45: rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:544:22
        46: rustc_query_system::query::plumbing::try_execute_query::{{closure}}::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:473:21
        47: core::option::Option<T>::map
                   at /home/aaron/repos/rust/library/core/src/option.rs:487:29
        48: rustc_query_system::query::plumbing::try_execute_query::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:471:13
        49: stacker::maybe_grow
                   at /home/aaron/.cargo/registry/src/github.com-1ecc6299db9ec823/stacker-0.1.12/src/lib.rs:55:9
        50: rustc_data_structures::stack::ensure_sufficient_stack
                   at /home/aaron/repos/rust/compiler/rustc_data_structures/src/stack.rs:16:5
        51: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::{{closure}}::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:169:17
        52: rustc_middle::ty::context::tls::enter_context::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1736:50
        53: rustc_middle::ty::context::tls::set_tlv
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1720:9
        54: rustc_middle::ty::context::tls::enter_context
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1736:9
        55: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:168:13
        56: rustc_middle::ty::context::tls::with_related_context::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1780:13
        57: rustc_middle::ty::context::tls::with_context::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1764:40
        58: rustc_middle::ty::context::tls::with_context_opt
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1753:22
        59: rustc_middle::ty::context::tls::with_context
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1764:9
        60: rustc_middle::ty::context::tls::with_related_context
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1777:9
        61: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query
                   at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:157:9
        62: rustc_query_system::query::plumbing::try_execute_query
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:469:22
        63: rustc_query_system::query::plumbing::get_query_impl
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:674:5
        64: rustc_query_system::query::plumbing::get_query
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:785:9
        65: rustc_middle::ty::query::TyCtxtAt::is_unpin_raw
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/query/mod.rs:204:17
        66: rustc_middle::ty::util::<impl rustc_middle::ty::TyS>::is_unpin
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/util.rs:727:38
        67: rustc_middle::ty::layout::<impl rustc_target::abi::TyAndLayoutMethods<C> for &rustc_middle::ty::TyS>::pointee_info_at
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/layout.rs:2341:32
        68: rustc_target::abi::TyAndLayout<Ty>::pointee_info_at
                   at /home/aaron/repos/rust/compiler/rustc_target/src/abi/mod.rs:1164:9
        69: <rustc_target::abi::call::FnAbi<&rustc_middle::ty::TyS> as rustc_middle::ty::layout::FnAbiExt<C>>::new_internal::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/layout.rs:2781:36
        70: <rustc_target::abi::call::FnAbi<&rustc_middle::ty::TyS> as rustc_middle::ty::layout::FnAbiExt<C>>::new_internal::{{closure}}::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/layout.rs:2840:17
        71: rustc_target::abi::call::ArgAbi<Ty>::new
                   at /home/aaron/repos/rust/compiler/rustc_target/src/abi/call/mod.rs:457:53
        72: <rustc_target::abi::call::FnAbi<&rustc_middle::ty::TyS> as rustc_middle::ty::layout::FnAbiExt<C>>::new_internal::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/layout.rs:2838:27
        73: <rustc_target::abi::call::FnAbi<&rustc_middle::ty::TyS> as rustc_middle::ty::layout::FnAbiExt<C>>::new_internal::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/layout.rs:2870:32
        74: core::iter::adapters::map::map_fold::{{closure}}
                   at /home/aaron/repos/rust/library/core/src/iter/adapters/map.rs:82:28
        75: <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold::enumerate::{{closure}}
                   at /home/aaron/repos/rust/library/core/src/iter/adapters/enumerate.rs:104:27
        76: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
                   at /home/aaron/repos/rust/library/core/src/ops/function.rs:269:13
        77: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
                   at /home/aaron/repos/rust/library/core/src/ops/function.rs:269:13
        78: core::iter::adapters::map::map_fold::{{closure}}
                   at /home/aaron/repos/rust/library/core/src/iter/adapters/map.rs:82:21
        79: core::iter::traits::iterator::Iterator::fold
                   at /home/aaron/repos/rust/library/core/src/iter/traits/iterator.rs:2146:21
        80: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                   at /home/aaron/repos/rust/library/core/src/iter/adapters/map.rs:122:9
        81: <core::iter::adapters::cloned::Cloned<I> as core::iter::traits::iterator::Iterator>::fold
                   at /home/aaron/repos/rust/library/core/src/iter/adapters/cloned.rs:58:9
        82: <core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::fold
                   at /home/aaron/repos/rust/library/core/src/iter/adapters/chain.rs:119:19
        83: <core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::fold
                   at /home/aaron/repos/rust/library/core/src/iter/adapters/chain.rs:119:19
        84: <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::fold
                   at /home/aaron/repos/rust/library/core/src/iter/adapters/enumerate.rs:110:9
        85: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
                   at /home/aaron/repos/rust/library/core/src/iter/adapters/map.rs:122:9
        86: core::iter::traits::iterator::Iterator::for_each
                   at /home/aaron/repos/rust/library/core/src/iter/traits/iterator.rs:776:9
        87: <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend
                   at /home/aaron/repos/rust/library/alloc/src/vec/spec_extend.rs:40:17
        88: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
                   at /home/aaron/repos/rust/library/alloc/src/vec/spec_from_iter_nested.rs:56:9
        89: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
                   at /home/aaron/repos/rust/library/alloc/src/vec/spec_from_iter.rs:36:9
        90: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
                   at /home/aaron/repos/rust/library/alloc/src/vec/mod.rs:2448:9
        91: core::iter::traits::iterator::Iterator::collect
                   at /home/aaron/repos/rust/library/core/src/iter/traits/iterator.rs:1788:9
        92: <rustc_target::abi::call::FnAbi<&rustc_middle::ty::TyS> as rustc_middle::ty::layout::FnAbiExt<C>>::new_internal
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/layout.rs:2864:19
        93: <rustc_target::abi::call::FnAbi<&rustc_middle::ty::TyS> as rustc_middle::ty::layout::FnAbiExt<C>>::of_instance
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/layout.rs:2670:9
        94: rustc_codegen_llvm::mono_item::<impl rustc_codegen_ssa::traits::declare::PreDefineMethods for rustc_codegen_llvm::context::CodegenCx>::predefine_fn
                   at /home/aaron/repos/rust/compiler/rustc_codegen_llvm/src/mono_item.rs:57:22
        95: <rustc_middle::mir::mono::MonoItem as rustc_codegen_ssa::mono_item::MonoItemExt>::predefine
                   at /home/aaron/repos/rust/compiler/rustc_codegen_ssa/src/mono_item.rs:76:17
        96: rustc_codegen_llvm::base::compile_codegen_unit::module_codegen
                   at /home/aaron/repos/rust/compiler/rustc_codegen_llvm/src/base.rs:122:17
        97: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:235:62
        98: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::{{closure}}::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:77:46
        99: rustc_middle::ty::context::tls::enter_context::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1736:50
       100: rustc_middle::ty::context::tls::set_tlv
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1720:9
       101: rustc_middle::ty::context::tls::enter_context
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1736:9
       102: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:77:13
       103: rustc_middle::ty::context::tls::with_context::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1764:40
       104: rustc_middle::ty::context::tls::with_context_opt
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1753:22
       105: rustc_middle::ty::context::tls::with_context
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1764:9
       106: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:74:9
       107: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:235:26
       108: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task
                   at /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:205:9
       109: rustc_codegen_llvm::base::compile_codegen_unit
                   at /home/aaron/repos/rust/compiler/rustc_codegen_llvm/src/base.rs:103:9
       110: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::ExtraBackendMethods>::compile_codegen_unit
                   at /home/aaron/repos/rust/compiler/rustc_codegen_llvm/src/lib.rs:109:9
       111: rustc_codegen_ssa::base::codegen_crate
                   at /home/aaron/repos/rust/compiler/rustc_codegen_ssa/src/base.rs:655:38
       112: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
                   at /home/aaron/repos/rust/compiler/rustc_codegen_llvm/src/lib.rs:270:18
       113: rustc_interface::passes::start_codegen::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/passes.rs:1021:9
       114: rustc_data_structures::profiling::VerboseTimingGuard::run
                   at /home/aaron/repos/rust/compiler/rustc_data_structures/src/profiling.rs:573:9
       115: rustc_session::utils::<impl rustc_session::session::Session>::time
                   at /home/aaron/repos/rust/compiler/rustc_session/src/utils.rs:16:9
       116: rustc_interface::passes::start_codegen
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/passes.rs:1020:19
       117: rustc_interface::queries::Queries::ongoing_codegen::{{closure}}::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/queries.rs:296:20
       118: rustc_interface::passes::QueryContext::enter::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/passes.rs:755:42
       119: rustc_middle::ty::context::tls::enter_context::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1736:50
       120: rustc_middle::ty::context::tls::set_tlv
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1720:9
       121: rustc_middle::ty::context::tls::enter_context
                   at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1736:9
       122: rustc_interface::passes::QueryContext::enter
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/passes.rs:755:9
       123: rustc_interface::queries::Queries::ongoing_codegen::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/queries.rs:287:13
       124: rustc_interface::queries::Query<T>::compute
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/queries.rs:40:28
       125: rustc_interface::queries::Queries::ongoing_codegen
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/queries.rs:285:9
       126: rustc_driver::run_compiler::{{closure}}::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_driver/src/lib.rs:442:13
       127: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/queries.rs:428:19
       128: rustc_driver::run_compiler::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_driver/src/lib.rs:337:22
       129: rustc_interface::interface::create_compiler_and_run::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/interface.rs:208:13
       130: rustc_span::with_source_map
                   at /home/aaron/repos/rust/compiler/rustc_span/src/lib.rs:788:5
       131: rustc_interface::interface::create_compiler_and_run
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/interface.rs:202:5
       132: rustc_interface::interface::run_compiler::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/interface.rs:224:12
       133: rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals::{{closure}}::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/util.rs:155:13
       134: scoped_tls::ScopedKey<T>::set
                   at /home/aaron/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137:9
       135: rustc_span::with_session_globals
                   at /home/aaron/repos/rust/compiler/rustc_span/src/lib.rs:105:5
       136: rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/util.rs:153:9
       137: rustc_interface::util::scoped_thread::{{closure}}
                   at /home/aaron/repos/rust/compiler/rustc_interface/src/util.rs:128:24
      note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
      
      error: internal compiler error: unexpected panic
      
      note: the compiler unexpectedly panicked. this is a bug.
      
      note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
      
      note: rustc 1.54.0-dev running on x86_64-unknown-linux-gnu
      
      note: compiler flags: -C opt-level=3 -C embed-bitcode=no -C incremental --crate-type lib
      
      note: some of the compiler flags provided by cargo are hidden
      
      query stack during panic:
      #0 [evaluate_obligation] evaluating trait selection obligation `quote::Tokens: std::marker::Unpin`
      #1 [is_unpin_raw] computing whether `quote::Tokens` is `Unpin`
      end of query stack
      error: aborting due to previous error
      
      error: could not compile `syn`
      
      To learn more, run the command again with --verbose.
      ```
      
      I've left in the panic and ICE following the pretty error, so that we still have all of the debug information available in a bug report.
      
      This message can be reproduced by cloning the repository `https://github.com/Aaron1011/syn-crash`, and running the following shell script (with a `rustup override` set in the directory):
      
      ```
      set -xe
      cargo clean -p syn
      cargo clean --release -p syn
      
      git checkout minimize
      cargo build --release -j 1
      
      git checkout minimize-change
      cargo build --release -j 1
      ```
      
      r? ``@Mark-Simulacrum``
      c65663a7
    • Y
      Rollup merge of #84783 - jyn514:fmt-one, r=Mark-Simulacrum · 7e827e93
      Yuki Okushi 提交于
      Allow formatting specific subdirectories
      
      Fixes https://github.com/rust-lang/rust/issues/71094.
      7e827e93
    • Y
      Rollup merge of #84777 - jyn514:rustdoc-parallel, r=Mark-Simulacrum · 5fc89878
      Yuki Okushi 提交于
      Apply `--cfg parallel_compiler` when documenting
      
      This also reverts commit 9823c2cc working around the bug.
      
      Fixes https://github.com/rust-lang/rust/issues/82301.
      5fc89878
    • B
      Auto merge of #85012 - FabianWolff:struct-rec, r=davidtwco · d4d129d5
      bors 提交于
      Fix stack overflow when checking for structural recursion
      
      This pull request aims to fix #74224 and fix #84611. The current logic for detecting ADTs with structural recursion is flawed because it only looks at the root type, and then for exact matches. What I mean by this is that for examples such as:
      ```rust
      struct A<T> {
          x: T,
          y: A<A<T>>,
      }
      
      struct B {
          z: A<usize>
      }
      
      fn main() {}
      ```
      When checking `A`, the compiler correctly determines that it has an infinite size (because the "root" type is `A`, and `A` occurs, albeit with different type arguments, as a nested type in `A`).
      
      However, when checking `B`, it also recurses into `A`, but now `B` is the root type, and it only checks for _exact_ matches of `A`, but since `A` never precisely contains itself (only `A<A<T>>`, `A<A<A<T>>>`, etc.), an endless recursion ensues until the stack overflows.
      
      In this PR, I have attempted to fix this behavior by implementing a two-phase checking: When checking `B`, my code first checks `A` _separately_ and stops if `A` already turns out to be infinite. If not (such as for `Option<T>`), the second phase checks whether the root type (`B`) is ever nested inside itself, e.g.:
      ```rust
      struct Foo { x: Option<Option<Foo>> }
      ```
      
      Special care needs to be taken for mutually recursive types, e.g.:
      ```rust
      struct A<T> {
          z: T,
          x: B<T>,
      }
      
      struct B<T> {
          y: A<T>
      }
      ```
      Here, both `A` and `B` both _are_ `SelfRecursive` and _contain_ a recursive type. The current behavior, which I have maintained, is to treat both `A` and `B` as `SelfRecursive`, and accordingly report errors for both.
      d4d129d5
    • L
      Remove an invalid `#[doc(inline)]` · 804ab9f7
      LeSeulArtichaut 提交于
      804ab9f7
    • A
      a4c07935
    • B
      Auto merge of #84677 - CDirkx:pal, r=Mark-Simulacrum · 79e50bf7
      bors 提交于
      Fix `tidy` platform-specific code check
      
      I noticed new platform-specific code was introduced outside of `std::sys` ([example](https://github.com/rust-lang/rust/blob/master/library/std/src/thread/available_concurrency.rs)), which should have been checked against by `tidy`. Apparently there are 2 problems with the current check implementation:
      
      - It ignores everything after encountering "mod tests", which is often at the very top of a file.
      - There was a bug where when checking the byte immediately before a found string, the first byte of the file was checked instead.
      
      I fixed the bug and made excluding tests a bit more robust by instead adding the following rules:
      - Files with a path containing either `tests` or `benches` are excluded.
      - A `cfg(...)` containing `test` is excluded.
      
      (Tests are excluded because almost all tests have something like `#[cfg(not(target_os = "emscripten"))]` somewhere.)
      
      The fixed check found some more cases of platform-specific code; for now I have explicitly excluded them and added a FIXME stating that the platform-specific code must be moved to `sys`.
      79e50bf7
    • B
      Auto merge of #85156 - GuillaumeGomez:rollup-8u4h34g, r=GuillaumeGomez · 6fd7a6dc
      bors 提交于
      Rollup of 4 pull requests
      
      Successful merges:
      
       - #84465 (rustdoc: Implement `is_primitive` in terms of `primitive_type()`)
       - #85118 (Use an SVG image for clipboard instead of unicode character)
       - #85148 (Fix source code line number display and make it clickable again)
       - #85152 (Adjust target search algorithm for rustlib path)
      
      Failed merges:
      
      r? `@ghost`
      `@rustbot` modify labels: rollup
      6fd7a6dc
    • G
      Rollup merge of #85152 - nagisa:target-search-rustlib, r=Mark-Simulacrum · 6ec1de7d
      Guillaume Gomez 提交于
      Adjust target search algorithm for rustlib path
      
      With this the concerns expressed in #83800 should be addressed.
      
      r? `@Mark-Simulacrum`
      6ec1de7d
    • G
      Rollup merge of #85148 - GuillaumeGomez:source-code-line-number, r=jsha · 3962541d
      Guillaume Gomez 提交于
      Fix source code line number display and make it clickable again
      
      Fixes https://github.com/rust-lang/rust/issues/85119.
      
      I used the same logic we're using for other codeblocks: putting the line number `<span>`s into the `example-wrap` directly and then add `display: inline-flex` on `example-wrap`.
      
      r? `@jsha`
      3962541d
    • G
      Rollup merge of #85118 - GuillaumeGomez:clipboard-svg, r=Nemo157 · c7e7de40
      Guillaume Gomez 提交于
      Use an SVG image for clipboard instead of unicode character
      
      Linked to https://github.com/rust-lang/docs.rs/pull/1394.
      
      cc `@jsha`
      r? `@Nemo157`
      c7e7de40
    • G
      Rollup merge of #84465 - jyn514:primitive, r=GuillaumeGomez · 205a0d3a
      Guillaume Gomez 提交于
      rustdoc: Implement `is_primitive` in terms of `primitive_type()`
      
      Previously, they disagreed about what types were primitives.
      
      r? `@GuillaumeGomez`
      205a0d3a
    • L
      Add documentation · 6e8d0dbe
      LeSeulArtichaut 提交于
      6e8d0dbe
    • S
      Adjust target search algorithm for rustlib path · b7c5599d
      Simonas Kazlauskas 提交于
      With this the concerns expressed in #83800 should be addressed.
      b7c5599d
  3. 10 5月, 2021 19 次提交