You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: lib.rs
    path of file: ./repos/objc2/crates/test-assembly/crates/test_declare_class
    
    the code of the file until where you have to start completion: //! Test assembly output of `declare_class!`.
#![deny(unsafe_op_in_unsafe_fn)]
// Limit to Apple targets only, since we don't particularly care about GNUStep code-size for now.
#![cfg(feature = "apple")]
// Limit to 64-bit since we don't do anything special on other targets, and the assembly files are _huge_.
#![cfg(target_pointer_width =
    
        fn method_simple(&self) {}

        #[no_mangle]
        #[method(methodBool:)]
        fn method_bool(&self, val: bool) -> bool {
            !val
        }

        #[no_mangle]
        #[method_id(methodId)]
        fn method_id(&self) -> Option<Id<NSObject>> {
            unsafe { msg_send_id![Self::class(), new] }
        }

        // Test that `objc_autoreleaseReturnValue` is tail-called
        #[no_mangle]
        #[method_id(methodIdWithParam:)]
        fn method_id_with_param(&self, param: bool) -> Option<Id<NSObject>> {
            // Intentionally create this outside condition
            let obj = NSObject::new();
            if param {
                Some(NSObject::new())
            } else {
                Some(obj)
            }
        }
    }