rust/src/test/ui/async-await
Dan Aloni 07e7823c01 pretty: trim paths of unique symbols
If a symbol name can only be imported from one place for a type, and
as long as it was not glob-imported anywhere in the current crate, we
can trim its printed path and print only the name.

This has wide implications on error messages with types, for example,
shortening `std::vec::Vec` to just `Vec`, as long as there is no other
`Vec` importable anywhere.

This adds a new '-Z trim-diagnostic-paths=false' option to control this
feature.

On the good path, with no diagnosis printed, we should try to avoid
issuing this query, so we need to prevent trimmed_def_paths query on
several cases.

This change also relies on a previous commit that differentiates
between `Debug` and `Display` on various rustc types, where the latter
is trimmed and presented to the user and the former is not.
2020-09-02 22:26:37 +03:00
..
auxiliary Add extra arc_wake 2019-05-25 00:23:15 +01:00
await-keyword pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
drop-order smoke-test for async fn with mir-opt-level=0 2020-04-22 23:34:13 +02:00
issues pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
multiple-lifetimes Use smaller def span for functions 2020-08-22 18:41:49 -04:00
argument-patterns.rs Update test stderr with results of enabling unused lints 2019-09-08 11:32:28 -04:00
async-assoc-fn-anon-lifetimes.rs Ensure that associated async fns have unique fresh param names 2019-10-05 22:24:55 +01:00
async-await.rs smoke-test for async fn with mir-opt-level=0 2020-04-22 23:34:13 +02:00
async-block-control-flow-static-semantics.rs pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
async-block-control-flow-static-semantics.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
async-borrowck-escaping-block-error.fixed Suggest move for closures and async blocks in more cases. 2020-04-08 13:01:53 +02:00
async-borrowck-escaping-block-error.rs Suggest move for closures and async blocks in more cases. 2020-04-08 13:01:53 +02:00
async-borrowck-escaping-block-error.stderr Suggest move for closures and async blocks in more cases. 2020-04-08 13:01:53 +02:00
async-borrowck-escaping-closure-error.rs Suggest move for closures and async blocks in more cases. 2020-04-08 13:01:53 +02:00
async-borrowck-escaping-closure-error.stderr Fix suggestion from move async to async move. 2019-08-19 17:14:38 +01:00
async-closure-matches-expr.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
async-closure.rs smoke-test for async fn with mir-opt-level=0 2020-04-22 23:34:13 +02:00
async-error-span.rs Adds a clearer message for when the async keyword is missing from a function 2020-06-25 16:01:45 -07:00
async-error-span.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
async-fn-elided-impl-lifetime-parameter.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
async-fn-nonsend.rs compiletest: error if compile-fail header in ui test. 2020-02-02 02:08:30 -05:00
async-fn-nonsend.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
async-fn-path-elision.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
async-fn-path-elision.stderr --bless post no async_await gates in tests. 2019-08-20 03:08:42 +02:00
async-fn-send-uses-nonsend.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
async-fn-size-moved-locals.rs Revert #71956 2020-06-08 14:58:37 -07:00
async-fn-size-uninit-locals.rs Use smaller discriminants for generators 2020-03-14 14:09:48 +01:00
async-fn-size.rs Use smaller discriminants for generators 2020-03-14 14:09:48 +01:00
async-matches-expr.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
async-trait-fn.rs ast_validation: tweak diagnostic output 2020-02-13 10:40:17 +01:00
async-trait-fn.stderr ast_validation: tweak diagnostic output 2020-02-13 10:40:17 +01:00
async-unsafe-fn-call-in-safe.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
async-unsafe-fn-call-in-safe.stderr --bless post no async_await gates in tests. 2019-08-20 03:08:42 +02:00
async-with-closure.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
await-unsize.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
bound-normalization.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
conditional-and-guaranteed-initialization.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
dont-print-desugared-async.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
dont-print-desugared-async.stderr Don't give invalid suggestion on desugared span. 2020-02-12 18:32:27 -07:00
dont-suggest-missing-await.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
dont-suggest-missing-await.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
edition-deny-async-fns-2015.rs ast_validation: tweak diagnostic output 2020-02-13 10:40:17 +01:00
edition-deny-async-fns-2015.stderr Detect errors caused by async block in 2015 edition 2020-05-05 19:35:20 -07:00
expansion-in-attrs.rs def_collector: Fully visit async functions 2020-03-15 03:15:47 +03:00
feature-async-closure.rs Adjust tests wrt. 'async_closure' feature gate. 2019-07-03 23:59:36 +02:00
feature-async-closure.stderr --bless --compare-mode=nll 2020-02-09 20:43:49 +01:00
futures-api.rs Remove duplicated arc_wake.rs 2019-07-06 14:09:41 +08:00
generics-and-bounds.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
issue-54239-private-type-triggers-lint.rs Add test for issue-54239 2020-03-09 09:11:40 +09:00
issue-60709.rs Upgrade Emscripten targets to use upstream LLVM backend 2019-10-16 17:06:48 -07:00
issue-61076.rs pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-61076.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-61452.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
issue-61452.stderr --bless post no async_await gates in tests. 2019-08-20 03:08:42 +02:00
issue-61793.rs Use build-pass in ui tests where appropriate 2019-11-04 16:03:46 +01:00
issue-61949-self-return-type.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
issue-61949-self-return-type.stderr resolve error code e0760 2020-06-04 09:37:32 +08:00
issue-62658.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
issue-63832-await-short-temporary-lifetime-1.rs lowering: extend temporary lifetimes around await 2019-09-10 11:27:57 +01:00
issue-63832-await-short-temporary-lifetime.rs lowering: extend temporary lifetimes around await 2019-09-10 11:27:57 +01:00
issue-64130-1-sync.rs introduce negative_impls feature gate and document 2020-03-26 06:52:55 -04:00
issue-64130-1-sync.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-64130-2-send.rs introduce negative_impls feature gate and document 2020-03-26 06:52:55 -04:00
issue-64130-2-send.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-64130-3-other.rs pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-64130-3-other.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-64130-4-async-move.rs async/await: more improvements to non-send errors 2019-12-08 16:29:08 +00:00
issue-64130-4-async-move.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-64130-non-send-future-diags.rs async/await: more improvements to non-send errors 2019-12-08 16:29:08 +00:00
issue-64130-non-send-future-diags.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-64391.rs add regression test for issue-64391 2019-09-16 16:44:18 -04:00
issue-66312.rs Add test for #66312 2020-03-24 16:44:45 -07:00
issue-66312.stderr Add test for #66312 2020-03-24 16:44:45 -07:00
issue-66387-if-without-else.rs Add backticks to various diagnostics 2020-01-05 00:17:46 +00:00
issue-66387-if-without-else.stderr Add backticks to various diagnostics 2020-01-05 00:17:46 +00:00
issue-67252-unnamed-future.rs Do not ICE on unnamed future 2019-12-14 14:50:32 -08:00
issue-67252-unnamed-future.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-67651.rs Update tests 2020-03-23 19:31:41 +01:00
issue-67651.stderr Update tests 2020-03-23 19:31:41 +01:00
issue-67765-async-diagnostic.rs Use an 'approximate' universal upper bound when reporting region errors 2020-06-27 14:01:59 -04:00
issue-67765-async-diagnostic.stderr Use an 'approximate' universal upper bound when reporting region errors 2020-06-27 14:01:59 -04:00
issue-68112.rs pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-68112.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-68523-start.rs tweak error message 2020-08-04 21:36:21 +02:00
issue-68523-start.stderr tweak error message 2020-08-04 21:36:21 +02:00
issue-68523.rs pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-68523.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-69446-fnmut-capture.rs Display information about captured variable in FnMut error 2020-05-25 23:18:00 -04:00
issue-69446-fnmut-capture.stderr Display information about captured variable in FnMut error 2020-05-25 23:18:00 -04:00
issue-70594.rs Update tests 2020-06-28 10:08:12 -07:00
issue-70594.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-70818.rs bless issue-70818 test case 2020-05-06 17:03:15 +08:00
issue-70818.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-71137.rs add test for correct await span 2020-04-22 09:51:56 +08:00
issue-71137.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-72442.rs bless issue-72442 2020-05-22 16:16:37 +08:00
issue-72442.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-72590-type-error-sized.rs Don't bail out of trait selection when predicate references an error 2020-05-26 14:26:40 -04:00
issue-72590-type-error-sized.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-73050.rs Allow inference regions when relating consts 2020-06-10 18:09:34 -07:00
issue-73137.rs Add regression test for #73137 2020-06-08 16:51:26 -07:00
move-part-await-return-rest-struct.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
move-part-await-return-rest-tuple.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
mutually-recursive-async-impl-trait-type.rs Check impl trait substs when checking for recursive types 2019-08-31 15:44:09 +01:00
mutually-recursive-async-impl-trait-type.stderr Diagnostics should not end with a full stop 2020-01-12 15:37:50 +00:00
nested-in-impl.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
no-async-const.rs parser: fuse free fn parsing together. 2020-02-13 10:39:24 +01:00
no-async-const.stderr parser: fuse free fn parsing together. 2020-02-13 10:39:24 +01:00
no-const-async.rs Fix tests after rebase 2020-02-14 22:40:03 +00:00
no-const-async.stderr Further tweak spans in ast validation errors 2020-03-06 10:55:21 -08:00
no-move-across-await-struct.rs compiletest: error if compile-fail header in ui test. 2020-02-02 02:08:30 -05:00
no-move-across-await-struct.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
no-move-across-await-tuple.rs compiletest: error if compile-fail header in ui test. 2020-02-02 02:08:30 -05:00
no-move-across-await-tuple.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
no-non-guaranteed-initialization.rs compiletest: error if compile-fail header in ui test. 2020-02-02 02:08:30 -05:00
no-non-guaranteed-initialization.stderr compiletest: error if compile-fail header in ui test. 2020-02-02 02:08:30 -05:00
no-params-non-move-async-closure.rs Changing error messages and renaming tests #63127 2019-08-27 17:31:57 +02:00
no-params-non-move-async-closure.stderr Add long error explanation for E0708 #61137 2020-04-12 17:22:59 +05:30
no-std.rs Test that async/await compiles with #![no_std] 2020-03-17 22:17:31 +01:00
no-unsafe-async.rs parser: fuse free fn parsing together. 2020-02-13 10:39:24 +01:00
no-unsafe-async.stderr parse: use parse_item_common in parse_assoc_item_. 2020-02-24 00:59:38 +01:00
partial-initialization-across-await.rs Fixed grammar/style in error messages and reblessed tests. 2019-09-06 03:46:08 +01:00
partial-initialization-across-await.stderr Fixed grammar/style in error messages and reblessed tests. 2019-09-06 03:46:08 +01:00
recursive-async-impl-trait-type.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
recursive-async-impl-trait-type.stderr Diagnostics should not end with a full stop 2020-01-12 15:37:50 +00:00
return-ty-raw-ptr-coercion.rs correct coercion comments 2019-10-02 14:23:36 -04:00
return-ty-unsize-coercion.rs fix example (le sigh) 2019-10-02 18:45:44 -04:00
suggest-missing-await-closure.fixed --bless post no async_await gates in tests. 2019-08-20 03:08:42 +02:00
suggest-missing-await-closure.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
suggest-missing-await-closure.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
suggest-missing-await.fixed Emit coercion suggestions in more places 2019-12-03 21:51:16 -05:00
suggest-missing-await.rs Emit coercion suggestions in more places 2019-12-03 21:51:16 -05:00
suggest-missing-await.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
suggest-switching-edition-on-await.rs typeck: add tests for suggesting -> 2018 on wrong <expr>.await 2019-08-14 01:52:16 +02:00
suggest-switching-edition-on-await.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
try-on-option-in-async.rs implement type_implments_trait query 2020-05-15 15:37:11 +08:00
try-on-option-in-async.stderr pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
unreachable-lint-1.rs typeck: silence unreachable code from await 2019-09-30 21:27:18 +01:00
unreachable-lint-1.stderr Normalise notes with the/is 2020-01-24 16:24:50 +00:00
unreachable-lint.rs typeck: silence unreachable code from await 2019-09-30 21:27:18 +01:00
unresolved_type_param.rs Update tests 2020-01-09 21:23:12 +03:00
unresolved_type_param.stderr Update tests 2020-01-09 21:23:12 +03:00
unused-lifetime.rs Avoid unused lifetime warning for lifetimes introduced when desugering async. 2019-10-15 18:05:13 +01:00
unused-lifetime.stderr Normalise notes with the/is 2020-01-24 16:24:50 +00:00