Skip to content

Commit

Permalink
Merge pull request #9 from ihrwein/gh-actions
Browse files Browse the repository at this point in the history
Gh actions
  • Loading branch information
ihrwein authored Mar 6, 2021
2 parents f7ca871 + cc1a098 commit f03f9d2
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 30 deletions.
47 changes: 47 additions & 0 deletions .github/workflows/check_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Based on https://github.com/actions-rs/meta/blob/master/recipes/quickstart.md

on: [push, pull_request]

name: Check PR

jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2

- name: Install stable toolchain
uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746
with:
profile: minimal
toolchain: stable
override: true

- name: Run cargo check
run: cargo check

- name: Run cargo test
run: cargo test

lints:
name: Lints
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2

- name: Install stable toolchain
uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy

- name: Run cargo fmt
run: cargo fmt --all -- --check

- name: Run cargo clippy
run: cargo clippy -- -D warnings
10 changes: 0 additions & 10 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion examples/foobar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ pub enum FooBar {

fn main() {
println!("{}", FooBar::FooBar(42));
}
}
40 changes: 21 additions & 19 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,9 @@ pub fn display(input: TokenStream) -> TokenStream {
}

fn impl_display(name: &syn::Ident, data: &syn::DataEnum) -> proc_macro2::TokenStream {
let variants = data.variants.iter()
let variants = data
.variants
.iter()
.map(|variant| impl_display_for_variant(name, variant));

quote! {
Expand All @@ -108,29 +110,29 @@ fn impl_display_for_variant(name: &syn::Ident, variant: &syn::Variant) -> proc_m
}
}
}
syn::Fields::Unnamed(ref fields) => {
match fields.unnamed.len() {
0 => {
quote! {
#name::#id() => {
f.write_str(stringify!(#id))?;
f.write_str("()")
}
syn::Fields::Unnamed(ref fields) => match fields.unnamed.len() {
0 => {
quote! {
#name::#id() => {
f.write_str(stringify!(#id))?;
f.write_str("()")
}
}
1 => {
quote! {
#name::#id(ref inner) => {
::std::fmt::Display::fmt(inner, f)
}
}
1 => {
quote! {
#name::#id(ref inner) => {
::std::fmt::Display::fmt(inner, f)
}
}
_ => {
panic!("#[derive(Display)] does not support tuple variants with more than one \
fields")
}
}
}
_ => {
panic!(
"#[derive(Display)] does not support tuple variants with more than one \
fields"
)
}
},
_ => panic!("#[derive(Display)] works only with unit and tuple variants"),
}
}

0 comments on commit f03f9d2

Please sign in to comment.