Skip to content

Commit

Permalink
cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
hkratz committed Sep 27, 2024
1 parent 605fe21 commit bd1aeb2
Showing 1 changed file with 9 additions and 16 deletions.
25 changes: 9 additions & 16 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,40 +1,33 @@
extern crate proc_macro;

use proc_macro::TokenStream;

#[rustversion::any(before(1.43.0))]
#[proc_macro_attribute]
pub fn expect(
_attr: proc_macro::TokenStream,
item: proc_macro::TokenStream,
) -> proc_macro::TokenStream {
pub fn expect(_attr: TokenStream, item: TokenStream) -> TokenStream {
// using #[allow(...)] does not work before 1.43.0 due to a bug
item
}

#[rustversion::all(since(1.43.0), before(1.81))]
#[proc_macro_attribute]
pub fn expect(
attr: proc_macro::TokenStream,
item: proc_macro::TokenStream,
) -> proc_macro::TokenStream {
pub fn expect(attr: TokenStream, item: TokenStream) -> TokenStream {
replace_attr_name_with(attr, item, "allow")
}

#[rustversion::since(1.81)]
#[proc_macro_attribute]
pub fn expect(
attr: proc_macro::TokenStream,
item: proc_macro::TokenStream,
) -> proc_macro::TokenStream {
pub fn expect(attr: TokenStream, item: TokenStream) -> TokenStream {
replace_attr_name_with(attr, item, "expect")
}

#[rustversion::since(1.43.0)]
fn replace_attr_name_with(
attr: proc_macro::TokenStream,
item: proc_macro::TokenStream,
attr: TokenStream,
item: TokenStream,
allow_or_expect: &str,
) -> proc_macro::TokenStream {
use proc_macro::{Delimiter, Group, Ident, Punct, Spacing, Span, TokenStream, TokenTree};
) -> TokenStream {
use proc_macro::{Delimiter, Group, Ident, Punct, Spacing, Span, TokenTree};
use std::iter::once;
let mut s = TokenStream::new();
s.extend(once(TokenTree::from(Punct::new('#', Spacing::Alone))));
Expand Down

0 comments on commit bd1aeb2

Please sign in to comment.