]> git.proxmox.com Git - rustc.git/blobdiff - vendor/annotate-snippets-0.6.1/examples/footer.rs
New upstream version 1.52.1+dfsg1
[rustc.git] / vendor / annotate-snippets-0.6.1 / examples / footer.rs
diff --git a/vendor/annotate-snippets-0.6.1/examples/footer.rs b/vendor/annotate-snippets-0.6.1/examples/footer.rs
new file mode 100644 (file)
index 0000000..1b03910
--- /dev/null
@@ -0,0 +1,37 @@
+use annotate_snippets::display_list::DisplayList;
+use annotate_snippets::formatter::DisplayListFormatter;
+use annotate_snippets::snippet::{Annotation, AnnotationType, Slice, Snippet, SourceAnnotation};
+
+fn main() {
+    let snippet = Snippet {
+        title: Some(Annotation {
+            label: Some("mismatched types".to_string()),
+            id: Some("E0308".to_string()),
+            annotation_type: AnnotationType::Error,
+        }),
+        footer: vec![Annotation {
+            label: Some(
+                "expected type: `snippet::Annotation`\n   found type: `__&__snippet::Annotation`"
+                    .to_string(),
+            ),
+            id: None,
+            annotation_type: AnnotationType::Note,
+        }],
+        slices: vec![Slice {
+            source: "        slices: vec![\"A\",".to_string(),
+            line_start: 13,
+            origin: Some("src/multislice.rs".to_string()),
+            fold: false,
+            annotations: vec![SourceAnnotation {
+                label: "expected struct `annotate_snippets::snippet::Slice`, found reference"
+                    .to_string(),
+                range: (21, 24),
+                annotation_type: AnnotationType::Error,
+            }],
+        }],
+    };
+
+    let dl = DisplayList::from(snippet);
+    let dlf = DisplayListFormatter::new(true, false);
+    println!("{}", dlf.format(&dl));
+}