- Foldable left panel (user profile) and right panel (task details) - Clicking a task in the list or graph node selects it and shows details - Both views (task list + graph) always mounted via absolute inset-0 for correct canvas dimensions; tabs toggle visibility with opacity - Graph node selection animation: other nodes repel outward (charge -600), then selected node smoothly slides to center (500ms cubic ease-out), then charge restores to -120 and graph stabilizes - Graph re-fits on tab switch and panel resize via ResizeObserver - Fix UUID string IDs throughout (backend returns UUIDs, not integers) - Add TaskDetailPanel, UserPanel components - Add CLAUDE.md project documentation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
89 KiB
Plaintext
26 lines
89 KiB
Plaintext
{"$message_type":"diagnostic","message":"unresolved import `tower`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018 or later, paths in `use` statements are relative to the current\nmodule unless they begin with the name of a crate or a literal `crate::`, in\nwhich case they start from the crate root. As in Rust 2015 code, the `self::`\nand `super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nSince Rust 2018 the `extern crate` declaration is not required and\nyou can instead just `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"tests/integration_test.rs","byte_start":174,"byte_end":179,"line_start":9,"line_end":9,"column_start":5,"column_end":10,"is_primary":true,"text":[{"text":"use tower::ServiceExt;","highlight_start":5,"highlight_end":10}],"label":"use of unresolved module or unlinked crate `tower`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if you wanted to use a crate named `tower`, use `cargo add tower` to add it to your `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0432]\u001b[0m\u001b[1m: unresolved import `tower`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:9:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m9\u001b[0m \u001b[1m\u001b[94m|\u001b[0m use tower::ServiceExt;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91muse of unresolved module or unlinked crate `tower`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: if you wanted to use a crate named `tower`, use `cargo add tower` to add it to your `Cargo.toml`\n\n"}
|
|
{"$message_type":"diagnostic","message":"unresolved import `tower`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018 or later, paths in `use` statements are relative to the current\nmodule unless they begin with the name of a crate or a literal `crate::`, in\nwhich case they start from the crate root. As in Rust 2015 code, the `self::`\nand `super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nSince Rust 2018 the `extern crate` declaration is not required and\nyou can instead just `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"tests/integration_test.rs","byte_start":2412,"byte_end":2417,"line_start":82,"line_end":82,"column_start":9,"column_end":14,"is_primary":true,"text":[{"text":" use tower::Service;","highlight_start":9,"highlight_end":14}],"label":"use of unresolved module or unlinked crate `tower`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if you wanted to use a crate named `tower`, use `cargo add tower` to add it to your `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0432]\u001b[0m\u001b[1m: unresolved import `tower`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:82:9\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m82\u001b[0m \u001b[1m\u001b[94m|\u001b[0m use tower::Service;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91muse of unresolved module or unlinked crate `tower`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: if you wanted to use a crate named `tower`, use `cargo add tower` to add it to your `Cargo.toml`\n\n"}
|
|
{"$message_type":"diagnostic","message":"no method named `oneshot` found for struct `Router<S>` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"tests/integration_test.rs","byte_start":1385,"byte_end":1398,"line_start":45,"line_end":46,"column_start":16,"column_end":10,"is_primary":false,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .oneshot(","highlight_start":1,"highlight_end":10}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"tests/integration_test.rs","byte_start":1398,"byte_end":1405,"line_start":46,"line_end":46,"column_start":10,"column_end":17,"is_primary":true,"text":[{"text":" .oneshot(","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"there is a method `nest` with a similar name, but with different arguments","code":null,"level":"help","spans":[{"file_name":"/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs","byte_start":5508,"byte_end":5564,"line_start":195,"line_end":195,"column_start":5,"column_end":61,"is_primary":true,"text":[{"text":" pub fn nest(self, path: &str, router: Router<S>) -> Self {","highlight_start":5,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"the following traits which provide `oneshot` are implemented but not in scope; perhaps you want to import one of them","code":null,"level":"help","spans":[{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::ServiceExt;\n","suggestion_applicability":"MaybeIncorrect","expansion":null},{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::util::ServiceExt;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `oneshot` found for struct `Router<S>` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:46:10\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 45\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m ________________-\u001b[0m\n\u001b[1m\u001b[94m 46\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m .oneshot(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|_________-\u001b[0m\u001b[1m\u001b[91m^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: there is a method `nest` with a similar name, but with different arguments\n \u001b[1m\u001b[94m--> \u001b[0m/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs:195:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m195\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn nest(self, path: &str, router: Router<S>) -> Self {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[96m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: the following traits which provide `oneshot` are implemented but not in scope; perhaps you want to import one of them\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::ServiceExt;\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::util::ServiceExt;\u001b[0m\n \u001b[1m\u001b[94m|\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":"tests/integration_test.rs","byte_start":1385,"byte_end":1561,"line_start":45,"line_end":52,"column_start":16,"column_end":15,"is_primary":true,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .oneshot(","highlight_start":1,"highlight_end":18},{"text":" Request::builder()","highlight_start":1,"highlight_end":31},{"text":" .uri(\"/api/tasks\")","highlight_start":1,"highlight_end":35},{"text":" .body(Body::empty())","highlight_start":1,"highlight_end":37},{"text":" .unwrap(),","highlight_start":1,"highlight_end":27},{"text":" )","highlight_start":1,"highlight_end":10},{"text":" .await","highlight_start":1,"highlight_end":15}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:45:16\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m45\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m ________________^\u001b[0m\n\u001b[1m\u001b[94m46\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .oneshot(\n\u001b[1m\u001b[94m47\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m Request::builder()\n\u001b[1m\u001b[94m48\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .uri(\"/api/tasks\")\n\u001b[1m\u001b[94m...\u001b[0m \u001b[1m\u001b[91m|\u001b[0m\n\u001b[1m\u001b[94m52\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .await\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|______________^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"no method named `oneshot` found for struct `Router<S>` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"tests/integration_test.rs","byte_start":1807,"byte_end":1820,"line_start":62,"line_end":63,"column_start":16,"column_end":10,"is_primary":false,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .oneshot(","highlight_start":1,"highlight_end":10}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"tests/integration_test.rs","byte_start":1820,"byte_end":1827,"line_start":63,"line_end":63,"column_start":10,"column_end":17,"is_primary":true,"text":[{"text":" .oneshot(","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"there is a method `nest` with a similar name, but with different arguments","code":null,"level":"help","spans":[{"file_name":"/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs","byte_start":5508,"byte_end":5564,"line_start":195,"line_end":195,"column_start":5,"column_end":61,"is_primary":true,"text":[{"text":" pub fn nest(self, path: &str, router: Router<S>) -> Self {","highlight_start":5,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"the following traits which provide `oneshot` are implemented but not in scope; perhaps you want to import one of them","code":null,"level":"help","spans":[{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::ServiceExt;\n","suggestion_applicability":"MaybeIncorrect","expansion":null},{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::util::ServiceExt;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `oneshot` found for struct `Router<S>` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:63:10\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 62\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m ________________-\u001b[0m\n\u001b[1m\u001b[94m 63\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m .oneshot(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|_________-\u001b[0m\u001b[1m\u001b[91m^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: there is a method `nest` with a similar name, but with different arguments\n \u001b[1m\u001b[94m--> \u001b[0m/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs:195:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m195\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn nest(self, path: &str, router: Router<S>) -> Self {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[96m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: the following traits which provide `oneshot` are implemented but not in scope; perhaps you want to import one of them\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::ServiceExt;\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::util::ServiceExt;\u001b[0m\n \u001b[1m\u001b[94m|\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":"tests/integration_test.rs","byte_start":1807,"byte_end":2114,"line_start":62,"line_end":71,"column_start":16,"column_end":15,"is_primary":true,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .oneshot(","highlight_start":1,"highlight_end":18},{"text":" Request::builder()","highlight_start":1,"highlight_end":31},{"text":" .method(\"POST\")","highlight_start":1,"highlight_end":32},{"text":" .uri(\"/api/tasks\")","highlight_start":1,"highlight_end":35},{"text":" .header(\"content-type\", \"application/json\")","highlight_start":1,"highlight_end":60},{"text":" .body(Body::from(json!({\"title\": \"Buy milk\"}).to_string()))","highlight_start":1,"highlight_end":76},{"text":" .unwrap(),","highlight_start":1,"highlight_end":27},{"text":" )","highlight_start":1,"highlight_end":10},{"text":" .await","highlight_start":1,"highlight_end":15}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:62:16\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m62\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m ________________^\u001b[0m\n\u001b[1m\u001b[94m63\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .oneshot(\n\u001b[1m\u001b[94m64\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m Request::builder()\n\u001b[1m\u001b[94m65\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .method(\"POST\")\n\u001b[1m\u001b[94m...\u001b[0m \u001b[1m\u001b[91m|\u001b[0m\n\u001b[1m\u001b[94m71\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .await\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|______________^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"no method named `call` found for struct `Router<S>` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"tests/integration_test.rs","byte_start":3359,"byte_end":3372,"line_start":109,"line_end":110,"column_start":16,"column_end":10,"is_primary":false,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .call(","highlight_start":1,"highlight_end":10}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"tests/integration_test.rs","byte_start":3372,"byte_end":3376,"line_start":110,"line_end":110,"column_start":10,"column_end":14,"is_primary":true,"text":[{"text":" .call(","highlight_start":10,"highlight_end":14}],"label":"method not found in `Router<_>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tower-service-0.3.3/src/lib.rs","byte_start":12697,"byte_end":12701,"line_start":355,"line_end":355,"column_start":8,"column_end":12,"is_primary":false,"text":[{"text":" fn call(&mut self, req: Request) -> Self::Future;","highlight_start":8,"highlight_end":12}],"label":"the method is available for `Router<_>` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"trait `Service` which provides `call` is implemented but not in scope; perhaps you want to import it","code":null,"level":"help","spans":[{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::Service;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `call` found for struct `Router<S>` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:110:10\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m109\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m ________________-\u001b[0m\n\u001b[1m\u001b[94m110\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m .call(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-\u001b[0m\u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91mmethod not found in `Router<_>`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|_________|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m::: \u001b[0m/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tower-service-0.3.3/src/lib.rs:355:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m355\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn call(&mut self, req: Request) -> Self::Future;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m----\u001b[0m \u001b[1m\u001b[94mthe method is available for `Router<_>` here\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: trait `Service` which provides `call` is implemented but not in scope; perhaps you want to import it\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::Service;\u001b[0m\n \u001b[1m\u001b[94m|\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":"tests/integration_test.rs","byte_start":3359,"byte_end":3694,"line_start":109,"line_end":118,"column_start":16,"column_end":15,"is_primary":true,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .call(","highlight_start":1,"highlight_end":15},{"text":" Request::builder()","highlight_start":1,"highlight_end":31},{"text":" .method(\"POST\")","highlight_start":1,"highlight_end":32},{"text":" .uri(\"/api/tasks\")","highlight_start":1,"highlight_end":35},{"text":" .header(\"content-type\", \"application/json\")","highlight_start":1,"highlight_end":60},{"text":" .body(Body::from(json!({\"title\": \"Write tests\", \"description\": \"Important\"}).to_string()))","highlight_start":1,"highlight_end":107},{"text":" .unwrap(),","highlight_start":1,"highlight_end":27},{"text":" )","highlight_start":1,"highlight_end":10},{"text":" .await","highlight_start":1,"highlight_end":15}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:109:16\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m109\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m ________________^\u001b[0m\n\u001b[1m\u001b[94m110\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .call(\n\u001b[1m\u001b[94m111\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m Request::builder()\n\u001b[1m\u001b[94m112\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .method(\"POST\")\n\u001b[1m\u001b[94m...\u001b[0m \u001b[1m\u001b[91m|\u001b[0m\n\u001b[1m\u001b[94m118\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .await\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|______________^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"no method named `call` found for struct `Router<S>` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"tests/integration_test.rs","byte_start":3905,"byte_end":3918,"line_start":125,"line_end":126,"column_start":16,"column_end":10,"is_primary":false,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .call(Request::builder().uri(\"/api/tasks\").body(Body::empty()).unwrap())","highlight_start":1,"highlight_end":10}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"tests/integration_test.rs","byte_start":3918,"byte_end":3922,"line_start":126,"line_end":126,"column_start":10,"column_end":14,"is_primary":true,"text":[{"text":" .call(Request::builder().uri(\"/api/tasks\").body(Body::empty()).unwrap())","highlight_start":10,"highlight_end":14}],"label":"method not found in `Router<_>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tower-service-0.3.3/src/lib.rs","byte_start":12697,"byte_end":12701,"line_start":355,"line_end":355,"column_start":8,"column_end":12,"is_primary":false,"text":[{"text":" fn call(&mut self, req: Request) -> Self::Future;","highlight_start":8,"highlight_end":12}],"label":"the method is available for `Router<_>` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"trait `Service` which provides `call` is implemented but not in scope; perhaps you want to import it","code":null,"level":"help","spans":[{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::Service;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `call` found for struct `Router<S>` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:126:10\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m125\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m ________________-\u001b[0m\n\u001b[1m\u001b[94m126\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m .call(Request::builder().uri(\"/api/tasks\").body(Body::empty()).unwrap())\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-\u001b[0m\u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91mmethod not found in `Router<_>`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|_________|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m::: \u001b[0m/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tower-service-0.3.3/src/lib.rs:355:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m355\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn call(&mut self, req: Request) -> Self::Future;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m----\u001b[0m \u001b[1m\u001b[94mthe method is available for `Router<_>` here\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: trait `Service` which provides `call` is implemented but not in scope; perhaps you want to import it\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::Service;\u001b[0m\n \u001b[1m\u001b[94m|\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":"tests/integration_test.rs","byte_start":3905,"byte_end":4004,"line_start":125,"line_end":127,"column_start":16,"column_end":15,"is_primary":true,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .call(Request::builder().uri(\"/api/tasks\").body(Body::empty()).unwrap())","highlight_start":1,"highlight_end":81},{"text":" .await","highlight_start":1,"highlight_end":15}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:125:16\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m125\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m ________________^\u001b[0m\n\u001b[1m\u001b[94m126\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .call(Request::builder().uri(\"/api/tasks\").body(Body::empty()).unwrap())\n\u001b[1m\u001b[94m127\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .await\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|______________^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"no method named `call` found for struct `Router<S>` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"tests/integration_test.rs","byte_start":4157,"byte_end":4170,"line_start":133,"line_end":134,"column_start":16,"column_end":10,"is_primary":false,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .call(","highlight_start":1,"highlight_end":10}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"tests/integration_test.rs","byte_start":4170,"byte_end":4174,"line_start":134,"line_end":134,"column_start":10,"column_end":14,"is_primary":true,"text":[{"text":" .call(","highlight_start":10,"highlight_end":14}],"label":"method not found in `Router<_>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tower-service-0.3.3/src/lib.rs","byte_start":12697,"byte_end":12701,"line_start":355,"line_end":355,"column_start":8,"column_end":12,"is_primary":false,"text":[{"text":" fn call(&mut self, req: Request) -> Self::Future;","highlight_start":8,"highlight_end":12}],"label":"the method is available for `Router<_>` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"trait `Service` which provides `call` is implemented but not in scope; perhaps you want to import it","code":null,"level":"help","spans":[{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::Service;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `call` found for struct `Router<S>` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:134:10\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m133\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m ________________-\u001b[0m\n\u001b[1m\u001b[94m134\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m .call(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-\u001b[0m\u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91mmethod not found in `Router<_>`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|_________|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m::: \u001b[0m/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tower-service-0.3.3/src/lib.rs:355:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m355\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn call(&mut self, req: Request) -> Self::Future;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m----\u001b[0m \u001b[1m\u001b[94mthe method is available for `Router<_>` here\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: trait `Service` which provides `call` is implemented but not in scope; perhaps you want to import it\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::Service;\u001b[0m\n \u001b[1m\u001b[94m|\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":"tests/integration_test.rs","byte_start":4157,"byte_end":4474,"line_start":133,"line_end":142,"column_start":16,"column_end":15,"is_primary":true,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .call(","highlight_start":1,"highlight_end":15},{"text":" Request::builder()","highlight_start":1,"highlight_end":31},{"text":" .method(\"PATCH\")","highlight_start":1,"highlight_end":33},{"text":" .uri(format!(\"/api/tasks/{id}\"))","highlight_start":1,"highlight_end":49},{"text":" .header(\"content-type\", \"application/json\")","highlight_start":1,"highlight_end":60},{"text":" .body(Body::from(json!({\"completed\": true}).to_string()))","highlight_start":1,"highlight_end":74},{"text":" .unwrap(),","highlight_start":1,"highlight_end":27},{"text":" )","highlight_start":1,"highlight_end":10},{"text":" .await","highlight_start":1,"highlight_end":15}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:133:16\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m133\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m ________________^\u001b[0m\n\u001b[1m\u001b[94m134\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .call(\n\u001b[1m\u001b[94m135\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m Request::builder()\n\u001b[1m\u001b[94m136\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .method(\"PATCH\")\n\u001b[1m\u001b[94m...\u001b[0m \u001b[1m\u001b[91m|\u001b[0m\n\u001b[1m\u001b[94m142\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .await\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|______________^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"no method named `call` found for struct `Router<S>` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"tests/integration_test.rs","byte_start":4667,"byte_end":4680,"line_start":149,"line_end":150,"column_start":16,"column_end":10,"is_primary":false,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .call(Request::builder().uri(\"/api/graph\").body(Body::empty()).unwrap())","highlight_start":1,"highlight_end":10}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"tests/integration_test.rs","byte_start":4680,"byte_end":4684,"line_start":150,"line_end":150,"column_start":10,"column_end":14,"is_primary":true,"text":[{"text":" .call(Request::builder().uri(\"/api/graph\").body(Body::empty()).unwrap())","highlight_start":10,"highlight_end":14}],"label":"method not found in `Router<_>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tower-service-0.3.3/src/lib.rs","byte_start":12697,"byte_end":12701,"line_start":355,"line_end":355,"column_start":8,"column_end":12,"is_primary":false,"text":[{"text":" fn call(&mut self, req: Request) -> Self::Future;","highlight_start":8,"highlight_end":12}],"label":"the method is available for `Router<_>` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"trait `Service` which provides `call` is implemented but not in scope; perhaps you want to import it","code":null,"level":"help","spans":[{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::Service;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `call` found for struct `Router<S>` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:150:10\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m149\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m ________________-\u001b[0m\n\u001b[1m\u001b[94m150\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m .call(Request::builder().uri(\"/api/graph\").body(Body::empty()).unwrap())\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-\u001b[0m\u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91mmethod not found in `Router<_>`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|_________|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m::: \u001b[0m/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tower-service-0.3.3/src/lib.rs:355:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m355\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn call(&mut self, req: Request) -> Self::Future;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m----\u001b[0m \u001b[1m\u001b[94mthe method is available for `Router<_>` here\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: trait `Service` which provides `call` is implemented but not in scope; perhaps you want to import it\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::Service;\u001b[0m\n \u001b[1m\u001b[94m|\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":"tests/integration_test.rs","byte_start":4667,"byte_end":4766,"line_start":149,"line_end":151,"column_start":16,"column_end":15,"is_primary":true,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .call(Request::builder().uri(\"/api/graph\").body(Body::empty()).unwrap())","highlight_start":1,"highlight_end":81},{"text":" .await","highlight_start":1,"highlight_end":15}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:149:16\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m149\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m ________________^\u001b[0m\n\u001b[1m\u001b[94m150\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .call(Request::builder().uri(\"/api/graph\").body(Body::empty()).unwrap())\n\u001b[1m\u001b[94m151\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .await\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|______________^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"no method named `call` found for struct `Router<S>` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"tests/integration_test.rs","byte_start":5015,"byte_end":5028,"line_start":159,"line_end":160,"column_start":16,"column_end":10,"is_primary":false,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .call(","highlight_start":1,"highlight_end":10}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"tests/integration_test.rs","byte_start":5028,"byte_end":5032,"line_start":160,"line_end":160,"column_start":10,"column_end":14,"is_primary":true,"text":[{"text":" .call(","highlight_start":10,"highlight_end":14}],"label":"method not found in `Router<_>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tower-service-0.3.3/src/lib.rs","byte_start":12697,"byte_end":12701,"line_start":355,"line_end":355,"column_start":8,"column_end":12,"is_primary":false,"text":[{"text":" fn call(&mut self, req: Request) -> Self::Future;","highlight_start":8,"highlight_end":12}],"label":"the method is available for `Router<_>` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"trait `Service` which provides `call` is implemented but not in scope; perhaps you want to import it","code":null,"level":"help","spans":[{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::Service;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `call` found for struct `Router<S>` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:160:10\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m159\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m ________________-\u001b[0m\n\u001b[1m\u001b[94m160\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m .call(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-\u001b[0m\u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91mmethod not found in `Router<_>`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|_________|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m::: \u001b[0m/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tower-service-0.3.3/src/lib.rs:355:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m355\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn call(&mut self, req: Request) -> Self::Future;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m----\u001b[0m \u001b[1m\u001b[94mthe method is available for `Router<_>` here\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: trait `Service` which provides `call` is implemented but not in scope; perhaps you want to import it\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::Service;\u001b[0m\n \u001b[1m\u001b[94m|\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":"tests/integration_test.rs","byte_start":5015,"byte_end":5236,"line_start":159,"line_end":167,"column_start":16,"column_end":15,"is_primary":true,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .call(","highlight_start":1,"highlight_end":15},{"text":" Request::builder()","highlight_start":1,"highlight_end":31},{"text":" .method(\"DELETE\")","highlight_start":1,"highlight_end":34},{"text":" .uri(format!(\"/api/tasks/{id}\"))","highlight_start":1,"highlight_end":49},{"text":" .body(Body::empty())","highlight_start":1,"highlight_end":37},{"text":" .unwrap(),","highlight_start":1,"highlight_end":27},{"text":" )","highlight_start":1,"highlight_end":10},{"text":" .await","highlight_start":1,"highlight_end":15}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:159:16\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m159\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m ________________^\u001b[0m\n\u001b[1m\u001b[94m160\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .call(\n\u001b[1m\u001b[94m161\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m Request::builder()\n\u001b[1m\u001b[94m162\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .method(\"DELETE\")\n\u001b[1m\u001b[94m...\u001b[0m \u001b[1m\u001b[91m|\u001b[0m\n\u001b[1m\u001b[94m167\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .await\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|______________^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"no method named `call` found for struct `Router<S>` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"tests/integration_test.rs","byte_start":5355,"byte_end":5368,"line_start":172,"line_end":173,"column_start":16,"column_end":10,"is_primary":false,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .call(Request::builder().uri(\"/api/tasks\").body(Body::empty()).unwrap())","highlight_start":1,"highlight_end":10}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"tests/integration_test.rs","byte_start":5368,"byte_end":5372,"line_start":173,"line_end":173,"column_start":10,"column_end":14,"is_primary":true,"text":[{"text":" .call(Request::builder().uri(\"/api/tasks\").body(Body::empty()).unwrap())","highlight_start":10,"highlight_end":14}],"label":"method not found in `Router<_>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tower-service-0.3.3/src/lib.rs","byte_start":12697,"byte_end":12701,"line_start":355,"line_end":355,"column_start":8,"column_end":12,"is_primary":false,"text":[{"text":" fn call(&mut self, req: Request) -> Self::Future;","highlight_start":8,"highlight_end":12}],"label":"the method is available for `Router<_>` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"trait `Service` which provides `call` is implemented but not in scope; perhaps you want to import it","code":null,"level":"help","spans":[{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::Service;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `call` found for struct `Router<S>` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:173:10\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m172\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m ________________-\u001b[0m\n\u001b[1m\u001b[94m173\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m .call(Request::builder().uri(\"/api/tasks\").body(Body::empty()).unwrap())\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-\u001b[0m\u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91mmethod not found in `Router<_>`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|_________|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m::: \u001b[0m/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tower-service-0.3.3/src/lib.rs:355:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m355\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn call(&mut self, req: Request) -> Self::Future;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m----\u001b[0m \u001b[1m\u001b[94mthe method is available for `Router<_>` here\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: trait `Service` which provides `call` is implemented but not in scope; perhaps you want to import it\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::Service;\u001b[0m\n \u001b[1m\u001b[94m|\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":"tests/integration_test.rs","byte_start":5355,"byte_end":5454,"line_start":172,"line_end":174,"column_start":16,"column_end":15,"is_primary":true,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .call(Request::builder().uri(\"/api/tasks\").body(Body::empty()).unwrap())","highlight_start":1,"highlight_end":81},{"text":" .await","highlight_start":1,"highlight_end":15}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:172:16\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m172\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m ________________^\u001b[0m\n\u001b[1m\u001b[94m173\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .call(Request::builder().uri(\"/api/tasks\").body(Body::empty()).unwrap())\n\u001b[1m\u001b[94m174\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .await\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|______________^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"no method named `oneshot` found for struct `Router<S>` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"tests/integration_test.rs","byte_start":5692,"byte_end":5705,"line_start":183,"line_end":184,"column_start":16,"column_end":10,"is_primary":false,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .oneshot(","highlight_start":1,"highlight_end":10}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"tests/integration_test.rs","byte_start":5705,"byte_end":5712,"line_start":184,"line_end":184,"column_start":10,"column_end":17,"is_primary":true,"text":[{"text":" .oneshot(","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"there is a method `nest` with a similar name, but with different arguments","code":null,"level":"help","spans":[{"file_name":"/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs","byte_start":5508,"byte_end":5564,"line_start":195,"line_end":195,"column_start":5,"column_end":61,"is_primary":true,"text":[{"text":" pub fn nest(self, path: &str, router: Router<S>) -> Self {","highlight_start":5,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"the following traits which provide `oneshot` are implemented but not in scope; perhaps you want to import one of them","code":null,"level":"help","spans":[{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::ServiceExt;\n","suggestion_applicability":"MaybeIncorrect","expansion":null},{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::util::ServiceExt;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `oneshot` found for struct `Router<S>` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:184:10\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m183\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m ________________-\u001b[0m\n\u001b[1m\u001b[94m184\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m .oneshot(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|_________-\u001b[0m\u001b[1m\u001b[91m^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: there is a method `nest` with a similar name, but with different arguments\n \u001b[1m\u001b[94m--> \u001b[0m/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs:195:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m195\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn nest(self, path: &str, router: Router<S>) -> Self {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[96m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: the following traits which provide `oneshot` are implemented but not in scope; perhaps you want to import one of them\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::ServiceExt;\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::util::ServiceExt;\u001b[0m\n \u001b[1m\u001b[94m|\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":"tests/integration_test.rs","byte_start":5692,"byte_end":5917,"line_start":183,"line_end":191,"column_start":16,"column_end":15,"is_primary":true,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .oneshot(","highlight_start":1,"highlight_end":18},{"text":" Request::builder()","highlight_start":1,"highlight_end":31},{"text":" .method(\"DELETE\")","highlight_start":1,"highlight_end":34},{"text":" .uri(\"/api/tasks/does-not-exist\")","highlight_start":1,"highlight_end":50},{"text":" .body(Body::empty())","highlight_start":1,"highlight_end":37},{"text":" .unwrap(),","highlight_start":1,"highlight_end":27},{"text":" )","highlight_start":1,"highlight_end":10},{"text":" .await","highlight_start":1,"highlight_end":15}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:183:16\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m183\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m ________________^\u001b[0m\n\u001b[1m\u001b[94m184\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .oneshot(\n\u001b[1m\u001b[94m185\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m Request::builder()\n\u001b[1m\u001b[94m186\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .method(\"DELETE\")\n\u001b[1m\u001b[94m...\u001b[0m \u001b[1m\u001b[91m|\u001b[0m\n\u001b[1m\u001b[94m191\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .await\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|______________^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"no method named `oneshot` found for struct `Router<S>` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"tests/integration_test.rs","byte_start":6100,"byte_end":6113,"line_start":199,"line_end":200,"column_start":16,"column_end":10,"is_primary":false,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .oneshot(Request::builder().uri(\"/api/graph\").body(Body::empty()).unwrap())","highlight_start":1,"highlight_end":10}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"tests/integration_test.rs","byte_start":6113,"byte_end":6120,"line_start":200,"line_end":200,"column_start":10,"column_end":17,"is_primary":true,"text":[{"text":" .oneshot(Request::builder().uri(\"/api/graph\").body(Body::empty()).unwrap())","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"there is a method `nest` with a similar name, but with different arguments","code":null,"level":"help","spans":[{"file_name":"/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs","byte_start":5508,"byte_end":5564,"line_start":195,"line_end":195,"column_start":5,"column_end":61,"is_primary":true,"text":[{"text":" pub fn nest(self, path: &str, router: Router<S>) -> Self {","highlight_start":5,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"the following traits which provide `oneshot` are implemented but not in scope; perhaps you want to import one of them","code":null,"level":"help","spans":[{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::ServiceExt;\n","suggestion_applicability":"MaybeIncorrect","expansion":null},{"file_name":"tests/integration_test.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":"use tower::util::ServiceExt;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `oneshot` found for struct `Router<S>` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:200:10\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m199\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m ________________-\u001b[0m\n\u001b[1m\u001b[94m200\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m .oneshot(Request::builder().uri(\"/api/graph\").body(Body::empty()).unwrap())\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|_________-\u001b[0m\u001b[1m\u001b[91m^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: there is a method `nest` with a similar name, but with different arguments\n \u001b[1m\u001b[94m--> \u001b[0m/home/alvis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs:195:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m195\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn nest(self, path: &str, router: Router<S>) -> Self {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[96m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: the following traits which provide `oneshot` are implemented but not in scope; perhaps you want to import one of them\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::ServiceExt;\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 1\u001b[0m \u001b[92m+ use tower::util::ServiceExt;\u001b[0m\n \u001b[1m\u001b[94m|\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":"tests/integration_test.rs","byte_start":6100,"byte_end":6202,"line_start":199,"line_end":201,"column_start":16,"column_end":15,"is_primary":true,"text":[{"text":" let resp = app","highlight_start":16,"highlight_end":19},{"text":" .oneshot(Request::builder().uri(\"/api/graph\").body(Body::empty()).unwrap())","highlight_start":1,"highlight_end":84},{"text":" .await","highlight_start":1,"highlight_end":15}],"label":"cannot infer type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mtests/integration_test.rs:199:16\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m199\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let resp = app\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m ________________^\u001b[0m\n\u001b[1m\u001b[94m200\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .oneshot(Request::builder().uri(\"/api/graph\").body(Body::empty()).unwrap())\n\u001b[1m\u001b[94m201\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m .await\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|______________^\u001b[0m \u001b[1m\u001b[91mcannot infer type\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"aborting due to 22 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: aborting due to 22 previous errors\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"Some errors have detailed explanations: E0282, E0432, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1mSome errors have detailed explanations: E0282, E0432, E0599.\u001b[0m\n"}
|
|
{"$message_type":"diagnostic","message":"For more information about an error, try `rustc --explain E0282`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1mFor more information about an error, try `rustc --explain E0282`.\u001b[0m\n"}
|