{"$message_type":"diagnostic","message":"unused import: `crate::engine::EngineRegistry`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src\\graphql.rs","byte_start":189,"byte_end":218,"line_start":7,"line_end":7,"column_start":5,"column_end":34,"is_primary":true,"text":[{"text":"use crate::engine::EngineRegistry;","highlight_start":5,"highlight_end":34}],"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 whole `use` item","code":null,"level":"help","spans":[{"file_name":"src\\graphql.rs","byte_start":185,"byte_end":221,"line_start":7,"line_end":8,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::engine::EngineRegistry;","highlight_start":1,"highlight_end":35},{"text":"use crate::job::JobStore;","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::engine::EngineRegistry`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:7:5\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m7\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use crate::engine::EngineRegistry;\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: `crate::job::JobStore`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src\\graphql.rs","byte_start":225,"byte_end":245,"line_start":8,"line_end":8,"column_start":5,"column_end":25,"is_primary":true,"text":[{"text":"use crate::job::JobStore;","highlight_start":5,"highlight_end":25}],"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\\graphql.rs","byte_start":221,"byte_end":248,"line_start":8,"line_end":9,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use crate::job::JobStore;","highlight_start":1,"highlight_end":26},{"text":"use crate::models::JobStatus as ModelJobStatus;","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::job::JobStore`\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\graphql.rs:8:5\n \u001b[1m\u001b[96m|\u001b[0m\n\u001b[1m\u001b[96m8\u001b[0m \u001b[1m\u001b[96m|\u001b[0m use crate::job::JobStore;\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[93m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"the trait bound `fn(State<...>, ...) -> ... {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(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(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(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(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\\main.rs","byte_start":4162,"byte_end":4177,"line_start":128,"line_end":128,"column_start":57,"column_end":72,"is_primary":true,"text":[{"text":" .route(\"/graphql\", get(graphql_playground).post(graphql_handler))","highlight_start":57,"highlight_end":72}],"label":"the trait `Handler<_, _>` is not implemented for fn item `fn(State>, ...) -> ... {graphql_handler}`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src\\main.rs","byte_start":4157,"byte_end":4161,"line_start":128,"line_end":128,"column_start":52,"column_end":56,"is_primary":false,"text":[{"text":" .route(\"/graphql\", get(graphql_playground).post(graphql_handler))","highlight_start":52,"highlight_end":56}],"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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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`","code":null,"level":"help","spans":[{"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 Handler<(), S> for MethodRouter","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` implements `Handler<(), 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\\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 Handler for Layered","highlight_start":1,"highlight_end":55},{"text":"where","highlight_start":1,"highlight_end":6},{"text":" L: Layer> + Clone + Send + 'static,","highlight_start":1,"highlight_end":64},{"text":" H: Handler,","highlight_start":1,"highlight_end":22},{"text":" L::Service: Service + Clone + Send + 'static,","highlight_start":1,"highlight_end":79},{"text":" >::Response: IntoResponse,","highlight_start":1,"highlight_end":62},{"text":" >::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":"`axum::handler::Layered` implements `Handler`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"required by a bound in `MethodRouter::::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":18701,"byte_end":18705,"line_start":647,"line_end":647,"column_start":25,"column_end":29,"is_primary":false,"text":[{"text":" chained_handler_fn!(post, POST);","highlight_start":25,"highlight_end":29}],"label":"required by a bound in this associated 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":9449,"byte_end":9462,"line_start":324,"line_end":324,"column_start":16,"column_end":29,"is_primary":true,"text":[{"text":" H: Handler,","highlight_start":16,"highlight_end":29}],"label":"required by this bound in `MethodRouter::::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":8978,"byte_end":9240,"line_start":307,"line_end":313,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" chained_handler_fn!(","highlight_start":9,"highlight_end":29},{"text":" #[doc = concat!(\"Chain an additional handler that will only accept `\", stringify!($method),\"` requests.\")]","highlight_start":1,"highlight_end":119},{"text":" ///","highlight_start":1,"highlight_end":16},{"text":" /// See [`MethodRouter::get`] for an example.","highlight_start":1,"highlight_end":58},{"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":18681,"byte_end":18712,"line_start":647,"line_end":647,"column_start":5,"column_end":36,"is_primary":false,"text":[{"text":" chained_handler_fn!(post, POST);","highlight_start":5,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"chained_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":7557,"byte_end":7588,"line_start":261,"line_end":261,"column_start":1,"column_end":32,"is_primary":false,"text":[{"text":"macro_rules! chained_handler_fn {","highlight_start":1,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"chained_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":7557,"byte_end":7588,"line_start":261,"line_end":261,"column_start":1,"column_end":32,"is_primary":false,"text":[{"text":"macro_rules! chained_handler_fn {","highlight_start":1,"highlight_end":32}],"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_api-64723fa44655b765.long-type-3073114428662228475.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<...>, ...) -> ... {graphql_handler}: Handler<_, _>` is not satisfied\u001b[0m\n \u001b[1m\u001b[96m--> \u001b[0msrc\\main.rs:128:57\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m128\u001b[0m \u001b[1m\u001b[96m|\u001b[0m .route(\"/graphql\", get(graphql_playground).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>, ...) -> ... {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: 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: 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`\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 Handler<(), S> for MethodRouter\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` 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 Handler for Layered\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> + Clone + Send + 'static,\n \u001b[1m\u001b[96m306\u001b[0m \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[96m|\u001b[0m H: Handler,\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`axum::handler::Layered` implements `Handler`\u001b[0m\n\u001b[1m\u001b[92mnote\u001b[0m: required by a bound in `MethodRouter::::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:647:5\n \u001b[1m\u001b[96m|\u001b[0m\n \u001b[1m\u001b[96m647\u001b[0m \u001b[1m\u001b[96m|\u001b[0m chained_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 associated function\u001b[0m\n \u001b[1m\u001b[96m|\u001b[0m \u001b[1m\u001b[92mrequired by this bound in `MethodRouter::::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_api-64723fa44655b765.long-type-3073114428662228475.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 `chained_handler_fn` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"} {"$message_type":"diagnostic","message":"aborting due to 1 previous error; 2 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m\u001b[97m: aborting due to 1 previous error; 2 warnings emitted\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"For more information about this error, try `rustc --explain E0277`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1m\u001b[97mFor more information about this error, try `rustc --explain E0277`.\u001b[0m\n"}