about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2020-08-06copy over *.fixed fileRyan1729-0/+77
2020-08-06Apply suggestions from code reviewRyan Wiedemann-2/+3
Co-authored-by: Philipp Krones <hello@philkrones.com>
2020-08-06run clippy_dev fmtRyan1729-22/+12
This seemed to overdo it a bit, affecting multiple submodules, and changing a file I didn't touch, so I didn't commit those changes
2020-08-06run clippy_dev update_lintsRyan1729-4/+4
2020-08-06run ./x.py fmtRyan1729-1/+1
2020-08-06add newline to transmutes_expressible_as_ptr_casts.rsRyan1729-1/+1
2020-08-06change filter to assert, and update commentsRyan1729-7/+13
2020-08-06add extra error message to the expected stderr for ↵Ryan1729-1/+7
transmutes_expressible_as_ptr_casts test
2020-08-06add documentation to functions that call `do_check` and add a test against ↵Ryan1729-2/+19
lint ordering changing
2020-08-06add description to assertRyan1729-1/+4
2020-08-06address some review commentsRyan1729-6/+3
2020-08-06get the expected number of errors by acknowledging that other lints are ↵Ryan1729-45/+100
covering the same ground
2020-08-06try putting the can_be_expressed_as_pointer_cast at the top and find that we ↵Ryan1729-21/+25
still get an ICE
2020-08-06accidentally cause an ICE by putting the TRANSMUTES_EXPRESSIBLE_AS_PTR_CASTS ↵Ryan1729-15/+19
handling after the match The reason I did this in the first place was to try and figure out why I don't see my expected 7 error messages
2020-08-06write currently failing test for transmutes_expressible_as_ptr_castsRyan1729-1/+54
There are 5 errors, when there should be 7.
2020-08-06initial compiling version of TRANSMUTES_EXPRESSIBLE_AS_PTR_CASTSRyan1729-2/+72
2020-08-06make InheritedBuilder::enter publicRyan1729-1/+1
2020-08-06run cargo dev new_lint then move transmutes_expressible_as_ptr_casts into ↵Ryan1729-0/+39
transmute module
2020-08-06make parts of rustc_typeck publicRyan1729-5/+5
2020-08-03Auto merge of #74969 - nnethercote:rm-GCX_PTR, r=Mark-Simulacrumbors-79/+36
Remove `GCX_PTR`. We store an `ImplicitCtxt` pointer in a thread-local value (TLV). This allows implicit access to a `GlobalCtxt` and some other things. We also store a `GlobalCtxt` pointer in `GCX_PTR`. This is always the same `GlobalCtxt` as the one within the `ImplicitCtxt` pointer in TLV. `GCX_PTR` is only used in the parallel compiler's `handle_deadlock()` function. This commit does the following. - It removes `GCX_PTR`. - It also adds `ImplicitCtxt::new()`, which constructs an `ImplicitCtxt` from a `GlobalCtxt`. `ImplicitCtxt::new()` + `tls::enter_context()` is now equivalent to the old `tls::enter_global()`. - Makes `tls::get_tlv()` public for the parallel compiler, because it's now used in `handle_deadlock()`. r? @petrochenkov
2020-08-02Auto merge of #74948 - lzutao:stalize-result-as-deref, r=dtolnaybors-192/+14
Stabilize `Result::as_deref` and `as_deref_mut` FCP completed in https://github.com/rust-lang/rust/issues/50264#issuecomment-645681400. This PR stabilizes two new APIs for `std::result::Result`: ```rust fn as_deref(&self) -> Result<&T::Target, &E> where T: Deref; fn as_deref_mut(&mut self) -> Result<&mut T::Target, &mut E> where T: DerefMut; ``` This PR also removes two rarely used unstable APIs from `Result`: ```rust fn as_deref_err(&self) -> Result<&T, &E::Target> where E: Deref; fn as_deref_mut_err(&mut self) -> Result<&mut T, &mut E::Target> where E: DerefMut; ``` Closes #50264
2020-08-03Use more appropriate `tls::with_*` methods in some places.Nicholas Nethercote-8/+7
2020-08-03Remove `GCX_PTR`.Nicholas Nethercote-75/+33
We store an `ImplicitCtxt` pointer in a thread-local value (TLV). This allows implicit access to a `GlobalCtxt` and some other things. We also store a `GlobalCtxt` pointer in `GCX_PTR`. This is always the same `GlobalCtxt` as the one within the `ImplicitCtxt` pointer in TLV. `GCX_PTR` is only used in the parallel compiler's `handle_deadlock()` function. This commit does the following. - It removes `GCX_PTR`. - It also adds `ImplicitCtxt::new()`, which constructs an `ImplicitCtxt` from a `GlobalCtxt`. `ImplicitCtxt::new()` + `tls::enter_context()` is now equivalent to the old `tls::enter_global()`. - Makes `tls::get_tlv()` public for the parallel compiler, because it's now used in `handle_deadlock()`.
2020-08-02Auto merge of #75070 - Manishearth:rollup-2kgcaw5, r=Manishearthbors-55/+190
Rollup of 5 pull requests Successful merges: - #74980 (pprust: adjust mixed comment printing and add regression test for #74745) - #75009 (Document the discrepancy in the mask type for _mm_shuffle_ps) - #75031 (Do not trigger `unused_{braces,parens}` lints with `yield`) - #75059 (fix typos) - #75064 (compiletest: Support ignoring tests requiring missing LLVM components) Failed merges: r? @ghost
2020-08-02Rollup merge of #75064 - petrochenkov:llvmtarg, r=Mark-SimulacrumManish Goregaokar-17/+45
compiletest: Support ignoring tests requiring missing LLVM components This PR implements a more principled solution to the problem described in https://github.com/rust-lang/rust/pull/66084. Builds of LLVM backends take a lot of time and disk space. So it usually makes sense to build rustc with ```toml [llvm] targets = "X86" experimental-targets = "" ``` unless you are working on some target-specific tasks. A few tests, however, require non-x86 backends to be built. A new test directive `// needs-llvm-components: component1 component2 component3` makes such tests to be automatically ignored if one of the listed components is missing in the provided LLVM (this is determined through `llvm-config --components`). As a result, the test suite now fully passes with LLVM built only with the x86 backend. The component list in this case is ``` aggressiveinstcombine all all-targets analysis asmparser asmprinter binaryformat bitreader bitstreamreader bitwriter cfguard codegen core coroutines coverage debuginfocodeview debuginfodwarf debuginfogsym debuginfomsf debuginfopdb demangle dlltooldriver dwarflinker engine executionengine frontendopenmp fuzzmutate globalisel instcombine instrumentation interpreter ipo irreader jitlink libdriver lineeditor linker lto mc mca mcdisassembler mcjit mcparser mirparser native nativecodegen objcarcopts object objectyaml option orcerror orcjit passes profiledata remarks runtimedyld scalaropts selectiondag support symbolize tablegen target textapi transformutils vectorize windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info x86utils xray ``` (With the default target list it's much larger.) ``` aarch64 aarch64asmparser aarch64codegen aarch64desc aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all all-targets analysis arm armasmparser armcodegen armdesc armdisassembler arminfo armutils asmparser asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler avrinfo binaryformat bitreader bitstreamreader bitwriter cfguard codegen core coroutines coverage debuginfocodeview debuginfodwarf debuginfogsym debuginfomsf debuginfopdb demangle dlltooldriver dwarflinker engine executionengine frontendopenmp fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation interpreter ipo irreader jitlink libdriver lineeditor linker lto mc mca mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen msp430desc msp430disassembler msp430info native nativecodegen nvptx nvptxcodegen nvptxdesc nvptxinfo objcarcopts object objectyaml option orcerror orcjit passes powerpc powerpcasmparser powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen riscvdesc riscvdisassembler riscvinfo riscvutils runtimedyld scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdesc sparcdisassembler sparcinfo support symbolize systemz systemzasmparser systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen target textapi transformutils vectorize webassembly webassemblyasmparser webassemblycodegen webassemblydesc webassemblydisassembler webassemblyinfo windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info x86utils xray ``` https://github.com/rust-lang/rust/pull/66084 is also reverted now. r? @Mark-Simulacrum
2020-08-02Rollup merge of #75059 - shengsheng:typos, r=Dylan-DPCManish Goregaokar-25/+25
fix typos Fix common misspellings with https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines
2020-08-02Rollup merge of #75031 - JohnTitor:unused-parens-braces-yield, r=lcnrManish Goregaokar-1/+96
Do not trigger `unused_{braces,parens}` lints with `yield` Fixes #74883 r? @lcnr
2020-08-02Rollup merge of #75009 - georgio:master, r=kennytmManish Goregaokar-0/+0
Document the discrepancy in the mask type for _mm_shuffle_ps This Pull Request updates the `stdarch` submodule in order to resolve #62490
2020-08-02Rollup merge of #74980 - davidtwco:issue-74745-pprust-regression-test, ↵Manish Goregaokar-12/+24
r=petrochenkov pprust: adjust mixed comment printing and add regression test for #74745 Fixes #74745. This PR adds a regression test for #74745. While a `ignore-tidy-trailing-lines` header is required, this doesn't stop the test from reproducing, so long as there is no newline at the end of the file. However, adding the header comments made the test fail due to a bug in pprust - so this PR also adjusts the pretty printing of mixed comments so that the initial zero-break isn't emitted at the beginning of the line. Through this, the `block-comment-wchar` test can have the `pp-exact` file removed, as it no longer converges from pretty printing of the source.
2020-08-02Auto merge of #74826 - matklad:mbe-fragment, r=petrochenkovbors-339/+319
Introduce NonterminalKind for more type-safe mbe parsing It encapsulate the (part of) the interface between the parser and macro by example (macro_rules) parser. The second bit is somewhat more general `parse_ast_fragment`, which is the reason why we keep some `parse_xxx` functions as public.
2020-08-02Auto merge of #74963 - JohnTitor:ptn-ice, r=petrochenkovbors-56/+146
Fix ICEs with `@ ..` binding This reverts #74557 and introduces an alternative fix while ensuring that #74954 is not broken. The diagnostics are verbose though, it fixes three related issues. cc #74954, #74539, and #74702
2020-08-02compiletest: Support ignoring tests requiring missing LLVM componentsVadim Petrochenkov-17/+45
2020-08-03Recover strictness for `yield`Yuki Okushi-9/+60
2020-08-02Auto merge of #75060 - JohnTitor:rollup-aq8sfxf, r=JohnTitorbors-350/+642
Rollup of 10 pull requests Successful merges: - #74686 (BTreeMap: remove into_slices and its unsafe block) - #74762 (BTreeMap::drain_filter should not touch the root during iteration) - #74781 (Clean up E0733 explanation) - #74874 (BTreeMap: define forget_type only when relevant) - #74974 (Make tests faster in Miri) - #75010 (Update elasticlunr-rs and ammonia transitive deps) - #75041 (Replaced log with tracing crate) - #75044 (Clean up E0744 explanation) - #75054 (Rename rustc_middle::cstore::DepKind to CrateDepKind) - #75057 (Avoid dumping rustc invocations to stdout) Failed merges: - #74827 (Move bulk of BTreeMap::insert method down to new method on handle) r? @ghost
2020-08-03Rollup merge of #75057 - Mark-Simulacrum:avoid-long-print, r=alexcrichtonYuki Okushi-1/+3
Avoid dumping rustc invocations to stdout These are quite long, usually, and in most cases not interesting. On smaller terminals they can take up more than a full page of output, hiding the error diagnostics emitted.
2020-08-03Rollup merge of #75054 - cjgillot:rename-depkind, r=petrochenkovYuki Okushi-35/+35
Rename rustc_middle::cstore::DepKind to CrateDepKind It is ambiguous with DepGraph's own DepKind.
2020-08-03Rollup merge of #75044 - GuillaumeGomez:cleanup-e0744, r=pickfireYuki Okushi-3/+5
Clean up E0744 explanation r? @Dylan-DPC
2020-08-03Rollup merge of #75041 - pawanbisht62:feature/replace-log-with-tracing, ↵Yuki Okushi-8/+8
r=oli-obk Replaced log with tracing crate Issue #74747
2020-08-03Rollup merge of #75010 - Aaron1011:feature/remove-old-deps, r=Mark-SimulacrumYuki Okushi-216/+140
Update elasticlunr-rs and ammonia transitive deps This removes all dependencies on pre-1.0 proc-macro ecosystem crates (syn, quote, and proc-macro2)
2020-08-03Rollup merge of #74974 - RalfJung:miri-tests, r=Mark-SimulacrumYuki Okushi-12/+18
Make tests faster in Miri Reduce some test iteration counts in Miri.
2020-08-03Rollup merge of #74874 - ssomers:btree_cleanup_8, r=Mark-SimulacrumYuki Okushi-8/+16
BTreeMap: define forget_type only when relevant Similar to `forget_node_type` for handles. No effect on generated code, apart maybe from the superfluous calls that might not have been optimized away. r? @Mark-Simulacrum
2020-08-03Rollup merge of #74781 - GuillaumeGomez:cleanup-e0733, r=jyn514Yuki Okushi-5/+9
Clean up E0733 explanation r? @Dylan-DPC
2020-08-03Rollup merge of #74762 - ssomers:btree_no_root_in_remove_kv_tracking, ↵Yuki Okushi-52/+405
r=Mark-Simulacrum BTreeMap::drain_filter should not touch the root during iteration Although Miri doesn't point it out, I believe there is undefined behaviour using `drain_filter` when draining the 11th-last element from a tree that was larger. When this happens, the last remaining child nodes are merged, the root becomes empty and is popped from the tree. That last step establishes a mutable reference to the node elected root and writes a pointer in `node::Root`, while iteration continues to visit the same node. This is mostly code from #74437, slightly adapted.
2020-08-03Rollup merge of #74686 - ssomers:btree_cleanup_3, r=Mark-SimulacrumYuki Okushi-10/+3
BTreeMap: remove into_slices and its unsafe block A small tweak to make BTreeMap code shorter and less unsafe. r? @Mark-Simulacrum
2020-08-02Document the discrepancy in the mask type for _mm_shuffle_psGeorgio Nicolas-0/+0
2020-08-02fix typosliuzhenyu-25/+25
2020-08-02Avoid dumping rustc invocations to stdoutMark Rousskov-1/+3
These are quite long, usually, and in most cases not interesting. On smaller terminals they can take up more than a full page of output, hiding the error diagnostics emitted.
2020-08-02compiletest: print diff for pretty testsDavid Wood-9/+16
This commit modifies compiletest so that a diff of actual and expected output is shown for pretty tests. This makes it far easier to work out what has changed. Signed-off-by: David Wood <david@davidtw.co>
2020-08-02tests: add regression test for #74745David Wood-0/+5
This commit adds a regression test for #74745. While a `ignore-tidy-trailing-lines` header is required, this doesn't stop the test from reproducing, so long as there is no newline at the end of the file. However, adding the header comments made the test fail due to a bug in pprust, fixed in the previous commit. Signed-off-by: David Wood <david@davidtw.co>
2020-08-02pprust: adjust mixed comment printingDavid Wood-3/+3
This commit adjusts the pretty printing of mixed comments so that the initial zero-break isn't emitted at the beginning of the line. Through this, the `block-comment-wchar` test can have the `pp-exact` file removed, as it no longer converges from pretty printing of the source. Signed-off-by: David Wood <david@davidtw.co>