mirror of https://github.com/zkat/miette.git
fix(misc): Improve ci and fix clippy (#290)
* ci: Update actions, replace actions-rs. * `actions/checkout` is updated from `v1` to the current `v4`. * `actions-rs/toolchain` is replaced by `dtolnay/rust-toolchain` as the `actions-rs` actions haven't been maintained in a long time. * clippy: Remove unnecessary call to `into_iter`. The parameter takes `IntoIterator`, so we don't have to call `into_iter` at the call site. * clippy: Remove explicit lifetime that can be elided. * clippy: tests: Fix useless conversion warnings. * clippy: tests: Remove call to `format!`. * Fix minimal-versions build. Due to changes in the nightly compiler, using a recent nightly requires proc-macro2 1.0.60 or later: https://github.com/dtolnay/proc-macro2/issues/356 * ci: Use is-terminal 0.4.7 for MSRV builds. is-terminal 0.4.8 updated its MSRV to 1.63, so we can't use it with our MSRV of 1.56. Force usage of the older version which has an older MSRV.
This commit is contained in:
parent
a9c2bae9dc
commit
cc81382a60
|
|
@ -10,14 +10,12 @@ jobs:
|
|||
name: Check fmt & build docs
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: stable
|
||||
components: rustfmt
|
||||
override: true
|
||||
- name: rustfmt
|
||||
run: cargo fmt --all -- --check
|
||||
- name: docs
|
||||
|
|
@ -32,14 +30,15 @@ jobs:
|
|||
os: [ubuntu-latest, macOS-latest, windows-latest]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: ${{ matrix.rust }}
|
||||
components: clippy
|
||||
override: true
|
||||
- name: Force older version of is-terminal for MSRV builds
|
||||
if: matrix.rust == '1.56.0'
|
||||
run: cargo update -p is-terminal --precise 0.4.7
|
||||
- name: Clippy
|
||||
run: cargo clippy --all -- -D warnings
|
||||
- name: Run tests
|
||||
|
|
@ -54,14 +53,12 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: nightly
|
||||
components: miri,rust-src
|
||||
override: true
|
||||
- name: Run tests with miri
|
||||
env:
|
||||
MIRIFLAGS: -Zmiri-disable-isolation -Zmiri-strict-provenance
|
||||
|
|
@ -75,13 +72,11 @@ jobs:
|
|||
os: [ubuntu-latest, macOS-latest, windows-latest]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: nightly
|
||||
override: true
|
||||
- name: Run minimal version build
|
||||
run: cargo build -Z minimal-versions --all-features
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,6 @@ repository = "https://github.com/zkat/miette"
|
|||
proc-macro = true
|
||||
|
||||
[dependencies]
|
||||
proc-macro2 = "1.0"
|
||||
proc-macro2 = "1.0.60"
|
||||
quote = "1.0"
|
||||
syn = "2.0.11"
|
||||
|
|
|
|||
|
|
@ -382,10 +382,10 @@ impl GraphicalReportHandler {
|
|||
Ok(())
|
||||
}
|
||||
|
||||
fn render_context<'a>(
|
||||
fn render_context(
|
||||
&self,
|
||||
f: &mut impl fmt::Write,
|
||||
source: &'a dyn SourceCode,
|
||||
source: &dyn SourceCode,
|
||||
context: &LabeledSpan,
|
||||
labels: &[LabeledSpan],
|
||||
) -> fmt::Result {
|
||||
|
|
|
|||
|
|
@ -252,7 +252,7 @@ impl MietteDiagnostic {
|
|||
/// ```
|
||||
pub fn and_labels(mut self, labels: impl IntoIterator<Item = LabeledSpan>) -> Self {
|
||||
let mut all_labels = self.labels.unwrap_or_default();
|
||||
all_labels.extend(labels.into_iter());
|
||||
all_labels.extend(labels);
|
||||
self.labels = Some(all_labels);
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -189,7 +189,7 @@ fn fmt_help() {
|
|||
|
||||
assert_eq!(
|
||||
"1 x hello x \"2\"".to_string(),
|
||||
FooStruct("hello".into()).help().unwrap().to_string()
|
||||
FooStruct("hello").help().unwrap().to_string()
|
||||
);
|
||||
|
||||
#[derive(Debug, Diagnostic, Error)]
|
||||
|
|
@ -201,12 +201,7 @@ fn fmt_help() {
|
|||
|
||||
assert_eq!(
|
||||
"1 x hello x \"2\"".to_string(),
|
||||
BarStruct {
|
||||
my_field: "hello".into()
|
||||
}
|
||||
.help()
|
||||
.unwrap()
|
||||
.to_string()
|
||||
BarStruct { my_field: "hello" }.help().unwrap().to_string()
|
||||
);
|
||||
|
||||
#[derive(Debug, Diagnostic, Error)]
|
||||
|
|
@ -224,7 +219,7 @@ fn fmt_help() {
|
|||
|
||||
assert_eq!(
|
||||
"1 x bar x \"2\"".to_string(),
|
||||
FooEnum::X("bar".into()).help().unwrap().to_string()
|
||||
FooEnum::X("bar").help().unwrap().to_string()
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
|
|
@ -250,12 +245,7 @@ fn help_field() {
|
|||
|
||||
assert_eq!(
|
||||
"x".to_string(),
|
||||
Foo {
|
||||
do_this: Some("x".into())
|
||||
}
|
||||
.help()
|
||||
.unwrap()
|
||||
.to_string()
|
||||
Foo { do_this: Some("x") }.help().unwrap().to_string()
|
||||
);
|
||||
|
||||
#[derive(Debug, Diagnostic, Error)]
|
||||
|
|
@ -271,16 +261,11 @@ fn help_field() {
|
|||
|
||||
assert_eq!(
|
||||
"x".to_string(),
|
||||
Bar::A(Some("x".into())).help().unwrap().to_string()
|
||||
Bar::A(Some("x")).help().unwrap().to_string()
|
||||
);
|
||||
assert_eq!(
|
||||
"x".to_string(),
|
||||
Bar::B {
|
||||
do_this: Some("x".into())
|
||||
}
|
||||
.help()
|
||||
.unwrap()
|
||||
.to_string()
|
||||
Bar::B { do_this: Some("x") }.help().unwrap().to_string()
|
||||
);
|
||||
|
||||
#[derive(Debug, Diagnostic, Error)]
|
||||
|
|
@ -288,20 +273,14 @@ fn help_field() {
|
|||
#[diagnostic()]
|
||||
struct Baz<'a>(#[help] Option<&'a str>);
|
||||
|
||||
assert_eq!(
|
||||
"x".to_string(),
|
||||
Baz(Some("x".into())).help().unwrap().to_string()
|
||||
);
|
||||
assert_eq!("x".to_string(), Baz(Some("x")).help().unwrap().to_string());
|
||||
|
||||
#[derive(Debug, Diagnostic, Error)]
|
||||
#[error("welp")]
|
||||
#[diagnostic()]
|
||||
struct Quux<'a>(#[help] &'a str);
|
||||
|
||||
assert_eq!(
|
||||
"x".to_string(),
|
||||
Quux("x".into()).help().unwrap().to_string()
|
||||
);
|
||||
assert_eq!("x".to_string(), Quux("x").help().unwrap().to_string());
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ fn test_diagnostic_source() {
|
|||
fn test_diagnostic_source_pass_extra_info() {
|
||||
let diag = TestBoxedError(Box::new(SourceError {
|
||||
code: String::from("Hello\nWorld!"),
|
||||
help: format!("Have you tried turning it on and off again?"),
|
||||
help: String::from("Have you tried turning it on and off again?"),
|
||||
label: (1, 4),
|
||||
}));
|
||||
let mut out = String::new();
|
||||
|
|
|
|||
|
|
@ -52,7 +52,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -98,7 +97,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -144,7 +142,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -190,7 +187,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -235,7 +231,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -281,7 +276,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -347,7 +341,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -393,7 +386,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -456,7 +448,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -532,7 +523,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -588,7 +578,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -644,7 +633,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -700,7 +688,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -728,7 +715,6 @@ mod json_report_handler {
|
|||
"related": []
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -822,7 +808,6 @@ mod json_report_handler {
|
|||
}]
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
@ -920,7 +905,6 @@ mod json_report_handler {
|
|||
}]
|
||||
}"#
|
||||
.lines()
|
||||
.into_iter()
|
||||
.map(|s| s.trim_matches(|c| c == ' ' || c == '\n'))
|
||||
.collect();
|
||||
assert_eq!(expected, out);
|
||||
|
|
|
|||
Loading…
Reference in New Issue