convertor/api-server/target/debug/.fingerprint/convertx-ras-api-20f9dbbf5a5f86b5/output-lib-convertx_ras_api

98 lines
296 KiB
Text

{"$message_type":"diagnostic","message":"file for module `models` found at both \"src\\models.rs\" and \"src\\models\\mod.rs\"","code":{"code":"E0761","explanation":"Multiple candidate files were found for an out-of-line module.\n\nErroneous code example:\n\n```ignore (Multiple source files are required for compile_fail.)\n// file: ambiguous_module/mod.rs\n\nfn foo() {}\n\n// file: ambiguous_module.rs\n\nfn foo() {}\n\n// file: lib.rs\n\nmod ambiguous_module; // error: file for module `ambiguous_module`\n // found at both ambiguous_module.rs and\n // ambiguous_module/mod.rs\n```\n\nPlease remove this ambiguity by deleting/renaming one of the candidate files.\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":1939,"byte_end":1954,"line_start":54,"line_end":54,"column_start":1,"column_end":16,"is_primary":true,"text":[{"text":"pub mod models;","highlight_start":1,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"delete or rename one of them to remove the ambiguity","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0761]\u001b[0m\u001b[1m\u001b[97m: file for module `models` found at both \"src\\models.rs\" and \"src\\models\\mod.rs\"\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\lib.rs:54:1\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m54\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub mod models;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mhelp\u001b[0m: delete or rename one of them to remove the ambiguity\n\n"}
{"$message_type":"diagnostic","message":"expected expression, found `.`","code":null,"level":"error","spans":[{"file_name":"src\\routes\\jobs.rs","byte_start":916,"byte_end":1318,"line_start":34,"line_end":47,"column_start":1,"column_end":3,"is_primary":true,"text":[{"text":"#[utoipa::path(","highlight_start":1,"highlight_end":16},{"text":" post,","highlight_start":1,"highlight_end":10},{"text":" path = \"/api/v1/jobs\",","highlight_start":1,"highlight_end":27},{"text":" tag = \"Jobs\",","highlight_start":1,"highlight_end":18},{"text":" request_body(content_type = \"multipart/form-data\"),","highlight_start":1,"highlight_end":56},{"text":" responses(","highlight_start":1,"highlight_end":15},{"text":" (status = 201, description = \"Job created\", body = CreateJobResponse),","highlight_start":1,"highlight_end":79},{"text":" (status = 400, description = \"Invalid request\"),","highlight_start":1,"highlight_end":57},{"text":" (status = 401, description = \"Unauthorized\")","highlight_start":1,"highlight_end":53},{"text":" ),","highlight_start":1,"highlight_end":7},{"text":" security(","highlight_start":1,"highlight_end":14},{"text":" (\"bearer_auth\" = [])","highlight_start":1,"highlight_end":29},{"text":" )","highlight_start":1,"highlight_end":6},{"text":")]","highlight_start":1,"highlight_end":3}],"label":"expected expression","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src\\routes\\jobs.rs","byte_start":916,"byte_end":1318,"line_start":34,"line_end":47,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"#[utoipa::path(","highlight_start":1,"highlight_end":16},{"text":" post,","highlight_start":1,"highlight_end":10},{"text":" path = \"/api/v1/jobs\",","highlight_start":1,"highlight_end":27},{"text":" tag = \"Jobs\",","highlight_start":1,"highlight_end":18},{"text":" request_body(content_type = \"multipart/form-data\"),","highlight_start":1,"highlight_end":56},{"text":" responses(","highlight_start":1,"highlight_end":15},{"text":" (status = 201, description = \"Job created\", body = CreateJobResponse),","highlight_start":1,"highlight_end":79},{"text":" (status = 400, description = \"Invalid request\"),","highlight_start":1,"highlight_end":57},{"text":" (status = 401, description = \"Unauthorized\")","highlight_start":1,"highlight_end":53},{"text":" ),","highlight_start":1,"highlight_end":7},{"text":" security(","highlight_start":1,"highlight_end":14},{"text":" (\"bearer_auth\" = [])","highlight_start":1,"highlight_end":29},{"text":" )","highlight_start":1,"highlight_end":6},{"text":")]","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[utoipa::path]","def_site_span":{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\utoipa-gen-4.3.1\\src\\lib.rs","byte_start":26791,"byte_end":26810,"line_start":645,"line_end":645,"column_start":1,"column_end":20,"is_primary":false,"text":[{"text":"#[proc_macro_error]","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m\u001b[97m: expected expression, found `.`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\jobs.rs:34:1\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m34\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m/\u001b[0m #[utoipa::path(\n\u001b[1m\u001b[96m35\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m post,\n\u001b[1m\u001b[96m36\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m path = \"/api/v1/jobs\",\n\u001b[1m\u001b[96m37\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m tag = \"Jobs\",\n\u001b[1m\u001b[96m...\u001b[0m \u001b[1m\u001b[91m|\u001b[0m\n\u001b[1m\u001b[96m47\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m )]\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m|__^\u001b[0m \u001b[1m\u001b[91mexpected expression\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: this error originates in the attribute macro `utoipa::path` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"$message_type":"diagnostic","message":"unexpected identifier, expected any of: operation_id, path, get, post, put, delete, options, head, patch, trace, connect, request_body, responses, params, tag, security, context_path","code":null,"level":"error","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":2311,"byte_end":2318,"line_start":83,"line_end":83,"column_start":5,"column_end":12,"is_primary":true,"text":[{"text":" summary = \"Get storage statistics\",","highlight_start":5,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m\u001b[97m: unexpected identifier, expected any of: operation_id, path, get, post, put, delete, options, head, patch, trace, connect, request_body, responses, params, tag, security, context_path\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\admin.rs:83:5\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m83\u001b[0m \u001b[1m\u001b[96m|\u001b[0m summary = \"Get storage statistics\",\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unexpected identifier, expected any of: operation_id, path, get, post, put, delete, options, head, patch, trace, connect, request_body, responses, params, tag, security, context_path","code":null,"level":"error","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":4314,"byte_end":4321,"line_start":137,"line_end":137,"column_start":5,"column_end":12,"is_primary":true,"text":[{"text":" summary = \"Purge ALL data\",","highlight_start":5,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m\u001b[97m: unexpected identifier, expected any of: operation_id, path, get, post, put, delete, options, head, patch, trace, connect, request_body, responses, params, tag, security, context_path\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\admin.rs:137:5\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m137\u001b[0m \u001b[1m\u001b[96m|\u001b[0m summary = \"Purge ALL data\",\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unexpected identifier, expected any of: operation_id, path, get, post, put, delete, options, head, patch, trace, connect, request_body, responses, params, tag, security, context_path","code":null,"level":"error","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":6647,"byte_end":6654,"line_start":205,"line_end":205,"column_start":5,"column_end":12,"is_primary":true,"text":[{"text":" summary = \"Purge user data (keep admin)\",","highlight_start":5,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m\u001b[97m: unexpected identifier, expected any of: operation_id, path, get, post, put, delete, options, head, patch, trace, connect, request_body, responses, params, tag, security, context_path\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\admin.rs:205:5\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m205\u001b[0m \u001b[1m\u001b[96m|\u001b[0m summary = \"Purge user data (keep admin)\",\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unexpected identifier, expected any of: operation_id, path, get, post, put, delete, options, head, patch, trace, connect, request_body, responses, params, tag, security, context_path","code":null,"level":"error","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":9135,"byte_end":9142,"line_start":274,"line_end":274,"column_start":5,"column_end":12,"is_primary":true,"text":[{"text":" summary = \"Run file cleanup\",","highlight_start":5,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m\u001b[97m: unexpected identifier, expected any of: operation_id, path, get, post, put, delete, options, head, patch, trace, connect, request_body, responses, params, tag, security, context_path\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\admin.rs:274:5\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m274\u001b[0m \u001b[1m\u001b[96m|\u001b[0m summary = \"Run file cleanup\",\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"allow, cfg, cfg_attr, deny, expect, forbid, and warn are the only allowed built-in attributes in function parameters","code":null,"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":12719,"byte_end":12740,"line_start":413,"line_end":413,"column_start":9,"column_end":30,"is_primary":true,"text":[{"text":" /// Original filename","highlight_start":9,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m\u001b[97m: allow, cfg, cfg_attr, deny, expect, forbid, and warn are the only allowed built-in attributes in function parameters\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:413:9\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m413\u001b[0m \u001b[1m\u001b[96m|\u001b[0m /// Original filename\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"allow, cfg, cfg_attr, deny, expect, forbid, and warn are the only allowed built-in attributes in function parameters","code":null,"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":12777,"byte_end":12808,"line_start":415,"line_end":415,"column_start":9,"column_end":40,"is_primary":true,"text":[{"text":" /// Base64-encoded file content","highlight_start":9,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m\u001b[97m: allow, cfg, cfg_attr, deny, expect, forbid, and warn are the only allowed built-in attributes in function parameters\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:415:9\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m415\u001b[0m \u001b[1m\u001b[96m|\u001b[0m /// Base64-encoded file content\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"allow, cfg, cfg_attr, deny, expect, forbid, and warn are the only allowed built-in attributes in function parameters","code":null,"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":12848,"byte_end":12879,"line_start":417,"line_end":417,"column_start":9,"column_end":40,"is_primary":true,"text":[{"text":" /// Conversion input parameters","highlight_start":9,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m\u001b[97m: allow, cfg, cfg_attr, deny, expect, forbid, and warn are the only allowed built-in attributes in function parameters\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:417:9\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m417\u001b[0m \u001b[1m\u001b[96m|\u001b[0m /// Conversion input parameters\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"failed to resolve: could not find `__path_get_admin_stats` in `admin`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":324,"byte_end":331,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":true,"text":[{"text":"#[derive(OpenApi)]","highlight_start":10,"highlight_end":17}],"label":"could not find `__path_get_admin_stats` in `admin`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src\\openapi.rs","byte_start":324,"byte_end":331,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":false,"text":[{"text":"#[derive(OpenApi)]","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[derive(OpenApi)]","def_site_span":{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\utoipa-gen-4.3.1\\src\\lib.rs","byte_start":57912,"byte_end":57931,"line_start":1408,"line_end":1408,"column_start":1,"column_end":20,"is_primary":false,"text":[{"text":"#[proc_macro_error]","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m\u001b[97m: failed to resolve: could not find `__path_get_admin_stats` in `admin`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:14:10\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m14\u001b[0m \u001b[1m\u001b[96m|\u001b[0m #[derive(OpenApi)]\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `__path_get_admin_stats` in `admin`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: this error originates in the derive macro `OpenApi` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"$message_type":"diagnostic","message":"failed to resolve: could not find `__path_purge_all` in `admin`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":324,"byte_end":331,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":true,"text":[{"text":"#[derive(OpenApi)]","highlight_start":10,"highlight_end":17}],"label":"could not find `__path_purge_all` in `admin`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src\\openapi.rs","byte_start":324,"byte_end":331,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":false,"text":[{"text":"#[derive(OpenApi)]","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[derive(OpenApi)]","def_site_span":{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\utoipa-gen-4.3.1\\src\\lib.rs","byte_start":57912,"byte_end":57931,"line_start":1408,"line_end":1408,"column_start":1,"column_end":20,"is_primary":false,"text":[{"text":"#[proc_macro_error]","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m\u001b[97m: failed to resolve: could not find `__path_purge_all` in `admin`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:14:10\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m14\u001b[0m \u001b[1m\u001b[96m|\u001b[0m #[derive(OpenApi)]\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `__path_purge_all` in `admin`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: this error originates in the derive macro `OpenApi` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"$message_type":"diagnostic","message":"failed to resolve: could not find `__path_purge_users` in `admin`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":324,"byte_end":331,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":true,"text":[{"text":"#[derive(OpenApi)]","highlight_start":10,"highlight_end":17}],"label":"could not find `__path_purge_users` in `admin`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src\\openapi.rs","byte_start":324,"byte_end":331,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":false,"text":[{"text":"#[derive(OpenApi)]","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[derive(OpenApi)]","def_site_span":{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\utoipa-gen-4.3.1\\src\\lib.rs","byte_start":57912,"byte_end":57931,"line_start":1408,"line_end":1408,"column_start":1,"column_end":20,"is_primary":false,"text":[{"text":"#[proc_macro_error]","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m\u001b[97m: failed to resolve: could not find `__path_purge_users` in `admin`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:14:10\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m14\u001b[0m \u001b[1m\u001b[96m|\u001b[0m #[derive(OpenApi)]\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `__path_purge_users` in `admin`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: this error originates in the derive macro `OpenApi` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"$message_type":"diagnostic","message":"failed to resolve: could not find `__path_run_cleanup` in `admin`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":324,"byte_end":331,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":true,"text":[{"text":"#[derive(OpenApi)]","highlight_start":10,"highlight_end":17}],"label":"could not find `__path_run_cleanup` in `admin`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src\\openapi.rs","byte_start":324,"byte_end":331,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":false,"text":[{"text":"#[derive(OpenApi)]","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[derive(OpenApi)]","def_site_span":{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\utoipa-gen-4.3.1\\src\\lib.rs","byte_start":57912,"byte_end":57931,"line_start":1408,"line_end":1408,"column_start":1,"column_end":20,"is_primary":false,"text":[{"text":"#[proc_macro_error]","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m\u001b[97m: failed to resolve: could not find `__path_run_cleanup` in `admin`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:14:10\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m14\u001b[0m \u001b[1m\u001b[96m|\u001b[0m #[derive(OpenApi)]\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `__path_run_cleanup` in `admin`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: this error originates in the derive macro `OpenApi` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"$message_type":"diagnostic","message":"cannot find value `get_admin_stats` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":1875,"byte_end":1890,"line_start":69,"line_end":69,"column_start":58,"column_end":73,"is_primary":true,"text":[{"text":" .route(\"/api/v1/admin/stats\", axum::routing::get(get_admin_stats))","highlight_start":58,"highlight_end":73}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find value `get_admin_stats` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\admin.rs:69:58\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m69\u001b[0m \u001b[1m\u001b[96m|\u001b[0m .route(\"/api/v1/admin/stats\", axum::routing::get(get_admin_stats))\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find value `purge_all` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":1941,"byte_end":1950,"line_start":70,"line_end":70,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" .route(\"/api/v1/admin/purge/all\", post(purge_all))","highlight_start":48,"highlight_end":57}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find value `purge_all` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\admin.rs:70:48\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m70\u001b[0m \u001b[1m\u001b[96m|\u001b[0m .route(\"/api/v1/admin/purge/all\", post(purge_all))\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find value `purge_users` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":2003,"byte_end":2014,"line_start":71,"line_end":71,"column_start":50,"column_end":61,"is_primary":true,"text":[{"text":" .route(\"/api/v1/admin/purge/users\", post(purge_users))","highlight_start":50,"highlight_end":61}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find value `purge_users` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\admin.rs:71:50\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m71\u001b[0m \u001b[1m\u001b[96m|\u001b[0m .route(\"/api/v1/admin/purge/users\", post(purge_users))\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find value `run_cleanup` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":2063,"byte_end":2074,"line_start":72,"line_end":72,"column_start":46,"column_end":57,"is_primary":true,"text":[{"text":" .route(\"/api/v1/admin/cleanup\", post(run_cleanup))","highlight_start":46,"highlight_end":57}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find value `run_cleanup` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\admin.rs:72:46\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m72\u001b[0m \u001b[1m\u001b[96m|\u001b[0m .route(\"/api/v1/admin/cleanup\", post(run_cleanup))\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `HealthResponse` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":2844,"byte_end":2858,"line_start":64,"line_end":64,"column_start":13,"column_end":27,"is_primary":true,"text":[{"text":" HealthResponse,","highlight_start":13,"highlight_end":27}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `HealthResponse` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:64:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m64\u001b[0m \u001b[1m\u001b[96m|\u001b[0m HealthResponse,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `InfoResponse` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":2873,"byte_end":2885,"line_start":65,"line_end":65,"column_start":13,"column_end":25,"is_primary":true,"text":[{"text":" InfoResponse,","highlight_start":13,"highlight_end":25}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `InfoResponse` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:65:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m65\u001b[0m \u001b[1m\u001b[96m|\u001b[0m InfoResponse,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `EndpointList` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":2900,"byte_end":2912,"line_start":66,"line_end":66,"column_start":13,"column_end":25,"is_primary":true,"text":[{"text":" EndpointList,","highlight_start":13,"highlight_end":25}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `EndpointList` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:66:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m66\u001b[0m \u001b[1m\u001b[96m|\u001b[0m EndpointList,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `Capabilities` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":2927,"byte_end":2939,"line_start":67,"line_end":67,"column_start":13,"column_end":25,"is_primary":true,"text":[{"text":" Capabilities,","highlight_start":13,"highlight_end":25}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `Capabilities` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:67:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m67\u001b[0m \u001b[1m\u001b[96m|\u001b[0m Capabilities,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `ApiError` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":2954,"byte_end":2962,"line_start":68,"line_end":68,"column_start":13,"column_end":21,"is_primary":true,"text":[{"text":" ApiError,","highlight_start":13,"highlight_end":21}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider importing this enum","code":null,"level":"help","spans":[{"file_name":"src\\openapi.rs","byte_start":99,"byte_end":99,"line_start":5,"line_end":5,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use axum::Router;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::error::ApiError;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `ApiError` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:68:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m68\u001b[0m \u001b[1m\u001b[96m|\u001b[0m ApiError,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider importing this enum\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m5\u001b[0m \u001b[92m+ use crate::error::ApiError;\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `ResponseMeta` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":2977,"byte_end":2989,"line_start":69,"line_end":69,"column_start":13,"column_end":25,"is_primary":true,"text":[{"text":" ResponseMeta,","highlight_start":13,"highlight_end":25}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `ResponseMeta` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:69:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m69\u001b[0m \u001b[1m\u001b[96m|\u001b[0m ResponseMeta,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `EngineInfo` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3041,"byte_end":3051,"line_start":72,"line_end":72,"column_start":13,"column_end":23,"is_primary":true,"text":[{"text":" EngineInfo,","highlight_start":13,"highlight_end":23}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `EngineInfo` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:72:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m72\u001b[0m \u001b[1m\u001b[96m|\u001b[0m EngineInfo,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `EngineConversion` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3066,"byte_end":3082,"line_start":73,"line_end":73,"column_start":13,"column_end":29,"is_primary":true,"text":[{"text":" EngineConversion,","highlight_start":13,"highlight_end":29}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `EngineConversion` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:73:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m73\u001b[0m \u001b[1m\u001b[96m|\u001b[0m EngineConversion,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `EngineDetail` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3097,"byte_end":3109,"line_start":74,"line_end":74,"column_start":13,"column_end":25,"is_primary":true,"text":[{"text":" EngineDetail,","highlight_start":13,"highlight_end":25}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `EngineDetail` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:74:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m74\u001b[0m \u001b[1m\u001b[96m|\u001b[0m EngineDetail,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `ListEnginesResponse` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3124,"byte_end":3143,"line_start":75,"line_end":75,"column_start":13,"column_end":32,"is_primary":true,"text":[{"text":" ListEnginesResponse,","highlight_start":13,"highlight_end":32}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `ListEnginesResponse` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:75:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m75\u001b[0m \u001b[1m\u001b[96m|\u001b[0m ListEnginesResponse,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `ConversionTarget` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3158,"byte_end":3174,"line_start":76,"line_end":76,"column_start":13,"column_end":29,"is_primary":true,"text":[{"text":" ConversionTarget,","highlight_start":13,"highlight_end":29}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `ConversionTarget` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:76:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m76\u001b[0m \u001b[1m\u001b[96m|\u001b[0m ConversionTarget,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `ListFormatsResponse` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3226,"byte_end":3245,"line_start":79,"line_end":79,"column_start":13,"column_end":32,"is_primary":true,"text":[{"text":" ListFormatsResponse,","highlight_start":13,"highlight_end":32}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `ListFormatsResponse` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:79:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m79\u001b[0m \u001b[1m\u001b[96m|\u001b[0m ListFormatsResponse,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `FormatTargetsResponse` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3260,"byte_end":3281,"line_start":80,"line_end":80,"column_start":13,"column_end":34,"is_primary":true,"text":[{"text":" FormatTargetsResponse,","highlight_start":13,"highlight_end":34}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `FormatTargetsResponse` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:80:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m80\u001b[0m \u001b[1m\u001b[96m|\u001b[0m FormatTargetsResponse,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `ValidateRequest` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3333,"byte_end":3348,"line_start":83,"line_end":83,"column_start":13,"column_end":28,"is_primary":true,"text":[{"text":" ValidateRequest,","highlight_start":13,"highlight_end":28}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `ValidateRequest` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:83:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m83\u001b[0m \u001b[1m\u001b[96m|\u001b[0m ValidateRequest,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `ValidateResponse` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3363,"byte_end":3379,"line_start":84,"line_end":84,"column_start":13,"column_end":29,"is_primary":true,"text":[{"text":" ValidateResponse,","highlight_start":13,"highlight_end":29}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `ValidateResponse` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:84:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m84\u001b[0m \u001b[1m\u001b[96m|\u001b[0m ValidateResponse,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `JobStatus` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3431,"byte_end":3440,"line_start":87,"line_end":87,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" JobStatus,","highlight_start":13,"highlight_end":22}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `JobStatus` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:87:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m87\u001b[0m \u001b[1m\u001b[96m|\u001b[0m JobStatus,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `ConversionJob` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3455,"byte_end":3468,"line_start":88,"line_end":88,"column_start":13,"column_end":26,"is_primary":true,"text":[{"text":" ConversionJob,","highlight_start":13,"highlight_end":26}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `ConversionJob` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:88:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m88\u001b[0m \u001b[1m\u001b[96m|\u001b[0m ConversionJob,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `JobSummary` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3483,"byte_end":3493,"line_start":89,"line_end":89,"column_start":13,"column_end":23,"is_primary":true,"text":[{"text":" JobSummary,","highlight_start":13,"highlight_end":23}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `JobSummary` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:89:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m89\u001b[0m \u001b[1m\u001b[96m|\u001b[0m JobSummary,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `CreateJobResponse` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3508,"byte_end":3525,"line_start":90,"line_end":90,"column_start":13,"column_end":30,"is_primary":true,"text":[{"text":" CreateJobResponse,","highlight_start":13,"highlight_end":30}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `CreateJobResponse` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:90:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m90\u001b[0m \u001b[1m\u001b[96m|\u001b[0m CreateJobResponse,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `JobStatusResponse` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3540,"byte_end":3557,"line_start":91,"line_end":91,"column_start":13,"column_end":30,"is_primary":true,"text":[{"text":" JobStatusResponse,","highlight_start":13,"highlight_end":30}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `JobStatusResponse` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:91:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m91\u001b[0m \u001b[1m\u001b[96m|\u001b[0m JobStatusResponse,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `ListJobsResponse` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3572,"byte_end":3588,"line_start":92,"line_end":92,"column_start":13,"column_end":29,"is_primary":true,"text":[{"text":" ListJobsResponse,","highlight_start":13,"highlight_end":29}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `ListJobsResponse` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:92:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m92\u001b[0m \u001b[1m\u001b[96m|\u001b[0m ListJobsResponse,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find type `DeleteJobResponse` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":3603,"byte_end":3620,"line_start":93,"line_end":93,"column_start":13,"column_end":30,"is_primary":true,"text":[{"text":" DeleteJobResponse,","highlight_start":13,"highlight_end":30}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0425]\u001b[0m\u001b[1m\u001b[97m: cannot find type `DeleteJobResponse` in this scope\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:93:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m93\u001b[0m \u001b[1m\u001b[96m|\u001b[0m DeleteJobResponse,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mnot found in this scope\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"module `dispatcher` is private","code":{"code":"E0603","explanation":"A private item was used outside its scope.\n\nErroneous code example:\n\n```compile_fail,E0603\nmod foo {\n const PRIVATE: u32 = 0x_a_bad_1dea_u32; // This const is private, so we\n // can't use it outside of the\n // `foo` module.\n}\n\nprintln!(\"const value: {}\", foo::PRIVATE); // error: constant `PRIVATE`\n // is private\n```\n\nIn order to fix this error, you need to make the item public by using the `pub`\nkeyword. Example:\n\n```\nmod foo {\n pub const PRIVATE: u32 = 0x_a_bad_1dea_u32; // We set it public by using the\n // `pub` keyword.\n}\n\nprintln!(\"const value: {}\", foo::PRIVATE); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src\\routes\\validate.rs","byte_start":234,"byte_end":244,"line_start":12,"line_end":12,"column_start":22,"column_end":32,"is_primary":true,"text":[{"text":"use crate::services::dispatcher::ValidationResult;","highlight_start":22,"highlight_end":32}],"label":"private module","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\validate.rs","byte_start":246,"byte_end":262,"line_start":12,"line_end":12,"column_start":34,"column_end":50,"is_primary":false,"text":[{"text":"use crate::services::dispatcher::ValidationResult;","highlight_start":34,"highlight_end":50}],"label":"enum `ValidationResult` is not publicly re-exported","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the module `dispatcher` is defined here","code":null,"level":"note","spans":[{"file_name":"src\\services\\mod.rs","byte_start":140,"byte_end":155,"line_start":6,"line_end":6,"column_start":1,"column_end":16,"is_primary":true,"text":[{"text":"mod dispatcher;","highlight_start":1,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0603]\u001b[0m\u001b[1m\u001b[97m: module `dispatcher` is private\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\validate.rs:12:22\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m12\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use crate::services::dispatcher::ValidationResult;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^\u001b[0m \u001b[1m\u001b[96m----------------\u001b[0m \u001b[1m\u001b[96menum `ValidationResult` is not publicly re-exported\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91mprivate module\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[92mnote\u001b[0m: the module `dispatcher` is defined here\n \u001b[1m\u001b[96m--> \u001b[0msrc\\services\\mod.rs:6:1\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m6\u001b[0m \u001b[1m\u001b[96m|\u001b[0m mod dispatcher;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"module `dispatcher` is private","code":{"code":"E0603","explanation":"A private item was used outside its scope.\n\nErroneous code example:\n\n```compile_fail,E0603\nmod foo {\n const PRIVATE: u32 = 0x_a_bad_1dea_u32; // This const is private, so we\n // can't use it outside of the\n // `foo` module.\n}\n\nprintln!(\"const value: {}\", foo::PRIVATE); // error: constant `PRIVATE`\n // is private\n```\n\nIn order to fix this error, you need to make the item public by using the `pub`\nkeyword. Example:\n\n```\nmod foo {\n pub const PRIVATE: u32 = 0x_a_bad_1dea_u32; // We set it public by using the\n // `pub` keyword.\n}\n\nprintln!(\"const value: {}\", foo::PRIVATE); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src\\routes\\jobs.rs","byte_start":461,"byte_end":471,"line_start":20,"line_end":20,"column_start":22,"column_end":32,"is_primary":true,"text":[{"text":"use crate::services::dispatcher::ValidationResult;","highlight_start":22,"highlight_end":32}],"label":"private module","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\jobs.rs","byte_start":473,"byte_end":489,"line_start":20,"line_end":20,"column_start":34,"column_end":50,"is_primary":false,"text":[{"text":"use crate::services::dispatcher::ValidationResult;","highlight_start":34,"highlight_end":50}],"label":"enum `ValidationResult` is not publicly re-exported","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the module `dispatcher` is defined here","code":null,"level":"note","spans":[{"file_name":"src\\services\\mod.rs","byte_start":140,"byte_end":155,"line_start":6,"line_end":6,"column_start":1,"column_end":16,"is_primary":true,"text":[{"text":"mod dispatcher;","highlight_start":1,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0603]\u001b[0m\u001b[1m\u001b[97m: module `dispatcher` is private\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\jobs.rs:20:22\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m20\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use crate::services::dispatcher::ValidationResult;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^\u001b[0m \u001b[1m\u001b[96m----------------\u001b[0m \u001b[1m\u001b[96menum `ValidationResult` is not publicly re-exported\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91mprivate module\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[92mnote\u001b[0m: the module `dispatcher` is defined here\n \u001b[1m\u001b[96m--> \u001b[0msrc\\services\\mod.rs:6:1\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m6\u001b[0m \u001b[1m\u001b[96m|\u001b[0m mod dispatcher;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"module `admin` is private","code":{"code":"E0603","explanation":"A private item was used outside its scope.\n\nErroneous code example:\n\n```compile_fail,E0603\nmod foo {\n const PRIVATE: u32 = 0x_a_bad_1dea_u32; // This const is private, so we\n // can't use it outside of the\n // `foo` module.\n}\n\nprintln!(\"const value: {}\", foo::PRIVATE); // error: constant `PRIVATE`\n // is private\n```\n\nIn order to fix this error, you need to make the item public by using the `pub`\nkeyword. Example:\n\n```\nmod foo {\n pub const PRIVATE: u32 = 0x_a_bad_1dea_u32; // We set it public by using the\n // `pub` keyword.\n}\n\nprintln!(\"const value: {}\", foo::PRIVATE); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":219,"byte_end":224,"line_start":10,"line_end":10,"column_start":20,"column_end":25,"is_primary":true,"text":[{"text":"use crate::routes::admin::{AdminStatsResponse, PurgeResponse};","highlight_start":20,"highlight_end":25}],"label":"private module","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the module `admin` is defined here","code":null,"level":"note","spans":[{"file_name":"src\\routes\\mod.rs","byte_start":163,"byte_end":173,"line_start":11,"line_end":11,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"mod admin;","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0603]\u001b[0m\u001b[1m\u001b[97m: module `admin` is private\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:10:20\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m10\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use crate::routes::admin::{AdminStatsResponse, PurgeResponse};\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mprivate module\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[92mnote\u001b[0m: the module `admin` is defined here\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\mod.rs:11:1\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m11\u001b[0m \u001b[1m\u001b[96m|\u001b[0m mod admin;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"module `health` is private","code":{"code":"E0603","explanation":"A private item was used outside its scope.\n\nErroneous code example:\n\n```compile_fail,E0603\nmod foo {\n const PRIVATE: u32 = 0x_a_bad_1dea_u32; // This const is private, so we\n // can't use it outside of the\n // `foo` module.\n}\n\nprintln!(\"const value: {}\", foo::PRIVATE); // error: constant `PRIVATE`\n // is private\n```\n\nIn order to fix this error, you need to make the item public by using the `pub`\nkeyword. Example:\n\n```\nmod foo {\n pub const PRIVATE: u32 = 0x_a_bad_1dea_u32; // We set it public by using the\n // `pub` keyword.\n}\n\nprintln!(\"const value: {}\", foo::PRIVATE); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src\\openapi.rs","byte_start":324,"byte_end":331,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":true,"text":[{"text":"#[derive(OpenApi)]","highlight_start":10,"highlight_end":17}],"label":"private module","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\openapi.rs","byte_start":324,"byte_end":331,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":false,"text":[{"text":"#[derive(OpenApi)]","highlight_start":10,"highlight_end":17}],"label":"struct `__path_health_check` is not publicly re-exported","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src\\openapi.rs","byte_start":324,"byte_end":331,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":false,"text":[{"text":"#[derive(OpenApi)]","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[derive(OpenApi)]","def_site_span":{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\utoipa-gen-4.3.1\\src\\lib.rs","byte_start":57912,"byte_end":57931,"line_start":1408,"line_end":1408,"column_start":1,"column_end":20,"is_primary":false,"text":[{"text":"#[proc_macro_error]","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"the module `health` is defined here","code":null,"level":"note","spans":[{"file_name":"src\\routes\\mod.rs","byte_start":85,"byte_end":96,"line_start":5,"line_end":5,"column_start":1,"column_end":12,"is_primary":true,"text":[{"text":"mod health;","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0603]\u001b[0m\u001b[1m\u001b[97m: module `health` is private\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:14:10\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m14\u001b[0m \u001b[1m\u001b[96m|\u001b[0m #[derive(OpenApi)]\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91mprivate module\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mstruct `__path_health_check` is not publicly re-exported\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[92mnote\u001b[0m: the module `health` is defined here\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\mod.rs:5:1\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m5\u001b[0m \u001b[1m\u001b[96m|\u001b[0m mod health;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unexpected `cfg` condition value: `dev-utils`","code":{"code":"unexpected_cfgs","explanation":null},"level":"warning","spans":[{"file_name":"src\\auth.rs","byte_start":5694,"byte_end":5715,"line_start":184,"line_end":184,"column_start":17,"column_end":38,"is_primary":true,"text":[{"text":"#[cfg(any(test, feature = \"dev-utils\"))]","highlight_start":17,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"no expected values for `feature`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider adding `dev-utils` as a feature in `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"`#[warn(unexpected_cfgs)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the condition","code":null,"level":"help","spans":[{"file_name":"src\\auth.rs","byte_start":5694,"byte_end":5715,"line_start":184,"line_end":184,"column_start":17,"column_end":38,"is_primary":true,"text":[{"text":"#[cfg(any(test, feature = \"dev-utils\"))]","highlight_start":17,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unexpected `cfg` condition value: `dev-utils`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\auth.rs:184:17\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m184\u001b[0m \u001b[1m\u001b[96m|\u001b[0m #[cfg(any(test, feature = \"dev-utils\"))]\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[93mhelp: remove the condition\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: no expected values for `feature`\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mhelp\u001b[0m: consider adding `dev-utils` as a feature in `Cargo.toml`\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: `#[warn(unexpected_cfgs)]` on by default\n\n"}
{"$message_type":"diagnostic","message":"unused imports: `RequestPartsExt` and `StatusCode`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src\\auth.rs","byte_start":185,"byte_end":195,"line_start":7,"line_end":7,"column_start":51,"column_end":61,"is_primary":true,"text":[{"text":" http::{header::AUTHORIZATION, request::Parts, StatusCode},","highlight_start":51,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\auth.rs","byte_start":250,"byte_end":265,"line_start":9,"line_end":9,"column_start":11,"column_end":26,"is_primary":true,"text":[{"text":" Json, RequestPartsExt,","highlight_start":11,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"src\\auth.rs","byte_start":183,"byte_end":195,"line_start":7,"line_end":7,"column_start":49,"column_end":61,"is_primary":true,"text":[{"text":" http::{header::AUTHORIZATION, request::Parts, StatusCode},","highlight_start":49,"highlight_end":61}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src\\auth.rs","byte_start":248,"byte_end":265,"line_start":9,"line_end":9,"column_start":9,"column_end":26,"is_primary":true,"text":[{"text":" Json, RequestPartsExt,","highlight_start":9,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused imports: `RequestPartsExt` and `StatusCode`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\auth.rs:7:51\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m7\u001b[0m \u001b[1m\u001b[96m|\u001b[0m http::{header::AUTHORIZATION, request::Parts, StatusCode},\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96m8\u001b[0m \u001b[1m\u001b[96m|\u001b[0m response::{IntoResponse, Response},\n\u001b[1m\u001b[96m9\u001b[0m \u001b[1m\u001b[96m|\u001b[0m Json, RequestPartsExt,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\n\n"}
{"$message_type":"diagnostic","message":"unused import: `ErrorResponse`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src\\auth.rs","byte_start":436,"byte_end":449,"line_start":15,"line_end":15,"column_start":30,"column_end":43,"is_primary":true,"text":[{"text":"use crate::error::{ApiError, ErrorResponse};","highlight_start":30,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"src\\auth.rs","byte_start":434,"byte_end":449,"line_start":15,"line_end":15,"column_start":28,"column_end":43,"is_primary":true,"text":[{"text":"use crate::error::{ApiError, ErrorResponse};","highlight_start":28,"highlight_end":43}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src\\auth.rs","byte_start":425,"byte_end":426,"line_start":15,"line_end":15,"column_start":19,"column_end":20,"is_primary":true,"text":[{"text":"use crate::error::{ApiError, ErrorResponse};","highlight_start":19,"highlight_end":20}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src\\auth.rs","byte_start":449,"byte_end":450,"line_start":15,"line_end":15,"column_start":43,"column_end":44,"is_primary":true,"text":[{"text":"use crate::error::{ApiError, ErrorResponse};","highlight_start":43,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused import: `ErrorResponse`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\auth.rs:15:30\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m15\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use crate::error::{ApiError, ErrorResponse};\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unused imports: `Json`, `Query`, `State`, `http::StatusCode`, and `response::IntoResponse`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":309,"byte_end":314,"line_start":12,"line_end":12,"column_start":15,"column_end":20,"is_primary":true,"text":[{"text":" extract::{Query, State},","highlight_start":15,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\admin.rs","byte_start":316,"byte_end":321,"line_start":12,"line_end":12,"column_start":22,"column_end":27,"is_primary":true,"text":[{"text":" extract::{Query, State},","highlight_start":22,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\admin.rs","byte_start":329,"byte_end":345,"line_start":13,"line_end":13,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":" http::StatusCode,","highlight_start":5,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\admin.rs","byte_start":352,"byte_end":374,"line_start":14,"line_end":14,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":" response::IntoResponse,","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\admin.rs","byte_start":401,"byte_end":405,"line_start":16,"line_end":16,"column_start":5,"column_end":9,"is_primary":true,"text":[{"text":" Json, Router,","highlight_start":5,"highlight_end":9}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":299,"byte_end":381,"line_start":12,"line_end":15,"column_start":5,"column_end":5,"is_primary":true,"text":[{"text":" extract::{Query, State},","highlight_start":5,"highlight_end":29},{"text":" http::StatusCode,","highlight_start":1,"highlight_end":22},{"text":" response::IntoResponse,","highlight_start":1,"highlight_end":28},{"text":" routing::post,","highlight_start":1,"highlight_end":5}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src\\routes\\admin.rs","byte_start":394,"byte_end":405,"line_start":15,"line_end":16,"column_start":18,"column_end":9,"is_primary":true,"text":[{"text":" routing::post,","highlight_start":18,"highlight_end":19},{"text":" Json, Router,","highlight_start":1,"highlight_end":9}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused imports: `Json`, `Query`, `State`, `http::StatusCode`, and `response::IntoResponse`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\admin.rs:12:15\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m12\u001b[0m \u001b[1m\u001b[96m|\u001b[0m extract::{Query, State},\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^\u001b[0m \u001b[1m\u001b[93m^^^^^\u001b[0m\n\u001b[1m\u001b[96m13\u001b[0m \u001b[1m\u001b[96m|\u001b[0m http::StatusCode,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96m14\u001b[0m \u001b[1m\u001b[96m|\u001b[0m response::IntoResponse,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96m15\u001b[0m \u001b[1m\u001b[96m|\u001b[0m routing::post,\n\u001b[1m\u001b[96m16\u001b[0m \u001b[1m\u001b[96m|\u001b[0m Json, Router,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unused import: `warn`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":551,"byte_end":555,"line_start":22,"line_end":22,"column_start":21,"column_end":25,"is_primary":true,"text":[{"text":"use tracing::{info, warn, error};","highlight_start":21,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":549,"byte_end":555,"line_start":22,"line_end":22,"column_start":19,"column_end":25,"is_primary":true,"text":[{"text":"use tracing::{info, warn, error};","highlight_start":19,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused import: `warn`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\admin.rs:22:21\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m22\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use tracing::{info, warn, error};\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unused import: `crate::auth::RequireAuth`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":572,"byte_end":596,"line_start":24,"line_end":24,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":"use crate::auth::RequireAuth;","highlight_start":5,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":568,"byte_end":599,"line_start":24,"line_end":25,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::auth::RequireAuth;","highlight_start":1,"highlight_end":30},{"text":"use crate::error::{ApiError, ApiResult};","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused import: `crate::auth::RequireAuth`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\admin.rs:24:5\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m24\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use crate::auth::RequireAuth;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unused imports: `ApiError` and `ApiResult`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":618,"byte_end":626,"line_start":25,"line_end":25,"column_start":20,"column_end":28,"is_primary":true,"text":[{"text":"use crate::error::{ApiError, ApiResult};","highlight_start":20,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\admin.rs","byte_start":628,"byte_end":637,"line_start":25,"line_end":25,"column_start":30,"column_end":39,"is_primary":true,"text":[{"text":"use crate::error::{ApiError, ApiResult};","highlight_start":30,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src\\routes\\admin.rs","byte_start":599,"byte_end":641,"line_start":25,"line_end":26,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::error::{ApiError, ApiResult};","highlight_start":1,"highlight_end":41},{"text":"use crate::AppState;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused imports: `ApiError` and `ApiResult`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\admin.rs:25:20\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m25\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use crate::error::{ApiError, ApiResult};\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^^^\u001b[0m \u001b[1m\u001b[93m^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unused import: `crate::models::*`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src\\openapi.rs","byte_start":181,"byte_end":197,"line_start":9,"line_end":9,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"use crate::models::*;","highlight_start":5,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src\\openapi.rs","byte_start":177,"byte_end":200,"line_start":9,"line_end":10,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::models::*;","highlight_start":1,"highlight_end":22},{"text":"use crate::routes::admin::{AdminStatsResponse, PurgeResponse};","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused import: `crate::models::*`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\openapi.rs:9:5\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m9\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use crate::models::*;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unused import: `Upload`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src\\graphql.rs","byte_start":247,"byte_end":253,"line_start":9,"line_end":9,"column_start":19,"column_end":25,"is_primary":true,"text":[{"text":" SimpleObject, Upload, ID,","highlight_start":19,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"src\\graphql.rs","byte_start":245,"byte_end":253,"line_start":9,"line_end":9,"column_start":17,"column_end":25,"is_primary":true,"text":[{"text":" SimpleObject, Upload, ID,","highlight_start":17,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused import: `Upload`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:9:19\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m9\u001b[0m \u001b[1m\u001b[96m|\u001b[0m SimpleObject, Upload, ID,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unused import: `Claims`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src\\graphql.rs","byte_start":524,"byte_end":530,"line_start":21,"line_end":21,"column_start":52,"column_end":58,"is_primary":true,"text":[{"text":"use crate::auth::{JwtValidator, AuthenticatedUser, Claims};","highlight_start":52,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"src\\graphql.rs","byte_start":522,"byte_end":530,"line_start":21,"line_end":21,"column_start":50,"column_end":58,"is_primary":true,"text":[{"text":"use crate::auth::{JwtValidator, AuthenticatedUser, Claims};","highlight_start":50,"highlight_end":58}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[93mwarning\u001b[0m\u001b[1m\u001b[97m: unused import: `Claims`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:21:52\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m21\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use crate::auth::{JwtValidator, AuthenticatedUser, Claims};\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"lifetime parameters or bounds on associated function `from_request_parts` do not match the trait declaration","code":{"code":"E0195","explanation":"The lifetime parameters of the method do not match the trait declaration.\n\nErroneous code example:\n\n```compile_fail,E0195\ntrait Trait {\n fn bar<'a,'b:'a>(x: &'a str, y: &'b str);\n}\n\nstruct Foo;\n\nimpl Trait for Foo {\n fn bar<'a,'b>(x: &'a str, y: &'b str) {\n // error: lifetime parameters or bounds on method `bar`\n // do not match the trait declaration\n }\n}\n```\n\nThe lifetime constraint `'b` for `bar()` implementation does not match the\ntrait declaration. Ensure lifetime declarations match exactly in both trait\ndeclaration and implementation. Example:\n\n```\ntrait Trait {\n fn t<'a,'b:'a>(x: &'a str, y: &'b str);\n}\n\nstruct Foo;\n\nimpl Trait for Foo {\n fn t<'a,'b:'a>(x: &'a str, y: &'b str) { // ok!\n }\n}\n```\n"},"level":"error","spans":[{"file_name":"src\\auth.rs","byte_start":4167,"byte_end":4167,"line_start":140,"line_end":140,"column_start":32,"column_end":32,"is_primary":true,"text":[{"text":" async fn from_request_parts(parts: &mut Parts, _state: &S) -> Result<Self, Self::Rejection> {","highlight_start":32,"highlight_end":32}],"label":"lifetimes do not match associated function in trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-core-0.4.5\\src\\extract\\mod.rs","byte_start":1802,"byte_end":1893,"line_start":58,"line_end":58,"column_start":5,"column_end":96,"is_primary":false,"text":[{"text":" async fn from_request_parts(parts: &mut Parts, state: &S) -> Result<Self, Self::Rejection>;","highlight_start":5,"highlight_end":96}],"label":"lifetimes in impl do not match this associated function in trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0195]\u001b[0m\u001b[1m\u001b[97m: lifetime parameters or bounds on associated function `from_request_parts` do not match the trait declaration\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\auth.rs:140:32\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m140\u001b[0m \u001b[1m\u001b[96m|\u001b[0m async fn from_request_parts(parts: &mut Parts, _state: &S) -> Result<Self, Self::Rejection> {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^\u001b[0m \u001b[1m\u001b[91mlifetimes do not match associated function in trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m::: \u001b[0mC:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-core-0.4.5\\src\\extract\\mod.rs:58:5\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m58\u001b[0m \u001b[1m\u001b[96m|\u001b[0m async fn from_request_parts(parts: &mut Parts, state: &S) -> Result<Self, Self::Rejection>;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m-------------------------------------------------------------------------------------------\u001b[0m \u001b[1m\u001b[96mlifetimes in impl do not match this associated function in trait\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":4141,"byte_end":4153,"line_start":145,"line_end":145,"column_start":10,"column_end":22,"is_primary":true,"text":[{"text":"#[derive(SimpleObject)]","highlight_start":10,"highlight_end":22}],"label":"the trait `OutputType` is not implemented for `chrono::DateTime<Utc>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src\\graphql.rs","byte_start":4141,"byte_end":4153,"line_start":145,"line_end":145,"column_start":10,"column_end":22,"is_primary":false,"text":[{"text":"#[derive(SimpleObject)]","highlight_start":10,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[derive(SimpleObject)]","def_site_span":{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\async-graphql-derive-7.2.1\\src\\lib.rs","byte_start":1597,"byte_end":1659,"line_start":63,"line_end":63,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub fn derive_simple_object(input: TokenStream) -> TokenStream {","highlight_start":1,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\nand 64 others","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required for `&chrono::DateTime<Utc>` to implement `OutputType`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m\u001b[97m: the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:145:10\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m145\u001b[0m \u001b[1m\u001b[96m|\u001b[0m #[derive(SimpleObject)]\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mthe trait `OutputType` is not implemented for `chrono::DateTime<Utc>`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mhelp\u001b[0m: the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\n and 64 others\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: required for `&chrono::DateTime<Utc>` to implement `OutputType`\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: this error originates in the derive macro `SimpleObject` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"$message_type":"diagnostic","message":"the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":4141,"byte_end":4153,"line_start":145,"line_end":145,"column_start":10,"column_end":22,"is_primary":true,"text":[{"text":"#[derive(SimpleObject)]","highlight_start":10,"highlight_end":22}],"label":"the trait `OutputType` is not implemented for `chrono::DateTime<Utc>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src\\graphql.rs","byte_start":4141,"byte_end":4153,"line_start":145,"line_end":145,"column_start":10,"column_end":22,"is_primary":false,"text":[{"text":"#[derive(SimpleObject)]","highlight_start":10,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"desugaring of `await` expression","def_site_span":{"file_name":"src\\lib.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":false,"text":[],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\nand 64 others","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `<&T as OutputType>`","code":null,"level":"note","spans":[{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\async-graphql-7.2.1\\src\\base.rs","byte_start":3077,"byte_end":3087,"line_start":107,"line_end":107,"column_start":9,"column_end":19,"is_primary":true,"text":[{"text":"impl<T: OutputType + ?Sized> OutputType for &T {","highlight_start":9,"highlight_end":19}],"label":"required by this bound in `<&T as OutputType>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m\u001b[97m: the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:145:10\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m145\u001b[0m \u001b[1m\u001b[96m|\u001b[0m #[derive(SimpleObject)]\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mthe trait `OutputType` is not implemented for `chrono::DateTime<Utc>`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mhelp\u001b[0m: the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\n and 64 others\n\u001b[1m\u001b[92mnote\u001b[0m: required by a bound in `<&T as OutputType>`\n \u001b[1m\u001b[96m--> \u001b[0mC:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\async-graphql-7.2.1\\src\\base.rs:107:9\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m107\u001b[0m \u001b[1m\u001b[96m|\u001b[0m impl<T: OutputType + ?Sized> OutputType for &T {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^\u001b[0m \u001b[1m\u001b[92mrequired by this bound in `<&T as OutputType>`\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":6239,"byte_end":6251,"line_start":226,"line_end":226,"column_start":10,"column_end":22,"is_primary":true,"text":[{"text":"#[derive(SimpleObject)]","highlight_start":10,"highlight_end":22}],"label":"the trait `OutputType` is not implemented for `chrono::DateTime<Utc>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src\\graphql.rs","byte_start":6239,"byte_end":6251,"line_start":226,"line_end":226,"column_start":10,"column_end":22,"is_primary":false,"text":[{"text":"#[derive(SimpleObject)]","highlight_start":10,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[derive(SimpleObject)]","def_site_span":{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\async-graphql-derive-7.2.1\\src\\lib.rs","byte_start":1597,"byte_end":1659,"line_start":63,"line_end":63,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub fn derive_simple_object(input: TokenStream) -> TokenStream {","highlight_start":1,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\nand 64 others","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required for `&chrono::DateTime<Utc>` to implement `OutputType`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m\u001b[97m: the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:226:10\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m226\u001b[0m \u001b[1m\u001b[96m|\u001b[0m #[derive(SimpleObject)]\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mthe trait `OutputType` is not implemented for `chrono::DateTime<Utc>`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mhelp\u001b[0m: the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\n and 64 others\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: required for `&chrono::DateTime<Utc>` to implement `OutputType`\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: this error originates in the derive macro `SimpleObject` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"$message_type":"diagnostic","message":"the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":6239,"byte_end":6251,"line_start":226,"line_end":226,"column_start":10,"column_end":22,"is_primary":true,"text":[{"text":"#[derive(SimpleObject)]","highlight_start":10,"highlight_end":22}],"label":"the trait `OutputType` is not implemented for `chrono::DateTime<Utc>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src\\graphql.rs","byte_start":6239,"byte_end":6251,"line_start":226,"line_end":226,"column_start":10,"column_end":22,"is_primary":false,"text":[{"text":"#[derive(SimpleObject)]","highlight_start":10,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"desugaring of `await` expression","def_site_span":{"file_name":"src\\lib.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":false,"text":[],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\nand 64 others","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `<&T as OutputType>`","code":null,"level":"note","spans":[{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\async-graphql-7.2.1\\src\\base.rs","byte_start":3077,"byte_end":3087,"line_start":107,"line_end":107,"column_start":9,"column_end":19,"is_primary":true,"text":[{"text":"impl<T: OutputType + ?Sized> OutputType for &T {","highlight_start":9,"highlight_end":19}],"label":"required by this bound in `<&T as OutputType>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m\u001b[97m: the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:226:10\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m226\u001b[0m \u001b[1m\u001b[96m|\u001b[0m #[derive(SimpleObject)]\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mthe trait `OutputType` is not implemented for `chrono::DateTime<Utc>`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mhelp\u001b[0m: the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\n and 64 others\n\u001b[1m\u001b[92mnote\u001b[0m: required by a bound in `<&T as OutputType>`\n \u001b[1m\u001b[96m--> \u001b[0mC:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\async-graphql-7.2.1\\src\\base.rs:107:9\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m107\u001b[0m \u001b[1m\u001b[96m|\u001b[0m impl<T: OutputType + ?Sized> OutputType for &T {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^\u001b[0m \u001b[1m\u001b[92mrequired by this bound in `<&T as OutputType>`\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":8235,"byte_end":8239,"line_start":289,"line_end":289,"column_start":12,"column_end":16,"is_primary":false,"text":[{"text":" Ok(jobs","highlight_start":12,"highlight_end":16}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\graphql.rs","byte_start":8170,"byte_end":8174,"line_start":287,"line_end":287,"column_start":13,"column_end":17,"is_primary":true,"text":[{"text":" let jobs = service.get_user_jobs(&user.user_id).await;","highlight_start":13,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `jobs` an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\graphql.rs","byte_start":8174,"byte_end":8174,"line_start":287,"line_end":287,"column_start":17,"column_end":17,"is_primary":true,"text":[{"text":" let jobs = service.get_user_jobs(&user.user_id).await;","highlight_start":17,"highlight_end":17}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:287:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m287\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let jobs = service.get_user_jobs(&user.user_id).await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^\u001b[0m\n\u001b[1m\u001b[96m288\u001b[0m \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m289\u001b[0m \u001b[1m\u001b[96m|\u001b[0m Ok(jobs\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `jobs` an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m287\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let jobs\u001b[92m: /* Type */\u001b[0m = service.get_user_jobs(&user.user_id).await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\conversion.rs","byte_start":10997,"byte_end":11001,"line_start":323,"line_end":323,"column_start":9,"column_end":13,"is_primary":false,"text":[{"text":" jobs.remove(&job_id);","highlight_start":9,"highlight_end":13}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\conversion.rs","byte_start":10952,"byte_end":10960,"line_start":322,"line_end":322,"column_start":13,"column_end":21,"is_primary":true,"text":[{"text":" let mut jobs = self.jobs.write().await;","highlight_start":13,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `jobs` an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\conversion.rs","byte_start":10960,"byte_end":10960,"line_start":322,"line_end":322,"column_start":21,"column_end":21,"is_primary":true,"text":[{"text":" let mut jobs = self.jobs.write().await;","highlight_start":21,"highlight_end":21}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\conversion.rs:322:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m322\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let mut jobs = self.jobs.write().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96m323\u001b[0m \u001b[1m\u001b[96m|\u001b[0m jobs.remove(&job_id);\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `jobs` an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m322\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let mut jobs\u001b[92m: /* Type */\u001b[0m = self.jobs.write().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.\n\nErroneous code examples:\n\n```compile_fail,E0308\nfn plus_one(x: i32) -> i32 {\n x + 1\n}\n\nplus_one(\"Not a number\");\n// ^^^^^^^^^^^^^^ expected `i32`, found `&str`\n\nif \"Not a bool\" {\n// ^^^^^^^^^^^^ expected `bool`, found `&str`\n}\n\nlet x: f32 = \"Not a float\";\n// --- ^^^^^^^^^^^^^ expected `f32`, found `&str`\n// |\n// expected due to this\n```\n\nThis error occurs when an expression was used in a place where the compiler\nexpected an expression of a different type. It can occur in several cases, the\nmost common being when calling a function and passing an argument which has a\ndifferent type than the matching type in the function declaration.\n"},"level":"error","spans":[{"file_name":"src\\routes\\jobs.rs","byte_start":5905,"byte_end":5913,"line_start":185,"line_end":185,"column_start":9,"column_end":17,"is_primary":true,"text":[{"text":" &user_id,","highlight_start":9,"highlight_end":17}],"label":"expected `&str`, found `&AuthenticatedUser`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\jobs.rs","byte_start":5884,"byte_end":5894,"line_start":184,"line_end":184,"column_start":32,"column_end":42,"is_primary":false,"text":[{"text":" let job = state.dispatcher.create_job(","highlight_start":32,"highlight_end":42}],"label":"arguments to this method are incorrect","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected reference `&str`\n found reference `&AuthenticatedUser`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"method defined here","code":null,"level":"note","spans":[{"file_name":"src\\services\\dispatcher.rs","byte_start":1127,"byte_end":1140,"line_start":43,"line_end":43,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":" user_id: &str,","highlight_start":9,"highlight_end":22}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\services\\dispatcher.rs","byte_start":1090,"byte_end":1100,"line_start":41,"line_end":41,"column_start":12,"column_end":22,"is_primary":true,"text":[{"text":" pub fn create_job(","highlight_start":12,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0308]\u001b[0m\u001b[1m\u001b[97m: mismatched types\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\jobs.rs:185:9\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m184\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let job = state.dispatcher.create_job(\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----------\u001b[0m \u001b[1m\u001b[96marguments to this method are incorrect\u001b[0m\n\u001b[1m\u001b[96m185\u001b[0m \u001b[1m\u001b[96m|\u001b[0m &user_id,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m \u001b[1m\u001b[91mexpected `&str`, found `&AuthenticatedUser`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: expected reference `&\u001b[1m\u001b[35mstr\u001b[0m`\n found reference `&\u001b[1m\u001b[35mAuthenticatedUser\u001b[0m`\n\u001b[1m\u001b[92mnote\u001b[0m: method defined here\n \u001b[1m\u001b[96m--> \u001b[0msrc\\services\\dispatcher.rs:41:12\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m41\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub fn create_job(\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[96m42\u001b[0m \u001b[1m\u001b[96m|\u001b[0m &self,\n \u001b[1m\u001b[96m43\u001b[0m \u001b[1m\u001b[96m|\u001b[0m user_id: &str,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m-------------\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.\n\nErroneous code examples:\n\n```compile_fail,E0308\nfn plus_one(x: i32) -> i32 {\n x + 1\n}\n\nplus_one(\"Not a number\");\n// ^^^^^^^^^^^^^^ expected `i32`, found `&str`\n\nif \"Not a bool\" {\n// ^^^^^^^^^^^^ expected `bool`, found `&str`\n}\n\nlet x: f32 = \"Not a float\";\n// --- ^^^^^^^^^^^^^ expected `f32`, found `&str`\n// |\n// expected due to this\n```\n\nThis error occurs when an expression was used in a place where the compiler\nexpected an expression of a different type. It can occur in several cases, the\nmost common being when calling a function and passing an argument which has a\ndifferent type than the matching type in the function declaration.\n"},"level":"error","spans":[{"file_name":"src\\routes\\jobs.rs","byte_start":6177,"byte_end":6185,"line_start":196,"line_end":196,"column_start":64,"column_end":72,"is_primary":true,"text":[{"text":" let upload_path = state.dispatcher.get_upload_path(job_id, &user_id);","highlight_start":64,"highlight_end":72}],"label":"expected `&str`, found `&AuthenticatedUser`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\jobs.rs","byte_start":6153,"byte_end":6168,"line_start":196,"line_end":196,"column_start":40,"column_end":55,"is_primary":false,"text":[{"text":" let upload_path = state.dispatcher.get_upload_path(job_id, &user_id);","highlight_start":40,"highlight_end":55}],"label":"arguments to this method are incorrect","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected reference `&str`\n found reference `&AuthenticatedUser`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"method defined here","code":null,"level":"note","spans":[{"file_name":"src\\services\\dispatcher.rs","byte_start":4527,"byte_end":4540,"line_start":151,"line_end":151,"column_start":49,"column_end":62,"is_primary":false,"text":[{"text":" pub fn get_upload_path(&self, job_id: Uuid, user_id: &str) -> PathBuf {","highlight_start":49,"highlight_end":62}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\services\\dispatcher.rs","byte_start":4490,"byte_end":4505,"line_start":151,"line_end":151,"column_start":12,"column_end":27,"is_primary":true,"text":[{"text":" pub fn get_upload_path(&self, job_id: Uuid, user_id: &str) -> PathBuf {","highlight_start":12,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0308]\u001b[0m\u001b[1m\u001b[97m: mismatched types\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\jobs.rs:196:64\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m196\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let upload_path = state.dispatcher.get_upload_path(job_id, &user_id);\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m---------------\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m \u001b[1m\u001b[91mexpected `&str`, found `&AuthenticatedUser`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96marguments to this method are incorrect\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: expected reference `&\u001b[1m\u001b[35mstr\u001b[0m`\n found reference `&\u001b[1m\u001b[35mAuthenticatedUser\u001b[0m`\n\u001b[1m\u001b[92mnote\u001b[0m: method defined here\n \u001b[1m\u001b[96m--> \u001b[0msrc\\services\\dispatcher.rs:151:12\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m151\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub fn get_upload_path(&self, job_id: Uuid, user_id: &str) -> PathBuf {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[96m-------------\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.\n\nErroneous code examples:\n\n```compile_fail,E0308\nfn plus_one(x: i32) -> i32 {\n x + 1\n}\n\nplus_one(\"Not a number\");\n// ^^^^^^^^^^^^^^ expected `i32`, found `&str`\n\nif \"Not a bool\" {\n// ^^^^^^^^^^^^ expected `bool`, found `&str`\n}\n\nlet x: f32 = \"Not a float\";\n// --- ^^^^^^^^^^^^^ expected `f32`, found `&str`\n// |\n// expected due to this\n```\n\nThis error occurs when an expression was used in a place where the compiler\nexpected an expression of a different type. It can occur in several cases, the\nmost common being when calling a function and passing an argument which has a\ndifferent type than the matching type in the function declaration.\n"},"level":"error","spans":[{"file_name":"src\\routes\\jobs.rs","byte_start":7852,"byte_end":7860,"line_start":255,"line_end":255,"column_start":48,"column_end":56,"is_primary":true,"text":[{"text":" let jobs = state.dispatcher.list_user_jobs(&user_id);","highlight_start":48,"highlight_end":56}],"label":"expected `&str`, found `&AuthenticatedUser`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\jobs.rs","byte_start":7837,"byte_end":7851,"line_start":255,"line_end":255,"column_start":33,"column_end":47,"is_primary":false,"text":[{"text":" let jobs = state.dispatcher.list_user_jobs(&user_id);","highlight_start":33,"highlight_end":47}],"label":"arguments to this method are incorrect","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected reference `&str`\n found reference `&AuthenticatedUser`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"method defined here","code":null,"level":"note","spans":[{"file_name":"src\\services\\dispatcher.rs","byte_start":2467,"byte_end":2480,"line_start":87,"line_end":87,"column_start":34,"column_end":47,"is_primary":false,"text":[{"text":" pub fn list_user_jobs(&self, user_id: &str) -> Vec<ConversionJob> {","highlight_start":34,"highlight_end":47}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\services\\dispatcher.rs","byte_start":2445,"byte_end":2459,"line_start":87,"line_end":87,"column_start":12,"column_end":26,"is_primary":true,"text":[{"text":" pub fn list_user_jobs(&self, user_id: &str) -> Vec<ConversionJob> {","highlight_start":12,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0308]\u001b[0m\u001b[1m\u001b[97m: mismatched types\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\jobs.rs:255:48\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m255\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let jobs = state.dispatcher.list_user_jobs(&user_id);\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m--------------\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m \u001b[1m\u001b[91mexpected `&str`, found `&AuthenticatedUser`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96marguments to this method are incorrect\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: expected reference `&\u001b[1m\u001b[35mstr\u001b[0m`\n found reference `&\u001b[1m\u001b[35mAuthenticatedUser\u001b[0m`\n\u001b[1m\u001b[92mnote\u001b[0m: method defined here\n \u001b[1m\u001b[96m--> \u001b[0msrc\\services\\dispatcher.rs:87:12\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m87\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub fn list_user_jobs(&self, user_id: &str) -> Vec<ConversionJob> {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[96m-------------\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\routes\\jobs.rs","byte_start":7926,"byte_end":7927,"line_start":256,"line_end":256,"column_start":63,"column_end":64,"is_primary":false,"text":[{"text":" let summaries: Vec<JobSummary> = jobs.into_iter().map(|j| j.into()).collect();","highlight_start":63,"highlight_end":64}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\jobs.rs","byte_start":7923,"byte_end":7924,"line_start":256,"line_end":256,"column_start":60,"column_end":61,"is_primary":true,"text":[{"text":" let summaries: Vec<JobSummary> = jobs.into_iter().map(|j| j.into()).collect();","highlight_start":60,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving this closure parameter an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\routes\\jobs.rs","byte_start":7924,"byte_end":7924,"line_start":256,"line_end":256,"column_start":61,"column_end":61,"is_primary":true,"text":[{"text":" let summaries: Vec<JobSummary> = jobs.into_iter().map(|j| j.into()).collect();","highlight_start":61,"highlight_end":61}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\jobs.rs:256:60\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m256\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let summaries: Vec<JobSummary> = jobs.into_iter().map(|j| j.into()).collect();\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^\u001b[0m \u001b[1m\u001b[96m-\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving this closure parameter an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m256\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let summaries: Vec<JobSummary> = jobs.into_iter().map(|j\u001b[92m: /* Type */\u001b[0m| j.into()).collect();\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.\n\nErroneous code examples:\n\n```compile_fail,E0308\nfn plus_one(x: i32) -> i32 {\n x + 1\n}\n\nplus_one(\"Not a number\");\n// ^^^^^^^^^^^^^^ expected `i32`, found `&str`\n\nif \"Not a bool\" {\n// ^^^^^^^^^^^^ expected `bool`, found `&str`\n}\n\nlet x: f32 = \"Not a float\";\n// --- ^^^^^^^^^^^^^ expected `f32`, found `&str`\n// |\n// expected due to this\n```\n\nThis error occurs when an expression was used in a place where the compiler\nexpected an expression of a different type. It can occur in several cases, the\nmost common being when calling a function and passing an argument which has a\ndifferent type than the matching type in the function declaration.\n"},"level":"error","spans":[{"file_name":"src\\routes\\jobs.rs","byte_start":8837,"byte_end":8845,"line_start":287,"line_end":287,"column_start":53,"column_end":61,"is_primary":true,"text":[{"text":" let job = state.dispatcher.get_user_job(job_id, &user_id).ok_or_else(|| {","highlight_start":53,"highlight_end":61}],"label":"expected `&str`, found `&AuthenticatedUser`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\jobs.rs","byte_start":8816,"byte_end":8828,"line_start":287,"line_end":287,"column_start":32,"column_end":44,"is_primary":false,"text":[{"text":" let job = state.dispatcher.get_user_job(job_id, &user_id).ok_or_else(|| {","highlight_start":32,"highlight_end":44}],"label":"arguments to this method are incorrect","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected reference `&str`\n found reference `&AuthenticatedUser`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"method defined here","code":null,"level":"note","spans":[{"file_name":"src\\services\\dispatcher.rs","byte_start":2220,"byte_end":2233,"line_start":81,"line_end":81,"column_start":46,"column_end":59,"is_primary":false,"text":[{"text":" pub fn get_user_job(&self, job_id: Uuid, user_id: &str) -> Option<ConversionJob> {","highlight_start":46,"highlight_end":59}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\services\\dispatcher.rs","byte_start":2186,"byte_end":2198,"line_start":81,"line_end":81,"column_start":12,"column_end":24,"is_primary":true,"text":[{"text":" pub fn get_user_job(&self, job_id: Uuid, user_id: &str) -> Option<ConversionJob> {","highlight_start":12,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0308]\u001b[0m\u001b[1m\u001b[97m: mismatched types\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\jobs.rs:287:53\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m287\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let job = state.dispatcher.get_user_job(job_id, &user_id).ok_or_else(|| {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m------------\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m \u001b[1m\u001b[91mexpected `&str`, found `&AuthenticatedUser`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96marguments to this method are incorrect\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: expected reference `&\u001b[1m\u001b[35mstr\u001b[0m`\n found reference `&\u001b[1m\u001b[35mAuthenticatedUser\u001b[0m`\n\u001b[1m\u001b[92mnote\u001b[0m: method defined here\n \u001b[1m\u001b[96m--> \u001b[0msrc\\services\\dispatcher.rs:81:12\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m81\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub fn get_user_job(&self, job_id: Uuid, user_id: &str) -> Option<ConversionJob> {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[96m-------------\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.\n\nErroneous code examples:\n\n```compile_fail,E0308\nfn plus_one(x: i32) -> i32 {\n x + 1\n}\n\nplus_one(\"Not a number\");\n// ^^^^^^^^^^^^^^ expected `i32`, found `&str`\n\nif \"Not a bool\" {\n// ^^^^^^^^^^^^ expected `bool`, found `&str`\n}\n\nlet x: f32 = \"Not a float\";\n// --- ^^^^^^^^^^^^^ expected `f32`, found `&str`\n// |\n// expected due to this\n```\n\nThis error occurs when an expression was used in a place where the compiler\nexpected an expression of a different type. It can occur in several cases, the\nmost common being when calling a function and passing an argument which has a\ndifferent type than the matching type in the function declaration.\n"},"level":"error","spans":[{"file_name":"src\\routes\\jobs.rs","byte_start":10147,"byte_end":10155,"line_start":333,"line_end":333,"column_start":45,"column_end":53,"is_primary":true,"text":[{"text":" if !state.dispatcher.delete_job(job_id, &user_id) {","highlight_start":45,"highlight_end":53}],"label":"expected `&str`, found `&AuthenticatedUser`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\jobs.rs","byte_start":10128,"byte_end":10138,"line_start":333,"line_end":333,"column_start":26,"column_end":36,"is_primary":false,"text":[{"text":" if !state.dispatcher.delete_job(job_id, &user_id) {","highlight_start":26,"highlight_end":36}],"label":"arguments to this method are incorrect","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected reference `&str`\n found reference `&AuthenticatedUser`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"method defined here","code":null,"level":"note","spans":[{"file_name":"src\\services\\dispatcher.rs","byte_start":3868,"byte_end":3881,"line_start":127,"line_end":127,"column_start":44,"column_end":57,"is_primary":false,"text":[{"text":" pub fn delete_job(&self, job_id: Uuid, user_id: &str) -> bool {","highlight_start":44,"highlight_end":57}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\services\\dispatcher.rs","byte_start":3836,"byte_end":3846,"line_start":127,"line_end":127,"column_start":12,"column_end":22,"is_primary":true,"text":[{"text":" pub fn delete_job(&self, job_id: Uuid, user_id: &str) -> bool {","highlight_start":12,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0308]\u001b[0m\u001b[1m\u001b[97m: mismatched types\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\jobs.rs:333:45\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m333\u001b[0m \u001b[1m\u001b[96m|\u001b[0m if !state.dispatcher.delete_job(job_id, &user_id) {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----------\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m \u001b[1m\u001b[91mexpected `&str`, found `&AuthenticatedUser`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96marguments to this method are incorrect\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: expected reference `&\u001b[1m\u001b[35mstr\u001b[0m`\n found reference `&\u001b[1m\u001b[35mAuthenticatedUser\u001b[0m`\n\u001b[1m\u001b[92mnote\u001b[0m: method defined here\n \u001b[1m\u001b[96m--> \u001b[0msrc\\services\\dispatcher.rs:127:12\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m127\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub fn delete_job(&self, job_id: Uuid, user_id: &str) -> bool {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^\u001b[0m \u001b[1m\u001b[96m-------------\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.\n\nErroneous code examples:\n\n```compile_fail,E0308\nfn plus_one(x: i32) -> i32 {\n x + 1\n}\n\nplus_one(\"Not a number\");\n// ^^^^^^^^^^^^^^ expected `i32`, found `&str`\n\nif \"Not a bool\" {\n// ^^^^^^^^^^^^ expected `bool`, found `&str`\n}\n\nlet x: f32 = \"Not a float\";\n// --- ^^^^^^^^^^^^^ expected `f32`, found `&str`\n// |\n// expected due to this\n```\n\nThis error occurs when an expression was used in a place where the compiler\nexpected an expression of a different type. It can occur in several cases, the\nmost common being when calling a function and passing an argument which has a\ndifferent type than the matching type in the function declaration.\n"},"level":"error","spans":[{"file_name":"src\\routes\\jobs.rs","byte_start":11373,"byte_end":11381,"line_start":376,"line_end":376,"column_start":53,"column_end":61,"is_primary":true,"text":[{"text":" let job = state.dispatcher.get_user_job(job_id, &user_id).ok_or_else(|| {","highlight_start":53,"highlight_end":61}],"label":"expected `&str`, found `&AuthenticatedUser`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\jobs.rs","byte_start":11352,"byte_end":11364,"line_start":376,"line_end":376,"column_start":32,"column_end":44,"is_primary":false,"text":[{"text":" let job = state.dispatcher.get_user_job(job_id, &user_id).ok_or_else(|| {","highlight_start":32,"highlight_end":44}],"label":"arguments to this method are incorrect","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected reference `&str`\n found reference `&AuthenticatedUser`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"method defined here","code":null,"level":"note","spans":[{"file_name":"src\\services\\dispatcher.rs","byte_start":2220,"byte_end":2233,"line_start":81,"line_end":81,"column_start":46,"column_end":59,"is_primary":false,"text":[{"text":" pub fn get_user_job(&self, job_id: Uuid, user_id: &str) -> Option<ConversionJob> {","highlight_start":46,"highlight_end":59}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\services\\dispatcher.rs","byte_start":2186,"byte_end":2198,"line_start":81,"line_end":81,"column_start":12,"column_end":24,"is_primary":true,"text":[{"text":" pub fn get_user_job(&self, job_id: Uuid, user_id: &str) -> Option<ConversionJob> {","highlight_start":12,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0308]\u001b[0m\u001b[1m\u001b[97m: mismatched types\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\jobs.rs:376:53\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m376\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let job = state.dispatcher.get_user_job(job_id, &user_id).ok_or_else(|| {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m------------\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m \u001b[1m\u001b[91mexpected `&str`, found `&AuthenticatedUser`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96marguments to this method are incorrect\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: expected reference `&\u001b[1m\u001b[35mstr\u001b[0m`\n found reference `&\u001b[1m\u001b[35mAuthenticatedUser\u001b[0m`\n\u001b[1m\u001b[92mnote\u001b[0m: method defined here\n \u001b[1m\u001b[96m--> \u001b[0msrc\\services\\dispatcher.rs:81:12\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m81\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub fn get_user_job(&self, job_id: Uuid, user_id: &str) -> Option<ConversionJob> {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[96m-------------\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.\n\nErroneous code examples:\n\n```compile_fail,E0308\nfn plus_one(x: i32) -> i32 {\n x + 1\n}\n\nplus_one(\"Not a number\");\n// ^^^^^^^^^^^^^^ expected `i32`, found `&str`\n\nif \"Not a bool\" {\n// ^^^^^^^^^^^^ expected `bool`, found `&str`\n}\n\nlet x: f32 = \"Not a float\";\n// --- ^^^^^^^^^^^^^ expected `f32`, found `&str`\n// |\n// expected due to this\n```\n\nThis error occurs when an expression was used in a place where the compiler\nexpected an expression of a different type. It can occur in several cases, the\nmost common being when calling a function and passing an argument which has a\ndifferent type than the matching type in the function declaration.\n"},"level":"error","spans":[{"file_name":"src\\routes\\jobs.rs","byte_start":12086,"byte_end":12094,"line_start":400,"line_end":400,"column_start":64,"column_end":72,"is_primary":true,"text":[{"text":" let output_path = state.dispatcher.get_output_path(job_id, &user_id);","highlight_start":64,"highlight_end":72}],"label":"expected `&str`, found `&AuthenticatedUser`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\routes\\jobs.rs","byte_start":12062,"byte_end":12077,"line_start":400,"line_end":400,"column_start":40,"column_end":55,"is_primary":false,"text":[{"text":" let output_path = state.dispatcher.get_output_path(job_id, &user_id);","highlight_start":40,"highlight_end":55}],"label":"arguments to this method are incorrect","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected reference `&str`\n found reference `&AuthenticatedUser`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"method defined here","code":null,"level":"note","spans":[{"file_name":"src\\services\\dispatcher.rs","byte_start":4763,"byte_end":4776,"line_start":158,"line_end":158,"column_start":49,"column_end":62,"is_primary":false,"text":[{"text":" pub fn get_output_path(&self, job_id: Uuid, user_id: &str) -> PathBuf {","highlight_start":49,"highlight_end":62}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\services\\dispatcher.rs","byte_start":4726,"byte_end":4741,"line_start":158,"line_end":158,"column_start":12,"column_end":27,"is_primary":true,"text":[{"text":" pub fn get_output_path(&self, job_id: Uuid, user_id: &str) -> PathBuf {","highlight_start":12,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0308]\u001b[0m\u001b[1m\u001b[97m: mismatched types\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\routes\\jobs.rs:400:64\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m400\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let output_path = state.dispatcher.get_output_path(job_id, &user_id);\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m---------------\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m \u001b[1m\u001b[91mexpected `&str`, found `&AuthenticatedUser`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96marguments to this method are incorrect\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: expected reference `&\u001b[1m\u001b[35mstr\u001b[0m`\n found reference `&\u001b[1m\u001b[35mAuthenticatedUser\u001b[0m`\n\u001b[1m\u001b[92mnote\u001b[0m: method defined here\n \u001b[1m\u001b[96m--> \u001b[0msrc\\services\\dispatcher.rs:158:12\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m158\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub fn get_output_path(&self, job_id: Uuid, user_id: &str) -> PathBuf {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[96m-------------\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\conversion.rs","byte_start":2932,"byte_end":2936,"line_start":83,"line_end":83,"column_start":13,"column_end":17,"is_primary":false,"text":[{"text":" jobs.insert(job.id, job.clone());","highlight_start":13,"highlight_end":17}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\conversion.rs","byte_start":2883,"byte_end":2891,"line_start":82,"line_end":82,"column_start":17,"column_end":25,"is_primary":true,"text":[{"text":" let mut jobs = self.jobs.write().await;","highlight_start":17,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `jobs` an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\conversion.rs","byte_start":2891,"byte_end":2891,"line_start":82,"line_end":82,"column_start":25,"column_end":25,"is_primary":true,"text":[{"text":" let mut jobs = self.jobs.write().await;","highlight_start":25,"highlight_end":25}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\conversion.rs:82:17\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m82\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let mut jobs = self.jobs.write().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96m83\u001b[0m \u001b[1m\u001b[96m|\u001b[0m jobs.insert(job.id, job.clone());\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `jobs` an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m82\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let mut jobs\u001b[92m: /* Type */\u001b[0m = self.jobs.write().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\conversion.rs","byte_start":4021,"byte_end":4025,"line_start":113,"line_end":113,"column_start":23,"column_end":27,"is_primary":false,"text":[{"text":" let job = jobs.get_mut(&job_id).ok_or(\"Job not found\")?;","highlight_start":23,"highlight_end":27}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\conversion.rs","byte_start":3962,"byte_end":3970,"line_start":112,"line_end":112,"column_start":17,"column_end":25,"is_primary":true,"text":[{"text":" let mut jobs = self.jobs.write().await;","highlight_start":17,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `jobs` an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\conversion.rs","byte_start":3970,"byte_end":3970,"line_start":112,"line_end":112,"column_start":25,"column_end":25,"is_primary":true,"text":[{"text":" let mut jobs = self.jobs.write().await;","highlight_start":25,"highlight_end":25}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\conversion.rs:112:17\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m112\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let mut jobs = self.jobs.write().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96m113\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let job = jobs.get_mut(&job_id).ok_or(\"Job not found\")?;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `jobs` an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m112\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let mut jobs\u001b[92m: /* Type */\u001b[0m = self.jobs.write().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\conversion.rs","byte_start":4907,"byte_end":4911,"line_start":136,"line_end":136,"column_start":28,"column_end":32,"is_primary":false,"text":[{"text":" if let Some(job) = jobs.get_mut(&job_id) {","highlight_start":28,"highlight_end":32}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\conversion.rs","byte_start":4843,"byte_end":4851,"line_start":135,"line_end":135,"column_start":13,"column_end":21,"is_primary":true,"text":[{"text":" let mut jobs = self.jobs.write().await;","highlight_start":13,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `jobs` an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\conversion.rs","byte_start":4851,"byte_end":4851,"line_start":135,"line_end":135,"column_start":21,"column_end":21,"is_primary":true,"text":[{"text":" let mut jobs = self.jobs.write().await;","highlight_start":21,"highlight_end":21}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\conversion.rs:135:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m135\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let mut jobs = self.jobs.write().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96m136\u001b[0m \u001b[1m\u001b[96m|\u001b[0m if let Some(job) = jobs.get_mut(&job_id) {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `jobs` an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m135\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let mut jobs\u001b[92m: /* Type */\u001b[0m = self.jobs.write().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\conversion.rs","byte_start":5008,"byte_end":5011,"line_start":139,"line_end":139,"column_start":21,"column_end":24,"is_primary":true,"text":[{"text":" job.set_completed(output_filename);","highlight_start":21,"highlight_end":24}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\conversion.rs:139:21\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m139\u001b[0m \u001b[1m\u001b[96m|\u001b[0m job.set_completed(output_filename);\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\conversion.rs","byte_start":9885,"byte_end":9889,"line_start":291,"line_end":291,"column_start":9,"column_end":13,"is_primary":false,"text":[{"text":" jobs.get(&job_id)","highlight_start":9,"highlight_end":13}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\conversion.rs","byte_start":9845,"byte_end":9849,"line_start":290,"line_end":290,"column_start":13,"column_end":17,"is_primary":true,"text":[{"text":" let jobs = self.jobs.read().await;","highlight_start":13,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `jobs` an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\conversion.rs","byte_start":9849,"byte_end":9849,"line_start":290,"line_end":290,"column_start":17,"column_end":17,"is_primary":true,"text":[{"text":" let jobs = self.jobs.read().await;","highlight_start":17,"highlight_end":17}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\conversion.rs:290:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m290\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let jobs = self.jobs.read().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^\u001b[0m\n\u001b[1m\u001b[96m291\u001b[0m \u001b[1m\u001b[96m|\u001b[0m jobs.get(&job_id)\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `jobs` an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m290\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let jobs\u001b[92m: /* Type */\u001b[0m = self.jobs.read().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\conversion.rs","byte_start":10170,"byte_end":10174,"line_start":299,"line_end":299,"column_start":9,"column_end":13,"is_primary":false,"text":[{"text":" jobs.values()","highlight_start":9,"highlight_end":13}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\conversion.rs","byte_start":10130,"byte_end":10134,"line_start":298,"line_end":298,"column_start":13,"column_end":17,"is_primary":true,"text":[{"text":" let jobs = self.jobs.read().await;","highlight_start":13,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `jobs` an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\conversion.rs","byte_start":10134,"byte_end":10134,"line_start":298,"line_end":298,"column_start":17,"column_end":17,"is_primary":true,"text":[{"text":" let jobs = self.jobs.read().await;","highlight_start":17,"highlight_end":17}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\conversion.rs:298:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m298\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let jobs = self.jobs.read().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^\u001b[0m\n\u001b[1m\u001b[96m299\u001b[0m \u001b[1m\u001b[96m|\u001b[0m jobs.values()\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `jobs` an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m298\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let jobs\u001b[92m: /* Type */\u001b[0m = self.jobs.read().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\conversion.rs","byte_start":13148,"byte_end":13152,"line_start":387,"line_end":387,"column_start":23,"column_end":27,"is_primary":false,"text":[{"text":" let job = jobs.get_mut(&job_id).ok_or(\"Job not found\")?;","highlight_start":23,"highlight_end":27}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\conversion.rs","byte_start":13089,"byte_end":13097,"line_start":386,"line_end":386,"column_start":17,"column_end":25,"is_primary":true,"text":[{"text":" let mut jobs = self.jobs.write().await;","highlight_start":17,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `jobs` an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\conversion.rs","byte_start":13097,"byte_end":13097,"line_start":386,"line_end":386,"column_start":25,"column_end":25,"is_primary":true,"text":[{"text":" let mut jobs = self.jobs.write().await;","highlight_start":25,"highlight_end":25}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\conversion.rs:386:17\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m386\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let mut jobs = self.jobs.write().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96m387\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let job = jobs.get_mut(&job_id).ok_or(\"Job not found\")?;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `jobs` an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m386\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let mut jobs\u001b[92m: /* Type */\u001b[0m = self.jobs.write().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\conversion.rs","byte_start":14226,"byte_end":14230,"line_start":418,"line_end":418,"column_start":28,"column_end":32,"is_primary":false,"text":[{"text":" if let Some(job) = jobs.get_mut(&job_id) {","highlight_start":28,"highlight_end":32}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\conversion.rs","byte_start":14162,"byte_end":14170,"line_start":417,"line_end":417,"column_start":13,"column_end":21,"is_primary":true,"text":[{"text":" let mut jobs = self.jobs.write().await;","highlight_start":13,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `jobs` an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\conversion.rs","byte_start":14170,"byte_end":14170,"line_start":417,"line_end":417,"column_start":21,"column_end":21,"is_primary":true,"text":[{"text":" let mut jobs = self.jobs.write().await;","highlight_start":21,"highlight_end":21}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\conversion.rs:417:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m417\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let mut jobs = self.jobs.write().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96m418\u001b[0m \u001b[1m\u001b[96m|\u001b[0m if let Some(job) = jobs.get_mut(&job_id) {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `jobs` an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m417\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let mut jobs\u001b[92m: /* Type */\u001b[0m = self.jobs.write().await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\conversion.rs","byte_start":14327,"byte_end":14330,"line_start":421,"line_end":421,"column_start":21,"column_end":24,"is_primary":true,"text":[{"text":" job.set_completed(output_filename);","highlight_start":21,"highlight_end":24}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\conversion.rs:421:21\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m421\u001b[0m \u001b[1m\u001b[96m|\u001b[0m job.set_completed(output_filename);\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"no field `conversion_service` on type `AppState`","code":{"code":"E0609","explanation":"Attempted to access a nonexistent field in a struct.\n\nErroneous code example:\n\n```compile_fail,E0609\nstruct StructWithFields {\n x: u32,\n}\n\nlet s = StructWithFields { x: 0 };\nprintln!(\"{}\", s.foo); // error: no field `foo` on type `StructWithFields`\n```\n\nTo fix this error, check that you didn't misspell the field's name or that the\nfield actually exists. Example:\n\n```\nstruct StructWithFields {\n x: u32,\n}\n\nlet s = StructWithFields { x: 0 };\nprintln!(\"{}\", s.x); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src\\rest.rs","byte_start":5820,"byte_end":5838,"line_start":162,"line_end":162,"column_start":10,"column_end":28,"is_primary":true,"text":[{"text":" .conversion_service","highlight_start":10,"highlight_end":28}],"label":"unknown field","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"available fields are: `config`, `engine_registry`, `dispatcher`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0609]\u001b[0m\u001b[1m\u001b[97m: no field `conversion_service` on type `AppState`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\rest.rs:162:10\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m162\u001b[0m \u001b[1m\u001b[96m|\u001b[0m .conversion_service\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91munknown field\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: available fields are: `config`, `engine_registry`, `dispatcher`\n\n"}
{"$message_type":"diagnostic","message":"no field `conversion_service` on type `AppState`","code":{"code":"E0609","explanation":"Attempted to access a nonexistent field in a struct.\n\nErroneous code example:\n\n```compile_fail,E0609\nstruct StructWithFields {\n x: u32,\n}\n\nlet s = StructWithFields { x: 0 };\nprintln!(\"{}\", s.foo); // error: no field `foo` on type `StructWithFields`\n```\n\nTo fix this error, check that you didn't misspell the field's name or that the\nfield actually exists. Example:\n\n```\nstruct StructWithFields {\n x: u32,\n}\n\nlet s = StructWithFields { x: 0 };\nprintln!(\"{}\", s.x); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src\\rest.rs","byte_start":6375,"byte_end":6393,"line_start":181,"line_end":181,"column_start":22,"column_end":40,"is_primary":true,"text":[{"text":" let jobs = state.conversion_service.get_user_jobs(&user.user_id).await;","highlight_start":22,"highlight_end":40}],"label":"unknown field","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"available fields are: `config`, `engine_registry`, `dispatcher`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0609]\u001b[0m\u001b[1m\u001b[97m: no field `conversion_service` on type `AppState`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\rest.rs:181:22\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m181\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let jobs = state.conversion_service.get_user_jobs(&user.user_id).await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91munknown field\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: available fields are: `config`, `engine_registry`, `dispatcher`\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\rest.rs","byte_start":6479,"byte_end":6483,"line_start":182,"line_end":182,"column_start":49,"column_end":53,"is_primary":false,"text":[{"text":" let job_responses: Vec<JobStatusResponse> = jobs.iter().map(|j| j.into()).collect();","highlight_start":49,"highlight_end":53}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\rest.rs","byte_start":6362,"byte_end":6366,"line_start":181,"line_end":181,"column_start":9,"column_end":13,"is_primary":true,"text":[{"text":" let jobs = state.conversion_service.get_user_jobs(&user.user_id).await;","highlight_start":9,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `jobs` an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\rest.rs","byte_start":6366,"byte_end":6366,"line_start":181,"line_end":181,"column_start":13,"column_end":13,"is_primary":true,"text":[{"text":" let jobs = state.conversion_service.get_user_jobs(&user.user_id).await;","highlight_start":13,"highlight_end":13}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\rest.rs:181:9\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m181\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let jobs = state.conversion_service.get_user_jobs(&user.user_id).await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^\u001b[0m\n\u001b[1m\u001b[96m182\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let job_responses: Vec<JobStatusResponse> = jobs.iter().map(|j| j.into()).collect();\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `jobs` an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m181\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let jobs\u001b[92m: /* Type */\u001b[0m = state.conversion_service.get_user_jobs(&user.user_id).await;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\rest.rs","byte_start":6499,"byte_end":6500,"line_start":182,"line_end":182,"column_start":69,"column_end":70,"is_primary":false,"text":[{"text":" let job_responses: Vec<JobStatusResponse> = jobs.iter().map(|j| j.into()).collect();","highlight_start":69,"highlight_end":70}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\rest.rs","byte_start":6496,"byte_end":6497,"line_start":182,"line_end":182,"column_start":66,"column_end":67,"is_primary":true,"text":[{"text":" let job_responses: Vec<JobStatusResponse> = jobs.iter().map(|j| j.into()).collect();","highlight_start":66,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving this closure parameter an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\rest.rs","byte_start":6497,"byte_end":6497,"line_start":182,"line_end":182,"column_start":67,"column_end":67,"is_primary":true,"text":[{"text":" let job_responses: Vec<JobStatusResponse> = jobs.iter().map(|j| j.into()).collect();","highlight_start":67,"highlight_end":67}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\rest.rs:182:66\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m182\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let job_responses: Vec<JobStatusResponse> = jobs.iter().map(|j| j.into()).collect();\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^\u001b[0m \u001b[1m\u001b[96m-\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving this closure parameter an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m182\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let job_responses: Vec<JobStatusResponse> = jobs.iter().map(|j\u001b[92m: /* Type */\u001b[0m| j.into()).collect();\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"no field `conversion_service` on type `AppState`","code":{"code":"E0609","explanation":"Attempted to access a nonexistent field in a struct.\n\nErroneous code example:\n\n```compile_fail,E0609\nstruct StructWithFields {\n x: u32,\n}\n\nlet s = StructWithFields { x: 0 };\nprintln!(\"{}\", s.foo); // error: no field `foo` on type `StructWithFields`\n```\n\nTo fix this error, check that you didn't misspell the field's name or that the\nfield actually exists. Example:\n\n```\nstruct StructWithFields {\n x: u32,\n}\n\nlet s = StructWithFields { x: 0 };\nprintln!(\"{}\", s.x); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src\\rest.rs","byte_start":6884,"byte_end":6902,"line_start":197,"line_end":197,"column_start":21,"column_end":39,"is_primary":true,"text":[{"text":" let job = state.conversion_service.get_job(job_id).await?;","highlight_start":21,"highlight_end":39}],"label":"unknown field","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"available fields are: `config`, `engine_registry`, `dispatcher`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0609]\u001b[0m\u001b[1m\u001b[97m: no field `conversion_service` on type `AppState`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\rest.rs:197:21\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m197\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let job = state.conversion_service.get_job(job_id).await?;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91munknown field\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: available fields are: `config`, `engine_registry`, `dispatcher`\n\n"}
{"$message_type":"diagnostic","message":"no field `conversion_service` on type `AppState`","code":{"code":"E0609","explanation":"Attempted to access a nonexistent field in a struct.\n\nErroneous code example:\n\n```compile_fail,E0609\nstruct StructWithFields {\n x: u32,\n}\n\nlet s = StructWithFields { x: 0 };\nprintln!(\"{}\", s.foo); // error: no field `foo` on type `StructWithFields`\n```\n\nTo fix this error, check that you didn't misspell the field's name or that the\nfield actually exists. Example:\n\n```\nstruct StructWithFields {\n x: u32,\n}\n\nlet s = StructWithFields { x: 0 };\nprintln!(\"{}\", s.x); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src\\rest.rs","byte_start":7324,"byte_end":7342,"line_start":214,"line_end":214,"column_start":10,"column_end":28,"is_primary":true,"text":[{"text":" .conversion_service","highlight_start":10,"highlight_end":28}],"label":"unknown field","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"available fields are: `config`, `engine_registry`, `dispatcher`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0609]\u001b[0m\u001b[1m\u001b[97m: no field `conversion_service` on type `AppState`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\rest.rs:214:10\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m214\u001b[0m \u001b[1m\u001b[96m|\u001b[0m .conversion_service\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91munknown field\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: available fields are: `config`, `engine_registry`, `dispatcher`\n\n"}
{"$message_type":"diagnostic","message":"no field `conversion_service` on type `AppState`","code":{"code":"E0609","explanation":"Attempted to access a nonexistent field in a struct.\n\nErroneous code example:\n\n```compile_fail,E0609\nstruct StructWithFields {\n x: u32,\n}\n\nlet s = StructWithFields { x: 0 };\nprintln!(\"{}\", s.foo); // error: no field `foo` on type `StructWithFields`\n```\n\nTo fix this error, check that you didn't misspell the field's name or that the\nfield actually exists. Example:\n\n```\nstruct StructWithFields {\n x: u32,\n}\n\nlet s = StructWithFields { x: 0 };\nprintln!(\"{}\", s.x); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src\\rest.rs","byte_start":7812,"byte_end":7830,"line_start":234,"line_end":234,"column_start":10,"column_end":28,"is_primary":true,"text":[{"text":" .conversion_service","highlight_start":10,"highlight_end":28}],"label":"unknown field","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"available fields are: `config`, `engine_registry`, `dispatcher`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0609]\u001b[0m\u001b[1m\u001b[97m: no field `conversion_service` on type `AppState`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\rest.rs:234:10\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m234\u001b[0m \u001b[1m\u001b[96m|\u001b[0m .conversion_service\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91munknown field\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: available fields are: `config`, `engine_registry`, `dispatcher`\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\rest.rs","byte_start":8394,"byte_end":8403,"line_start":251,"line_end":251,"column_start":20,"column_end":29,"is_primary":false,"text":[{"text":" let filename = file_path","highlight_start":20,"highlight_end":29}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\rest.rs","byte_start":7784,"byte_end":7793,"line_start":233,"line_end":233,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" let file_path = state","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `file_path` an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\rest.rs","byte_start":7793,"byte_end":7793,"line_start":233,"line_end":233,"column_start":18,"column_end":18,"is_primary":true,"text":[{"text":" let file_path = state","highlight_start":18,"highlight_end":18}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\rest.rs:233:9\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m233\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let file_path = state\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96m...\u001b[0m\n\u001b[1m\u001b[96m251\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let filename = file_path\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m---------\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `file_path` an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m233\u001b[0m \u001b[1m\u001b[96m| \u001b[0m let file_path\u001b[92m: /* Type */\u001b[0m = state\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\rest.rs","byte_start":8449,"byte_end":8450,"line_start":253,"line_end":253,"column_start":23,"column_end":24,"is_primary":false,"text":[{"text":" .and_then(|n| n.to_str())","highlight_start":23,"highlight_end":24}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\rest.rs","byte_start":8446,"byte_end":8447,"line_start":253,"line_end":253,"column_start":20,"column_end":21,"is_primary":true,"text":[{"text":" .and_then(|n| n.to_str())","highlight_start":20,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving this closure parameter an explicit type","code":null,"level":"help","spans":[{"file_name":"src\\rest.rs","byte_start":8447,"byte_end":8447,"line_start":253,"line_end":253,"column_start":21,"column_end":21,"is_primary":true,"text":[{"text":" .and_then(|n| n.to_str())","highlight_start":21,"highlight_end":21}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\rest.rs:253:20\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m253\u001b[0m \u001b[1m\u001b[96m|\u001b[0m .and_then(|n| n.to_str())\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^\u001b[0m \u001b[1m\u001b[96m-\u001b[0m \u001b[1m\u001b[96mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving this closure parameter an explicit type\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m253\u001b[0m \u001b[1m\u001b[96m| \u001b[0m .and_then(|n\u001b[92m: /* Type */\u001b[0m| n.to_str())\n \u001b[1m\u001b[96m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"no field `conversion_service` on type `AppState`","code":{"code":"E0609","explanation":"Attempted to access a nonexistent field in a struct.\n\nErroneous code example:\n\n```compile_fail,E0609\nstruct StructWithFields {\n x: u32,\n}\n\nlet s = StructWithFields { x: 0 };\nprintln!(\"{}\", s.foo); // error: no field `foo` on type `StructWithFields`\n```\n\nTo fix this error, check that you didn't misspell the field's name or that the\nfield actually exists. Example:\n\n```\nstruct StructWithFields {\n x: u32,\n}\n\nlet s = StructWithFields { x: 0 };\nprintln!(\"{}\", s.x); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":1269,"byte_end":1287,"line_start":46,"line_end":46,"column_start":15,"column_end":33,"is_primary":true,"text":[{"text":" state.conversion_service.clone(),","highlight_start":15,"highlight_end":33}],"label":"unknown field","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"available fields are: `config`, `engine_registry`, `dispatcher`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0609]\u001b[0m\u001b[1m\u001b[97m: no field `conversion_service` on type `AppState`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:46:15\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m46\u001b[0m \u001b[1m\u001b[96m|\u001b[0m state.conversion_service.clone(),\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91munknown field\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: available fields are: `config`, `engine_registry`, `dispatcher`\n\n"}
{"$message_type":"diagnostic","message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.\n\nErroneous code examples:\n\n```compile_fail,E0308\nfn plus_one(x: i32) -> i32 {\n x + 1\n}\n\nplus_one(\"Not a number\");\n// ^^^^^^^^^^^^^^ expected `i32`, found `&str`\n\nif \"Not a bool\" {\n// ^^^^^^^^^^^^ expected `bool`, found `&str`\n}\n\nlet x: f32 = \"Not a float\";\n// --- ^^^^^^^^^^^^^ expected `f32`, found `&str`\n// |\n// expected due to this\n```\n\nThis error occurs when an expression was used in a place where the compiler\nexpected an expression of a different type. It can occur in several cases, the\nmost common being when calling a function and passing an argument which has a\ndifferent type than the matching type in the function declaration.\n"},"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":1223,"byte_end":1252,"line_start":45,"line_end":45,"column_start":9,"column_end":38,"is_primary":true,"text":[{"text":" state.engine_registry.clone(),","highlight_start":9,"highlight_end":38}],"label":"expected `engine::EngineRegistry`, found `engine_registry::EngineRegistry`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\graphql.rs","byte_start":1200,"byte_end":1212,"line_start":44,"line_end":44,"column_start":18,"column_end":30,"is_primary":false,"text":[{"text":" let schema = build_schema(","highlight_start":18,"highlight_end":30}],"label":"arguments to this function are incorrect","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`engine_registry::EngineRegistry` and `engine::EngineRegistry` have similar names, but are actually distinct types","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"`engine_registry::EngineRegistry` is defined in module `crate::services::engine_registry` of the current crate","code":null,"level":"note","spans":[{"file_name":"src\\services\\engine_registry.rs","byte_start":3566,"byte_end":3591,"line_start":114,"line_end":114,"column_start":1,"column_end":26,"is_primary":true,"text":[{"text":"pub struct EngineRegistry {","highlight_start":1,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"`engine::EngineRegistry` is defined in module `crate::engine` of the current crate","code":null,"level":"note","spans":[{"file_name":"src\\engine.rs","byte_start":2847,"byte_end":2872,"line_start":94,"line_end":94,"column_start":1,"column_end":26,"is_primary":true,"text":[{"text":"pub struct EngineRegistry {","highlight_start":1,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"function defined here","code":null,"level":"note","spans":[{"file_name":"src\\graphql.rs","byte_start":2002,"byte_end":2038,"line_start":71,"line_end":71,"column_start":5,"column_end":41,"is_primary":false,"text":[{"text":" engine_registry: Arc<EngineRegistry>,","highlight_start":5,"highlight_end":41}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\graphql.rs","byte_start":1983,"byte_end":1995,"line_start":70,"line_end":70,"column_start":8,"column_end":20,"is_primary":true,"text":[{"text":"pub fn build_schema(","highlight_start":8,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0308]\u001b[0m\u001b[1m\u001b[97m: mismatched types\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:45:9\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m44\u001b[0m \u001b[1m\u001b[96m|\u001b[0m let schema = build_schema(\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m------------\u001b[0m \u001b[1m\u001b[96marguments to this function are incorrect\u001b[0m\n \u001b[1m\u001b[96m45\u001b[0m \u001b[1m\u001b[96m|\u001b[0m state.engine_registry.clone(),\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mexpected `engine::EngineRegistry`, found `engine_registry::EngineRegistry`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: `engine_registry::EngineRegistry` and `engine::EngineRegistry` have similar names, but are actually distinct types\n\u001b[1m\u001b[92mnote\u001b[0m: `engine_registry::EngineRegistry` is defined in module `crate::services::engine_registry` of the current crate\n \u001b[1m\u001b[96m--> \u001b[0msrc\\services\\engine_registry.rs:114:1\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m114\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub struct EngineRegistry {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[92mnote\u001b[0m: `engine::EngineRegistry` is defined in module `crate::engine` of the current crate\n \u001b[1m\u001b[96m--> \u001b[0msrc\\engine.rs:94:1\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m94\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub struct EngineRegistry {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[92mnote\u001b[0m: function defined here\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:70:8\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m70\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub fn build_schema(\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[96m71\u001b[0m \u001b[1m\u001b[96m|\u001b[0m engine_registry: Arc<EngineRegistry>,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m------------------------------------\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\services\\dispatcher.rs","byte_start":3471,"byte_end":3474,"line_start":114,"line_end":114,"column_start":13,"column_end":16,"is_primary":true,"text":[{"text":" job.set_completed(output_filename);","highlight_start":13,"highlight_end":16}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\services\\dispatcher.rs:114:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m114\u001b[0m \u001b[1m\u001b[96m|\u001b[0m job.set_completed(output_filename);\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src\\services\\dispatcher.rs","byte_start":3751,"byte_end":3754,"line_start":122,"line_end":122,"column_start":13,"column_end":16,"is_primary":true,"text":[{"text":" job.set_failed(error_message);","highlight_start":13,"highlight_end":16}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m\u001b[97m: type annotations needed\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\services\\dispatcher.rs:122:13\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m122\u001b[0m \u001b[1m\u001b[96m|\u001b[0m job.set_failed(error_message);\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"the trait bound `fn(State<AppState>, ..., ...) -> ... {graphql_handler}: Handler<_, _>` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":940,"byte_end":955,"line_start":34,"line_end":34,"column_start":33,"column_end":48,"is_primary":true,"text":[{"text":" .route(\"/graphql\", post(graphql_handler))","highlight_start":33,"highlight_end":48}],"label":"the trait `Handler<_, _>` is not implemented for fn item `fn(State<AppState>, HeaderMap, ...) -> ... {graphql_handler}`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\graphql.rs","byte_start":935,"byte_end":939,"line_start":34,"line_end":34,"column_start":28,"column_end":32,"is_primary":false,"text":[{"text":" .route(\"/graphql\", post(graphql_handler))","highlight_start":28,"highlight_end":32}],"label":"required by a bound introduced by this call","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"Consider using `#[axum::debug_handler]` to improve the error message","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"there are multiple different versions of crate `axum` in the dependency graph","code":null,"level":"note","spans":[{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\handler\\mod.rs","byte_start":4239,"byte_end":4294,"line_start":134,"line_end":134,"column_start":1,"column_end":56,"is_primary":true,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sized + 'static {","highlight_start":1,"highlight_end":56}],"label":"this is the expected trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs","byte_start":5220,"byte_end":5282,"line_start":148,"line_end":148,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {","highlight_start":1,"highlight_end":63}],"label":"this is the found trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"you can use `cargo tree` to explore your dependency tree","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following other types implement trait `Handler<T, S>`","code":null,"level":"help","spans":[{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\handler\\mod.rs","byte_start":9353,"byte_end":9724,"line_start":303,"line_end":311,"column_start":1,"column_end":16,"is_primary":true,"text":[{"text":"impl<H, S, T, L> Handler<T, S> for Layered<L, H, T, S>","highlight_start":1,"highlight_end":55},{"text":"where","highlight_start":1,"highlight_end":6},{"text":" L: Layer<HandlerService<H, T, S>> + Clone + Send + 'static,","highlight_start":1,"highlight_end":64},{"text":" H: Handler<T, S>,","highlight_start":1,"highlight_end":22},{"text":" L::Service: Service<Request, Error = Infallible> + Clone + Send + 'static,","highlight_start":1,"highlight_end":79},{"text":" <L::Service as Service<Request>>::Response: IntoResponse,","highlight_start":1,"highlight_end":62},{"text":" <L::Service as Service<Request>>::Future: Send,","highlight_start":1,"highlight_end":52},{"text":" T: 'static,","highlight_start":1,"highlight_end":16},{"text":" S: 'static,","highlight_start":1,"highlight_end":16}],"label":"`Layered<L, H, T, S>` implements `Handler<T, S>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\routing\\method_routing.rs","byte_start":39887,"byte_end":39959,"line_start":1309,"line_end":1311,"column_start":1,"column_end":24,"is_primary":true,"text":[{"text":"impl<S> Handler<(), S> for MethodRouter<S>","highlight_start":1,"highlight_end":43},{"text":"where","highlight_start":1,"highlight_end":6},{"text":" S: Clone + 'static,","highlight_start":1,"highlight_end":24}],"label":"`MethodRouter<S>` implements `Handler<(), S>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"required by a bound in `post`","code":null,"level":"note","spans":[{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\routing\\method_routing.rs","byte_start":12739,"byte_end":12743,"line_start":443,"line_end":443,"column_start":23,"column_end":27,"is_primary":false,"text":[{"text":"top_level_handler_fn!(post, POST);","highlight_start":23,"highlight_end":27}],"label":"required by a bound in this function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\routing\\method_routing.rs","byte_start":4729,"byte_end":4742,"line_start":166,"line_end":166,"column_start":16,"column_end":29,"is_primary":true,"text":[{"text":" H: Handler<T, S>,","highlight_start":16,"highlight_end":29}],"label":"required by this bound in `post`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\routing\\method_routing.rs","byte_start":4296,"byte_end":4524,"line_start":150,"line_end":156,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" top_level_handler_fn!(","highlight_start":9,"highlight_end":31},{"text":" #[doc = concat!(\"Route `\", stringify!($method) ,\"` requests to the given handler.\")]","highlight_start":1,"highlight_end":97},{"text":" ///","highlight_start":1,"highlight_end":16},{"text":" /// See [`get`] for an example.","highlight_start":1,"highlight_end":44},{"text":" $name,","highlight_start":1,"highlight_end":19},{"text":" $method","highlight_start":1,"highlight_end":20},{"text":" );","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\routing\\method_routing.rs","byte_start":12717,"byte_end":12750,"line_start":443,"line_end":443,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"top_level_handler_fn!(post, POST);","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"top_level_handler_fn!","def_site_span":{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\routing\\method_routing.rs","byte_start":3010,"byte_end":3043,"line_start":104,"line_end":104,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! top_level_handler_fn {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"top_level_handler_fn!","def_site_span":{"file_name":"C:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\routing\\method_routing.rs","byte_start":3010,"byte_end":3043,"line_start":104,"line_end":104,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! top_level_handler_fn {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"the full name for the type has been written to 'D:\\pi\\ConvertX-CN\\api-server\\target\\debug\\deps\\convertx_ras_api-20f9dbbf5a5f86b5.long-type-15502062875940274200.txt'","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider using `--verbose` to print the full type name to the console","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m\u001b[97m: the trait bound `fn(State<AppState>, ..., ...) -> ... {graphql_handler}: Handler<_, _>` is not satisfied\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:34:33\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m34\u001b[0m \u001b[1m\u001b[96m|\u001b[0m .route(\"/graphql\", post(graphql_handler))\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m----\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mthe trait `Handler<_, _>` is not implemented for fn item `fn(State<AppState>, HeaderMap, ...) -> ... {graphql_handler}`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mrequired by a bound introduced by this call\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: Consider using `#[axum::debug_handler]` to improve the error message\n\u001b[1m\u001b[92mnote\u001b[0m: there are multiple different versions of crate `axum` in the dependency graph\n \u001b[1m\u001b[96m--> \u001b[0mC:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\handler\\mod.rs:134:1\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m134\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub trait Handler<T, S>: Clone + Send + Sized + 'static {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[92mthis is the expected trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m::: \u001b[0mC:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.8.8\\src\\handler\\mod.rs:148:1\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m148\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub trait Handler<T, S>: Clone + Send + Sync + Sized + 'static {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m--------------------------------------------------------------\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96mthis is the found trait\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mhelp\u001b[0m: you can use `cargo tree` to explore your dependency tree\n\u001b[1m\u001b[96mhelp\u001b[0m: the following other types implement trait `Handler<T, S>`\n \u001b[1m\u001b[96m--> \u001b[0mC:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\routing\\method_routing.rs:1309:1\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m1309\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m/\u001b[0m impl<S> Handler<(), S> for MethodRouter<S>\n\u001b[1m\u001b[96m1310\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m where\n\u001b[1m\u001b[96m1311\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m S: Clone + 'static,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|_______________________^\u001b[0m \u001b[1m\u001b[96m`MethodRouter<S>` implements `Handler<(), S>`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m::: \u001b[0mC:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\handler\\mod.rs:303:1\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m303\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m/\u001b[0m impl<H, S, T, L> Handler<T, S> for Layered<L, H, T, S>\n \u001b[1m\u001b[96m304\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m where\n \u001b[1m\u001b[96m305\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m L: Layer<HandlerService<H, T, S>> + Clone + Send + 'static,\n \u001b[1m\u001b[96m306\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m H: Handler<T, S>,\n\u001b[1m\u001b[96m...\u001b[0m \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m310\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m T: 'static,\n \u001b[1m\u001b[96m311\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m S: 'static,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|_______________^\u001b[0m \u001b[1m\u001b[96m`Layered<L, H, T, S>` implements `Handler<T, S>`\u001b[0m\n\u001b[1m\u001b[92mnote\u001b[0m: required by a bound in `post`\n \u001b[1m\u001b[96m--> \u001b[0mC:\\Users\\季邪\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\axum-0.7.9\\src\\routing\\method_routing.rs:443:1\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m443\u001b[0m \u001b[1m\u001b[96m|\u001b[0m top_level_handler_fn!(post, POST);\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[1m\u001b[96m----\u001b[0m\u001b[1m\u001b[92m^^^^^^^\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92m|\u001b[0m \u001b[1m\u001b[96mrequired by a bound in this function\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92mrequired by this bound in `post`\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: the full name for the type has been written to 'D:\\pi\\ConvertX-CN\\api-server\\target\\debug\\deps\\convertx_ras_api-20f9dbbf5a5f86b5.long-type-15502062875940274200.txt'\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: consider using `--verbose` to print the full type name to the console\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: this error originates in the macro `top_level_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"$message_type":"diagnostic","message":"the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":4787,"byte_end":4800,"line_start":166,"line_end":166,"column_start":21,"column_end":34,"is_primary":true,"text":[{"text":" pub created_at: DateTime<Utc>,","highlight_start":21,"highlight_end":34}],"label":"the trait `OutputType` is not implemented for `chrono::DateTime<Utc>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\nand 64 others","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m\u001b[97m: the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:166:21\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m166\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub created_at: DateTime<Utc>,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mthe trait `OutputType` is not implemented for `chrono::DateTime<Utc>`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mhelp\u001b[0m: the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\n and 64 others\n\n"}
{"$message_type":"diagnostic","message":"the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":4855,"byte_end":4876,"line_start":168,"line_end":168,"column_start":23,"column_end":44,"is_primary":true,"text":[{"text":" pub completed_at: Option<DateTime<Utc>>,","highlight_start":23,"highlight_end":44}],"label":"the trait `OutputType` is not implemented for `chrono::DateTime<Utc>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\nand 64 others","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required for `std::option::Option<chrono::DateTime<Utc>>` to implement `OutputType`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m\u001b[97m: the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:168:23\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m168\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub completed_at: Option<DateTime<Utc>>,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mthe trait `OutputType` is not implemented for `chrono::DateTime<Utc>`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mhelp\u001b[0m: the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\n and 64 others\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: required for `std::option::Option<chrono::DateTime<Utc>>` to implement `OutputType`\n\n"}
{"$message_type":"diagnostic","message":"the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src\\graphql.rs","byte_start":6349,"byte_end":6362,"line_start":230,"line_end":230,"column_start":20,"column_end":33,"is_primary":true,"text":[{"text":" pub timestamp: DateTime<Utc>,","highlight_start":20,"highlight_end":33}],"label":"the trait `OutputType` is not implemented for `chrono::DateTime<Utc>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\nand 64 others","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m\u001b[97m: the trait bound `chrono::DateTime<Utc>: OutputType` is not satisfied\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:230:20\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m230\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub timestamp: DateTime<Utc>,\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mthe trait `OutputType` is not implemented for `chrono::DateTime<Utc>`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mhelp\u001b[0m: the following other types implement trait `OutputType`:\n &'a [T]\n &T\n Arc<T>\n Arc<[T]>\n BTreeMap<K, V>\n BTreeSet<T>\n Box<T>\n Box<[T]>\n and 64 others\n\n"}
{"$message_type":"diagnostic","message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.\n\nErroneous code examples:\n\n```compile_fail,E0308\nfn plus_one(x: i32) -> i32 {\n x + 1\n}\n\nplus_one(\"Not a number\");\n// ^^^^^^^^^^^^^^ expected `i32`, found `&str`\n\nif \"Not a bool\" {\n// ^^^^^^^^^^^^ expected `bool`, found `&str`\n}\n\nlet x: f32 = \"Not a float\";\n// --- ^^^^^^^^^^^^^ expected `f32`, found `&str`\n// |\n// expected due to this\n```\n\nThis error occurs when an expression was used in a place where the compiler\nexpected an expression of a different type. It can occur in several cases, the\nmost common being when calling a function and passing an argument which has a\ndifferent type than the matching type in the function declaration.\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":3637,"byte_end":3643,"line_start":119,"line_end":119,"column_start":5,"column_end":11,"is_primary":true,"text":[{"text":" router","highlight_start":5,"highlight_end":11}],"label":"expected `Router`, found `Router<AppState>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\lib.rs","byte_start":3126,"byte_end":3132,"line_start":101,"line_end":101,"column_start":41,"column_end":47,"is_primary":false,"text":[{"text":"pub fn build_router(state: AppState) -> Router {","highlight_start":41,"highlight_end":47}],"label":"expected `Router` because of return type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\lib.rs","byte_start":3573,"byte_end":3579,"line_start":116,"line_end":116,"column_start":9,"column_end":15,"is_primary":false,"text":[{"text":" router = router.merge(openapi::swagger_routes());","highlight_start":9,"highlight_end":15}],"label":"here the type of `router` is inferred to be `Router<AppState>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected struct `Router<()>`\n found struct `Router<AppState>`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0308]\u001b[0m\u001b[1m\u001b[97m: mismatched types\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\lib.rs:119:5\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m101\u001b[0m \u001b[1m\u001b[96m|\u001b[0m pub fn build_router(state: AppState) -> Router {\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m------\u001b[0m \u001b[1m\u001b[96mexpected `Router` because of return type\u001b[0m\n\u001b[1m\u001b[96m...\u001b[0m\n\u001b[1m\u001b[96m116\u001b[0m \u001b[1m\u001b[96m|\u001b[0m router = router.merge(openapi::swagger_routes());\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m------\u001b[0m \u001b[1m\u001b[96mhere the type of `router` is inferred to be `Router<AppState>`\u001b[0m\n\u001b[1m\u001b[96m...\u001b[0m\n\u001b[1m\u001b[96m119\u001b[0m \u001b[1m\u001b[96m|\u001b[0m router\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[91m^^^^^^\u001b[0m \u001b[1m\u001b[91mexpected `Router`, found `Router<AppState>`\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m= \u001b[0m\u001b[1m\u001b[97mnote\u001b[0m: expected struct `Router<\u001b[1m\u001b[35m()\u001b[0m>`\n found struct `Router<\u001b[1m\u001b[35mAppState\u001b[0m>`\n\n"}
{"$message_type":"diagnostic","message":"aborting due to 85 previous errors; 10 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m\u001b[97m: aborting due to 85 previous errors; 10 warnings emitted\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"Some errors have detailed explanations: E0195, E0277, E0282, E0308, E0425, E0433, E0603, E0609, E0761.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1m\u001b[97mSome errors have detailed explanations: E0195, E0277, E0282, E0308, E0425, E0433, E0603, E0609, E0761.\u001b[0m\n"}
{"$message_type":"diagnostic","message":"For more information about an error, try `rustc --explain E0195`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1m\u001b[97mFor more information about an error, try `rustc --explain E0195`.\u001b[0m\n"}