Commit graph

30568 commits

Author SHA1 Message Date
Ayush Kumar Mishra
b05555290c Remove noisy suggestion of hash_map #72642
Fixed failing test-cases

Remove noisy suggestion of hash_map #72642

Fixed failing test-cases
2020-06-09 08:49:05 +05:30
Aaron Hill
88262984eb
Show SyntaxContext in formatted Span debug output
This is only really useful in debug messages, so I've switched to
calling `span_to_string` in any place that causes a `Span` to end up in
user-visible output.
2020-06-08 21:47:33 -04:00
Aaron Hill
0fcea2e423
Don't lose empty where clause when pretty-printing
Previously, we would parse `struct Foo where;` and `struct Foo;`
identically, leading to an 'empty' `where` clause being omitted during
pretty printing. This will cause us to lose spans when proc-macros
involved, since we will have a collected `where` token that does not
appear in the pretty-printed item.

We now explicitly track the presence of a `where` token during parsing,
so that we can distinguish between `struct Foo where;` and `struct Foo;`
during pretty-printing
2020-06-08 21:09:54 -04:00
Ayaz Hafiz
2981395d0c
fixup! Add regression test for const generic ICE in #72819 2020-06-08 18:04:41 -07:00
Ayaz Hafiz
f82382af28
fixup! Add regression test for const generic ICE in #72819 2020-06-08 17:46:28 -07:00
Dylan MacKenzie
b6121a5419 Add regression test for #73137
Co-authored-by: Aaron1011 <aa1ronham@gmail.com>
2020-06-08 16:51:26 -07:00
Dylan MacKenzie
c3b0b7b68f Revert #71956 2020-06-08 14:58:37 -07:00
Dylan DPC
82fd390d67
Rollup merge of #72912 - GuillaumeGomez:add-e0755, r=estebank
Add new E0758 error code
2020-06-08 22:15:10 +02:00
Nathan Corbyn
a1eeaddf3f Resolve E0584 conflict 2020-06-08 12:00:12 +01:00
Ralf Jung
244465dbb8
Rollup merge of #73001 - ilya-bobyr:master, r=dtolnay
Free `default()` forwarding to `Default::default()`

It feels a bit redundant to have to say `Default::default()` every time I need a new value of a type that has a `Default` instance.
Especially so, compared to Haskell, where the same functionality is called `def`.
Providing a free `default()` function that forwards to `Default::default()` seems to improve the situation.
The trait is still there, so if someone wants to be explicit and to say `Default::default()` - it still works, but if imported as `std::default::default;`, then the free function reduces typing and visual noise.
2020-06-08 09:55:31 +02:00
Ralf Jung
e135087868
Rollup merge of #72799 - Aaron1011:feature/span-debug, r=petrochenkov
Add `-Z span-debug` to allow for easier debugging of proc macros

Currently, the `Debug` impl for `proc_macro::Span` just prints out
the byte range. This can make debugging proc macros (either as a crate
author or as a compiler developer) very frustrating, since neither the
actual filename nor the `SyntaxContext` is displayed.

This commit adds a perma-unstable flag `-Z span-debug`. When enabled,
the `Debug` impl for `proc_macro::Span` simply forwards directly to
`rustc_span::Span`. Once #72618 is merged, this will start displaying
actual line numbers.

While `Debug` impls are not subject to Rust's normal stability
guarnatees, we probably shouldn't expose any additional information on
stable until `#![feature(proc_macro_span)]` is stabilized. Otherwise,
we would be providing a 'backdoor' way to access information that's
supposed be behind unstable APIs.
2020-06-08 09:55:26 +02:00
Ralf Jung
8484b9935c
Rollup merge of #72026 - botika:master, r=estebank
Update annotate-snippets-rs to 0.8.0

#59346
I made major changes to this library. In the previous version we worked with owned while in the current one with borrowed.

I have adapted it without changing the behavior.
I have modified the coverage since the previous one did not return correctly the index of the character in the line.
2020-06-08 09:55:18 +02:00
bors
7355816093 Auto merge of #73046 - marmeladema:save-analysis-fix-path, r=Xanewok
save_analysis: fix some ICEs

Fixes #73020
Fixes #73022
Fixes #73041
2020-06-08 03:54:52 +00:00
bors
6aa1d93c21 Auto merge of #72904 - shepmaster:reduce-abi-symbol-hash-churn, r=jonas-schievink,RalfJung
Order the Rust and C ABIs first to reduce test churn
2020-06-07 21:42:27 +00:00
bors
0262de554b Auto merge of #73099 - Dylan-DPC:rollup-7u8f3m4, r=Dylan-DPC
Rollup of 2 pull requests

Successful merges:

 - #72952 (run-make regression test for issue #70924.)
 - #72977 (Fix codegen tests for RISC-V)

Failed merges:

r? @ghost
2020-06-07 17:55:19 +00:00
Dylan DPC
4dd5d5d4d6
Rollup merge of #72977 - tblah:riscv-codegen-llvm10, r=nikomatsakis
Fix codegen tests for RISC-V

Some codegen tests didn't seem relevant (e.g. unsupported annotations).

The RISC-V abi tests were broken by LLVM 10, c872dcf fixes that (cc: @msizanoen1)

I'm not sure about skipping catch-unwind.rs and included that change here mostly as a request for comment - I can't tell if that's a bug.
2020-06-07 18:11:29 +02:00
Dylan DPC
b733368258
Rollup merge of #72952 - pnkfelix:regression-test-for-issue-70924, r=nikomatsakis
run-make regression test for issue #70924.

Sometime after my PR #72767 (to fix issue #70924) landed, I realized that I *could* make a local regression test, thanks to `rustc --print sysroot`: I can make a fresh "copy" (really mostly symlinks) of the sysroot, and then modify it to recreate the terms of this bug.
2020-06-07 18:11:27 +02:00
Guillaume Gomez
fbf7d27791 Add tests for E0758 2020-06-07 14:57:57 +02:00
Ilya Bobyr
8f4dfa8839 Free default() forwarding to Default::default()
When creating default values a trait method needs to be called with an
explicit trait name.  `Default::default()` seems redundant.  A free
function on the other hand, when imported directly, seems to be a better
API, as it is just `default()`.  When implementing the trait, a method
is still required.
2020-06-07 01:27:06 -07:00
Ralf Jung
d931b031b4 rename FalseEdges -> FalseEdge 2020-06-07 10:12:21 +02:00
Jake Goulding
ae3586c9b7 Order the Rust and C ABIs first to reduce test churn 2020-06-06 22:36:21 -04:00
Dylan DPC
6f8760bda3
Rollup merge of #72989 - pnkfelix:revert-pr-71840, r=matthewjasper
Revert pr 71840

Revert7 PR #71840 to fix issue #72470

This will need a backport to beta if we do not want #72470 to hit stable.
2020-06-07 02:28:56 +02:00
marmeladema
a7c18e021f save_analysis: fix panic in write_sub_paths_truncated 2020-06-06 23:40:24 +01:00
Amanieu d'Antras
74befd955b Fix #[thread_local] statics as asm! sym operands 2020-06-06 21:04:51 +01:00
Ayaz Hafiz
ab7355a886
fixup! Add regression test for const generic ICE in #72819 2020-06-06 12:00:23 -07:00
Ayaz Hafiz
568cc22c3d
Add regression test for const generic ICE in #72819
Closes #72819
2020-06-06 11:44:28 -07:00
Amanieu d'Antras
e9b67d281a Fix link error with #[thread_local] introduced by #71192 2020-06-06 18:26:15 +01:00
bors
118b50524b Auto merge of #72927 - petrochenkov:rustc, r=Mark-Simulacrum
Rename all remaining compiler crates to use the `rustc_foo` pattern

libarena -> librustc_arena
libfmt_macros -> librustc_parse_format
libgraphviz -> librustc_graphviz
libserialize -> librustc_serialize

Closes https://github.com/rust-lang/rust/issues/71177 in particular.
2020-06-06 09:00:51 +00:00
marmeladema
84e4777ae2 save_analysis: fix ice in get_expr_data 2020-06-06 00:39:18 +01:00
bors
826cb062a6 Auto merge of #72982 - tblah:riscv-ui-tests, r=estebank
resolve: Sort E0408 errors by Symbol str

This is a request for comments implementing my suggested solution to https://github.com/rust-lang/rust/issues/72913

Previously errors were sorted by Symbol index instead of the string. The indexes are not the same between architectures because Symbols for architecture extensions (e.g. x86 AVX or RISC-V d) are interned before the source file is parsed. RISC-V's naming of extensions after single letters led to it having errors sorted differently for test cases using single letter variable names. Instead sort the errors by the Symbol string so that it is stable across architectures.

While I was at it, there's also 8edb05c2  skipping some ui tests which I think are irrelevant for risc-v.
2020-06-05 18:55:52 +00:00
Felix S. Klock II
a9d5dffe99 Ignore windows in the test. 2020-06-05 12:11:33 -04:00
Dylan DPC
14fd5950a5
Rollup merge of #73019 - matthiaskrgr:test_72960, r=Xanewok
add test for #72960

Fixes #72960

r? @Xanewok
2020-06-05 13:07:10 +02:00
Dylan DPC
14dc34dd89
Rollup merge of #72260 - csmoe:issue-69276, r=estebank
Spell out `Self` in async function return

Closes #69276
r? @tmandry
2020-06-05 13:07:03 +02:00
Matthias Krüger
254f61ae43 add test for #72960
Fixes #72960
2020-06-05 12:08:54 +02:00
Aaron Hill
3295c262ae
Treat selection error as ambiguous when error type is present 2020-06-04 21:09:31 -04:00
Aaron Hill
7f7729d83b
Don't create impl candidates when obligation contains errors
Fixes #72839

In PR #72621, trait selection was modified to no longer bail out early
when an error type was encountered. This allowed us treat `ty::Error` as
`Sized`, causing us to avoid emitting a spurious "not sized" error after
a type error had already occured.

However, this means that we may now try to match an impl candidate
against the error type. Since the error type will unify with almost
anything, this can cause us to infinitely recurse (eventually triggering
an overflow) when trying to verify certain `where` clauses.

This commit causes us to skip generating any impl candidates when an
error type is involved.
2020-06-04 19:32:09 -04:00
Aaron Hill
b541d3da5d
Add -Z span-debug to allow for easier debugging of proc macros
Currently, the `Debug` impl for `proc_macro::Span` just prints out
the byte range. This can make debugging proc macros (either as a crate
author or as a compiler developer) very frustrating, since neither the
actual filename nor the `SyntaxContext` is displayed.

This commit adds a perma-unstable flag `-Z span-debug`. When enabled,
the `Debug` impl for `proc_macro::Span` simply forwards directly to
`rustc_span::Span`. Once #72618 is merged, this will start displaying
actual line numbers.

While `Debug` impls are not subject to Rust's normal stability
guarnatees, we probably shouldn't expose any additional information on
stable until `#![feature(proc_macro_span)]` is stabilized. Otherwise,
we would be providing a 'backdoor' way to access information that's
supposed be behind unstable APIs.
2020-06-04 15:39:12 -04:00
Felix S. Klock II
ce4c953b99 further bless tests. 2020-06-04 12:26:13 -04:00
Felix S. Klock II
e1ebdeeefb Revert "Defer creating drop trees in MIR lowering until leaving that scope"
This reverts commit 611988551f.
2020-06-04 11:34:42 -04:00
Felix S. Klock II
34c0f0599d Revert "Bless mir-opt tests"
This reverts commit a030c92341.
2020-06-04 11:29:10 -04:00
Tom Eccles
41bfd18e02 resolve: Sort E0408 errors by Symbol str
Previously errors were sorted by Symbol index instead of the string. The
indexes are not the same between architectures because Symbols for
architecture extensions (e.g. x86 AVX or RISC-V d) are interned before
the source file is parsed. RISC-V's naming of extensions after single
letters led to it having errors sorted differently for test cases using
single letter variable names. Instead sort the errors by the Symbol
string so that it is stable across architectures.
2020-06-04 16:00:31 +01:00
Tom Eccles
8edb05c2a0 test: ui: skip tests which aren't appropriate for RISC-V 2020-06-04 15:59:59 +01:00
Felix S. Klock II
94605b97e7 run-make regression test for issue #70924. 2020-06-04 08:57:08 -04:00
Tom Eccles
08529aff80 test: codegen: skip catch-unwind on riscv64
It isn't clear to me if this is a bug or not, hence the FIXME
2020-06-04 12:15:26 +01:00
Tom Eccles
37e8e05712 test: codegen: Add riscv abi llvm intrinsics test 2020-06-04 12:02:03 +01:00
Tom Eccles
c872dcf956 test: codegen: riscv64-abi: print value numbers for unnamed func args
LLVM 10 includes a009a60a917bc30940422bcef73f8270566d78db which will
print value numbers for unnamed func args.

Update these tests to be in line with the referenced clang tests.
2020-06-04 12:02:03 +01:00
Tom Eccles
95e9768da1 test: codegen: skip tests inappropriate for riscv64 2020-06-04 12:02:03 +01:00
Dylan DPC
085c16d552
Rollup merge of #72923 - Patryk27:fix/52468, r=estebank
Improve E0433, so that it suggests missing imports

Closes #52468
2020-06-04 12:12:47 +02:00
Dylan DPC
21ac561ab7
Rollup merge of #72718 - estebank:impl-trait-obligation-failure, r=matthewjasper
Add regression test for #72554

Fix #72554.
2020-06-04 12:12:40 +02:00
csmoe
9be635306c resolve error code e0760 2020-06-04 09:37:32 +08:00