diff --git a/src/lib.rs b/src/lib.rs
index 3b7a75d29c65a5c4c5545efc6bab012e6332db7d..f4287a4ab38d842c867844c660441ae13000811a 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -19,5 +19,15 @@ pub fn my_attribute(args: TokenStream, input: TokenStream) -> TokenStream {
 }
 
 fn app(args: TokenStream2, input: TokenStream2) -> parse::Result<TokenStream> {
+    match syn::parse2(input.clone())? {
+        Item::Fn(f) => {
+            eprintln!("we found a function");
+        }
+        Item::Struct(s) => {
+            eprintln!("we found a struct");
+        }
+        _ => unimplemented!("case not covered"),
+    }
+
     Ok(input.into())
 }