Commit Graph

81662 Commits

Author SHA1 Message Date
Alex Crichton
f0bceba669 rustc: Handle linker diagnostic from LLVM
Previously linker diagnostic were being hidden when two modules were linked
together but failed to link. This commit fixes the situation by ensuring that we
have a diagnostic handler installed and also adds support for handling linker
diagnostics.
2018-07-31 10:47:27 -07:00
Mark Rousskov
2216db9de7 Format code for easier editing 2018-07-31 11:39:04 -06:00
Mark Rousskov
01d95558e6 Further extract error code switch
Removes dependency on UnstableFeatures from markdown rendering
2018-07-31 11:39:02 -06:00
Mark Rousskov
03e34f8f81 Remove dependency on error handling from find_testable_code 2018-07-31 11:37:21 -06:00
Mark Rousskov
de5cebdba5 Provide test configuration through struct
This is far more sound than passing many different arguments of the same
type.
2018-07-31 11:37:21 -06:00
Mark Rousskov
ad40e4517f Provide warnings for invalid code blocks in markdown files
Previously we would only warn on Rust code but we can also do so when
testing markdown (the diag::Handler is available).
2018-07-31 11:37:21 -06:00
Mark Rousskov
0af5a6be05 Pull out nightly checking to edges
Parsing the code block's LangString (```foo) previously checked itself
to see if we were on nightly; that isn't the right place to do so. Move
that check slightly outwards to better abstract LangString.

(This is also an optimization as we avoid the costly environment
variable load of RUSTC_BOOTSTRAP).
2018-07-31 11:37:21 -06:00
Felix S. Klock II
a5a3f765eb NLL: On "cannot move out of type" error, print original source before rewrite.
* Arguably this change is sometimes injecting noise into the output
   (namely in the cases where the suggested rewrite is inline with the
   suggestion and we end up highlighting the original source code).
   I would not be opposed to something more aggressive/dynamic, like
   revising the suggestion code to automatically print the original
   source when necessary (e.g. when the error does not have a span
   that includes the span of the suggestion).

 * Also, as another note on this change: The doc comment for `Diagnostic::span_suggestion`
   says:
    /// The message
    ///
    /// * should not end in any punctuation (a `:` is added automatically)
    /// * should not be a question
    /// * should not contain any parts like "the following", "as shown"

   but the `:` is *not* added when the emitted line appears
   out-of-line relative to the suggestion. I find that to be an
   unfortunate UI experience.

----

As a drive-by fix, also changed code to combine multiple suggestions
for a pattern into a single multipart suggestion (which vastly
improves user experience IMO).

----

Includes the updates to expected NLL diagnostics.
2018-07-31 17:27:29 +02:00
Ralf Jung
872395a38c enable jemalloc assertions when configured to do so 2018-07-31 17:01:39 +02:00
bors
f89817997a Auto merge of #52461 - irinagpopa:safe-llvm, r=nikomatsakis
rustc_codegen_llvm: use safe references for LLVM FFI types.

Part of #45274.
2018-07-31 13:32:32 +00:00
pravic
830ac8c87f
Fix a typo in unsize.rs
RfC -> RFC
2018-07-31 16:28:50 +03:00
dragan.mladjenovic
f985e6cfd4 tests/ui: Add missing mips{64} ignores 2018-07-31 15:22:14 +02:00
Felix S. Klock II
faf841a9f6 Update the .nll.stderr files under new sorted-by-span scheme. 2018-07-31 14:51:36 +02:00
Felix S. Klock II
26776858cf Update tests that use -Z borrowck=compare or #[feature(nll)] to accmmodate diagnostic change. 2018-07-31 14:36:50 +02:00
Irina Popa
baff67d51f rustc_llvm: fix linking on mingw. 2018-07-31 15:36:38 +03:00
Felix S. Klock II
6787e25c29 Blindly update the #[rustc_region] tests which got touched by the NLL diagnostic change. 2018-07-31 14:35:43 +02:00
Felix S. Klock II
e8c29959cd Sort NLL error diagnostics by span in an attempt to make them match source order
(and thus, hopefully, more closely match user expectation).
2018-07-31 14:30:46 +02:00
ljedrz
ca52648264 Benchmarks for SmallVec 2018-07-31 14:11:04 +02:00
bors
ed8d14db99 Auto merge of #50267 - humanenginuity:master, r=alexcrichton
Implement inner deref for Option and Result

tracking issue: #50264
2018-07-31 11:20:16 +00:00
Ralf Jung
fb7d8a12db hopefully make test pass on windows 2018-07-31 11:17:26 +02:00
bors
8961132010 Auto merge of #52850 - SimonSapin:unstablize, r=alexcrichton
Revert "Stabilize to_bytes and from_bytes for integers."

This reverts commit c8f9b84b39 / PR https://github.com/rust-lang/rust/pull/51835, and reopens the tracking issue https://github.com/rust-lang/rust/issues/49792.

These methods were stabilized in Rust 1.29, which is still in Nightly as of this writing. So my understanding is that it is still time to change our minds. Given the ongoing discussion in https://github.com/rust-lang/rust/pull/51919 about possibly renaming these APIs and since 1.29 goes to beta soon, I’d like to revert this stabilization for now until a decision is made in that PR. It’s possible that a decision will be made in time for 1.29, but there is no urgency. At most I expect this functionality to make it into 1.30.
2018-07-31 09:08:33 +00:00
Ralf Jung
50773991d3 make sure that the no-panic test tests what it is supposed to test 2018-07-31 10:33:32 +02:00
Colin Finck
4ad4ad02eb Fix coding style. 2018-07-31 09:49:10 +02:00
bors
d2652f6c1d Auto merge of #52630 - Mark-Simulacrum:rustdoc-cleanup-2, r=QuietMisdreavus
Delete unused code in rustdoc

Also hid the unused crate exports of rustdoc. This is technically a breaking change but we don't even ship librustdoc in the sysroot so I don't expect breakage.
2018-07-31 07:02:10 +00:00
bors
4fbd4a55f7 Auto merge of #52863 - steveklabnik:update-books, r=Mark-Simulacrum
update books for new release

r? @Mark-Simulacrum
2018-07-31 03:30:47 +00:00
John Renner
caab47d3e9 Just tidying up 2018-07-30 19:55:23 -07:00
John Renner
f76049cd6a Reexport tests without polluting namespaces 2018-07-30 19:23:24 -07:00
bors
cc408fb5be Auto merge of #52731 - nikomatsakis:issue-52057-inference-variable, r=pnkfelix
Issue 52057 — inference variable

Break out the computation of universal region relations and do it during the typeck, where we can handle the resulting constraints that arise.

r? @pnkfelix
2018-07-31 01:25:49 +00:00
Yury Delendik
e9509d78bd Disable debug sections when optimization flags is set for LLD. 2018-07-30 19:58:26 -05:00
Niko Matsakis
b9652aee65 region_infer: rustfmt, pacifying the mercilous tidy 2018-07-31 02:31:41 +02:00
Niko Matsakis
9baf01363c assert no region obligations on entering custom type op
Fixes #51649
2018-07-31 02:31:41 +02:00
Niko Matsakis
68c2a39a72 free RegionBoundPairs earlier and avoid normalizing twice
Normalization results are memoized, so this may not be worth it, but it
seems easy enough to do.
2018-07-31 02:31:41 +02:00
Niko Matsakis
490928f709 remove region_bound_pairs from FRR as they are not needed later 2018-07-31 02:31:41 +02:00
Niko Matsakis
1e1f18ddba make a free fn for creating the URR 2018-07-31 02:31:41 +02:00
Niko Matsakis
d42bc58b1d add regression test for #52057
Fixes #52057
2018-07-31 02:31:41 +02:00
Niko Matsakis
d1e67fcacd remove universal-region-relation computation from universal_regions 2018-07-31 02:31:40 +02:00
Niko Matsakis
3bca170bc7 introduce, but do not use, free_region_relation computation
This duplicates, effectively, existing code in the universal regions
computation.
2018-07-31 02:26:06 +02:00
Esteban Küber
c883edfbc6 Include lifetime in mutability suggestion in NLL messages 2018-07-30 15:41:39 -07:00
Mark Rousskov
620c4fdf53 Delete unused code in rustdoc 2018-07-30 16:33:56 -06:00
Josh Stone
1ea2765918 run-pass/const-endianness: negate before to_le()
`const LE_I128` needs parentheses to negate the value *before* calling
`to_le()`, otherwise it doesn't match the operations performed in the
black-boxed part of the test.  This only makes a tangible difference on
big-endian targets.
2018-07-30 13:08:56 -07:00
Guillaume Gomez
d5f1f70a8e Fix Alias intra doc ICE 2018-07-30 20:57:27 +02:00
ljedrz
9169934e27 Use Vec::extend in SmallVec::extend when applicable 2018-07-30 20:23:37 +02:00
Irina Popa
69ed6b928c rustc_codegen_llvm: fix ownership of DIBuilder. 2018-07-30 20:35:14 +03:00
Irina Popa
54c98ab0dd rustc_codegen_llvm: fix ownership of Builder. 2018-07-30 20:35:11 +03:00
Irina Popa
265f2fa4de rustc_codegen_llvm: fix tidy errors. 2018-07-30 20:35:08 +03:00
Irina Popa
ba006440ee rustc_codegen_llvm: use safe references for ThinLTOData. 2018-07-30 20:34:51 +03:00
Irina Popa
2e3a6af7fa rustc_codegen_llvm: use safe references for ThinLTOBuffer. 2018-07-30 20:10:47 +03:00
Irina Popa
ab4f93c742 rustc_codegen_llvm: use safe references for ModuleBuffer. 2018-07-30 20:10:45 +03:00
Irina Popa
b643e5144e rustc_codegen_llvm: use safe references for RustArchiveMember. 2018-07-30 20:10:44 +03:00
Irina Popa
c7669dff2a rustc_codegen_llvm: use safe references for ArchiveChild. 2018-07-30 20:10:43 +03:00