{"record":{"id":"a6470593f03c880b","repo":"DioxusLabs/dioxus","slug":"use-this-self-instead-of-self","errorCode":null,"errorMessage":"Use `this: &Self` instead of `self`","messagePattern":"Use `this: &Self` instead of `self`","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/manganis/manganis-macro/src/ffi.rs","lineNumber":231,"sourceCode":"\n                    let arg_ty = ForeignType::from_type(&pat_type.ty)?;\n\n                    // Check if first arg is `this: &SomeType`\n                    if i == 0\n                        && arg_name == \"this\"\n                        && let ForeignType::OpaqueRef(type_name) = &arg_ty\n                    {\n                        receiver = Some(type_name.clone());\n                        continue; // Don't add to args\n                    }\n\n                    args.push(ForeignArg {\n                        name: arg_name,\n                        ty: arg_ty,\n                    });\n                }\n                syn::FnArg::Receiver(_) => {\n                    return Err(syn::Error::new(\n                        input.span(),\n                        \"Use `this: &Self` instead of `self`\",\n                    ));\n                }\n            }\n        }\n\n        let return_type = match &func.sig.output {\n            ReturnType::Default => ForeignType::Unit,\n            ReturnType::Type(_, ty) => ForeignType::from_type(ty)?,\n        };\n\n        Ok(Self {\n            name,\n            receiver,\n            args,\n            return_type,\n        })","sourceCodeStart":213,"sourceCodeEnd":249,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/24f6a829df0dfa203961a98ea4cae21c2ff27e28/packages/manganis/manganis-macro/src/ffi.rs#L213-L249","documentation":"`from_foreign_fn` requires the receiver-like first argument of a foreign method to be written `this: &SomeType`; this compile error fires when the parameter is named `self` instead. FFI bridges can't use Rust's implicit self, so the first argument must be an explicit `this` reference.","triggerScenarios":"Thrown at packages/manganis/manganis-macro/src/ffi.rs:231 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Replace the `self` receiver with an explicit `this: &Self` parameter in the FFI function signature."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"24f6a829df0dfa203961a98ea4cae21c2ff27e28","analyzedAt":"2026-08-23T07:10:14.078Z","contentChangedAt":"2026-08-23T07:10:14.078Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}