601ec251f8
This patch adds support for multiple rustdoc output formats to the test suite. This is a preparation for adding support for rustdoc’s JSON output.
55 lines
1.5 KiB
Plaintext
55 lines
1.5 KiB
Plaintext
---
|
|
source: tests/output.rs
|
|
expression: "get_stdout(&[\"-e\", item])"
|
|
---
|
|
anyhow Module anyhow rusty-man
|
|
|
|
EXAMPLES
|
|
Example 1 of 5
|
|
use anyhow::Result;
|
|
|
|
fn get_cluster_info() -> Result<ClusterMap> {
|
|
let config = std::fs::read_to_string("cluster.json")?;
|
|
let map: ClusterMap = serde_json::from_str(&config)?;
|
|
Ok(map)
|
|
}
|
|
|
|
Example 2 of 5
|
|
use anyhow::{Context, Result};
|
|
|
|
fn main() -> Result<()> {
|
|
...
|
|
it.detach().context("Failed to detach the important thing")?;
|
|
|
|
let content = std::fs::read(path)
|
|
.with_context(|| format!("Failed to read instrs from {}", path))?;
|
|
...
|
|
}
|
|
|
|
Example 3 of 5
|
|
// If the error was caused by redaction, then return a
|
|
// tombstone instead of the content.
|
|
match root_cause.downcast_ref::<DataStoreError>() {
|
|
Some(DataStoreError::Censored(_)) => Ok(Poll::Ready(REDACTED_CONTENT)),
|
|
None => Err(error),
|
|
}
|
|
|
|
Example 4 of 5
|
|
use thiserror::Error;
|
|
|
|
#[derive(Error, Debug)]
|
|
pub enum FormatError {
|
|
#[error("Invalid header (expected {expected:?}, got {found:?})")]
|
|
InvalidHeader {
|
|
expected: String,
|
|
found: String,
|
|
},
|
|
#[error("Missing attribute: {0}")]
|
|
MissingAttribute(String),
|
|
}
|
|
|
|
Example 5 of 5
|
|
return Err(anyhow!("Missing attribute: {}", missing));
|
|
|
|
|