diff options
| author | bors <bors@rust-lang.org> | 2019-03-29 18:09:51 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-03-29 18:09:51 +0000 |
| commit | e782d790f1b63d82af39248bebe027f92d891bcc (patch) | |
| tree | 6181b0e19f921a160ef560a538dfd7fc275a8116 /src/libsyntax | |
| parent | 2002b4b39a16760f37107cf02d7a91ff316d3073 (diff) | |
| parent | 99e886de4388fd89243850332a0002c0d257f304 (diff) | |
| download | rust-e782d790f1b63d82af39248bebe027f92d891bcc.tar.gz rust-e782d790f1b63d82af39248bebe027f92d891bcc.zip | |
Auto merge of #59522 - Centril:rollup, r=Centril
Rollup of 9 pull requests Successful merges: - #59366 (Update books) - #59436 (Update jemalloc-sys to version 0.3.0) - #59454 (Update rustfmt to 1.2.0) - #59462 (Fix error in Rust 2018 + no_core environment) - #59467 (Better diagnostic for binary operation on BoxedValues) - #59473 (Do not emit incorrect borrow suggestion involving macros and fix overlapping multiline spans) - #59480 (Update stdsimd) - #59486 (Visit `ImplItem` in `dead_code` lint) - #59510 (Rename `type_parameters` to `generics` and so on) Failed merges: - #59516 (Update cargo) r? @ghost
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/test_snippet.rs | 60 | ||||
| -rw-r--r-- | src/libsyntax/visit.rs | 18 |
2 files changed, 69 insertions, 9 deletions
diff --git a/src/libsyntax/test_snippet.rs b/src/libsyntax/test_snippet.rs index 2b3d18835d5..86910ffd894 100644 --- a/src/libsyntax/test_snippet.rs +++ b/src/libsyntax/test_snippet.rs @@ -375,6 +375,66 @@ error: foo } #[test] +fn triple_exact_overlap() { + test_harness(r#" +fn foo() { + X0 Y0 Z0 + X1 Y1 Z1 + X2 Y2 Z2 +} +"#, + vec![ + SpanLabel { + start: Position { + string: "X0", + count: 1, + }, + end: Position { + string: "X2", + count: 1, + }, + label: "`X` is a good letter", + }, + SpanLabel { + start: Position { + string: "X0", + count: 1, + }, + end: Position { + string: "X2", + count: 1, + }, + label: "`Y` is a good letter too", + }, + SpanLabel { + start: Position { + string: "X0", + count: 1, + }, + end: Position { + string: "X2", + count: 1, + }, + label: "`Z` label", + }, + ], + r#" +error: foo + --> test.rs:3:3 + | +3 | / X0 Y0 Z0 +4 | | X1 Y1 Z1 +5 | | X2 Y2 Z2 + | | ^ + | | | + | | `X` is a good letter + | |____`Y` is a good letter too + | `Z` label + +"#); +} + +#[test] fn minimum_depth() { test_harness(r#" fn foo() { diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs index fbd6641f7c2..8f42d47e69c 100644 --- a/src/libsyntax/visit.rs +++ b/src/libsyntax/visit.rs @@ -244,24 +244,24 @@ pub fn walk_item<'a, V: Visitor<'a>>(visitor: &mut V, item: &'a Item) { walk_list!(visitor, visit_foreign_item, &foreign_module.items); } ItemKind::GlobalAsm(ref ga) => visitor.visit_global_asm(ga), - ItemKind::Ty(ref typ, ref type_parameters) => { + ItemKind::Ty(ref typ, ref generics) => { visitor.visit_ty(typ); - visitor.visit_generics(type_parameters) + visitor.visit_generics(generics) } - ItemKind::Existential(ref bounds, ref type_parameters) => { + ItemKind::Existential(ref bounds, ref generics) => { walk_list!(visitor, visit_param_bound, bounds); - visitor.visit_generics(type_parameters) + visitor.visit_generics(generics) } - ItemKind::Enum(ref enum_definition, ref type_parameters) => { - visitor.visit_generics(type_parameters); - visitor.visit_enum_def(enum_definition, type_parameters, item.id, item.span) + ItemKind::Enum(ref enum_definition, ref generics) => { + visitor.visit_generics(generics); + visitor.visit_enum_def(enum_definition, generics, item.id, item.span) } ItemKind::Impl(_, _, _, - ref type_parameters, + ref generics, ref opt_trait_reference, ref typ, ref impl_items) => { - visitor.visit_generics(type_parameters); + visitor.visit_generics(generics); walk_list!(visitor, visit_trait_ref, opt_trait_reference); visitor.visit_ty(typ); walk_list!(visitor, visit_impl_item, impl_items); |
