{"$message_type":"diagnostic","message":"file not found for module `io_pin_picker`","code":{"code":"E0583","explanation":"A file wasn't found for an out-of-line module.\n\nErroneous code example:\n\n```compile_fail,E0583\nmod file_that_doesnt_exist; // error: file not found for module\n\nfn main() {}\n```\n\nPlease be sure that a file corresponding to the module exists. If you\nwant to use a module named `file_that_doesnt_exist`, you need to have a file\nnamed `file_that_doesnt_exist.rs` or `file_that_doesnt_exist/mod.rs` in the\nsame directory.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/mod.rs","byte_start":126,"byte_end":148,"line_start":8,"line_end":8,"column_start":1,"column_end":23,"is_primary":true,"text":[{"text":"pub mod io_pin_picker;","highlight_start":1,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"to create the module `io_pin_picker`, create file \"crates/editor/src/widget/io_pin_picker.rs\" or \"crates/editor/src/widget/io_pin_picker/mod.rs\"","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"if there is a `mod io_pin_picker` elsewhere in the crate already, import it with `use crate::...` instead","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0583]\u001b[0m\u001b[1m: file not found for module `io_pin_picker`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/mod.rs:8:1\n  \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m8\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub mod io_pin_picker;\n  \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: to create the module `io_pin_picker`, create file \"crates/editor/src/widget/io_pin_picker.rs\" or \"crates/editor/src/widget/io_pin_picker/mod.rs\"\n  \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: if there is a `mod io_pin_picker` elsewhere in the crate already, import it with `use crate::...` instead\n\n"}
{"$message_type":"diagnostic","message":"file not found for module `render_bench`","code":{"code":"E0583","explanation":"A file wasn't found for an out-of-line module.\n\nErroneous code example:\n\n```compile_fail,E0583\nmod file_that_doesnt_exist; // error: file not found for module\n\nfn main() {}\n```\n\nPlease be sure that a file corresponding to the module exists. If you\nwant to use a module named `file_that_doesnt_exist`, you need to have a file\nnamed `file_that_doesnt_exist.rs` or `file_that_doesnt_exist/mod.rs` in the\nsame directory.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/mod.rs","byte_start":366,"byte_end":383,"line_start":22,"line_end":22,"column_start":1,"column_end":18,"is_primary":true,"text":[{"text":"mod render_bench;","highlight_start":1,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"to create the module `render_bench`, create file \"crates/editor/src/widget/render_bench.rs\" or \"crates/editor/src/widget/render_bench/mod.rs\"","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"if there is a `mod render_bench` elsewhere in the crate already, import it with `use crate::...` instead","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0583]\u001b[0m\u001b[1m: file not found for module `render_bench`\u001b[0m\n  \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/mod.rs:22:1\n   \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m22\u001b[0m \u001b[1m\u001b[94m|\u001b[0m mod render_bench;\n   \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: to create the module `render_bench`, create file \"crates/editor/src/widget/render_bench.rs\" or \"crates/editor/src/widget/render_bench/mod.rs\"\n   \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: if there is a `mod render_bench` elsewhere in the crate already, import it with `use crate::...` instead\n\n"}
{"$message_type":"diagnostic","message":"file not found for module `render_path_tests`","code":{"code":"E0583","explanation":"A file wasn't found for an out-of-line module.\n\nErroneous code example:\n\n```compile_fail,E0583\nmod file_that_doesnt_exist; // error: file not found for module\n\nfn main() {}\n```\n\nPlease be sure that a file corresponding to the module exists. If you\nwant to use a module named `file_that_doesnt_exist`, you need to have a file\nnamed `file_that_doesnt_exist.rs` or `file_that_doesnt_exist/mod.rs` in the\nsame directory.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/mod.rs","byte_start":397,"byte_end":419,"line_start":24,"line_end":24,"column_start":1,"column_end":23,"is_primary":true,"text":[{"text":"mod render_path_tests;","highlight_start":1,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"to create the module `render_path_tests`, create file \"crates/editor/src/widget/render_path_tests.rs\" or \"crates/editor/src/widget/render_path_tests/mod.rs\"","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"if there is a `mod render_path_tests` elsewhere in the crate already, import it with `use crate::...` instead","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0583]\u001b[0m\u001b[1m: file not found for module `render_path_tests`\u001b[0m\n  \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/mod.rs:24:1\n   \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m24\u001b[0m \u001b[1m\u001b[94m|\u001b[0m mod render_path_tests;\n   \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: to create the module `render_path_tests`, create file \"crates/editor/src/widget/render_path_tests.rs\" or \"crates/editor/src/widget/render_path_tests/mod.rs\"\n   \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: if there is a `mod render_path_tests` elsewhere in the crate already, import it with `use crate::...` instead\n\n"}
{"$message_type":"diagnostic","message":"couldn't read `crates/editor/src/render/../../icons/icon-lock.svg`: No such file or directory (os error 2)","code":null,"level":"error","spans":[{"file_name":"crates/editor/src/render/selection.rs","byte_start":538,"byte_end":579,"line_start":15,"line_end":15,"column_start":29,"column_end":70,"is_primary":true,"text":[{"text":"const LOCK_HINT_SVG: &str = include_str!(\"../../icons/icon-lock.svg\");","highlight_start":29,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"crates/editor/src/render/selection.rs","byte_start":538,"byte_end":579,"line_start":15,"line_end":15,"column_start":29,"column_end":70,"is_primary":false,"text":[{"text":"const LOCK_HINT_SVG: &str = include_str!(\"../../icons/icon-lock.svg\");","highlight_start":29,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include_str!","def_site_span":{"file_name":"/home/samitbasu/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/macros/mod.rs","byte_start":47195,"byte_end":47219,"line_start":1318,"line_end":1318,"column_start":5,"column_end":29,"is_primary":false,"text":[{"text":"    macro_rules! include_str {","highlight_start":5,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"there is a file with the same name in a different directory","code":null,"level":"help","spans":[{"file_name":"crates/editor/src/render/selection.rs","byte_start":551,"byte_end":578,"line_start":15,"line_end":15,"column_start":42,"column_end":69,"is_primary":true,"text":[{"text":"const LOCK_HINT_SVG: &str = include_str!(\"../../icons/icon-lock.svg\");","highlight_start":42,"highlight_end":69}],"label":null,"suggested_replacement":"\"../../../../icons/icon-lock.svg\"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: couldn't read `crates/editor/src/render/../../icons/icon-lock.svg`: No such file or directory (os error 2)\u001b[0m\n  \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/render/selection.rs:15:29\n   \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m15\u001b[0m \u001b[1m\u001b[94m|\u001b[0m const LOCK_HINT_SVG: &str = include_str!(\"../../icons/icon-lock.svg\");\n   \u001b[1m\u001b[94m|\u001b[0m                             \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n   \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: there is a file with the same name in a different directory\n   \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m15\u001b[0m \u001b[1m\u001b[94m| \u001b[0mconst LOCK_HINT_SVG: &str = include_str!(\"../../\u001b[92m../../\u001b[0micons/icon-lock.svg\");\n   \u001b[1m\u001b[94m|\u001b[0m                                                 \u001b[92m++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"couldn't read `crates/editor/src/widget/../../fixtures/demo.json`: No such file or directory (os error 2)","code":null,"level":"error","spans":[{"file_name":"crates/editor/src/widget/closed_router_tests.rs","byte_start":1188,"byte_end":1228,"line_start":33,"line_end":33,"column_start":25,"column_end":65,"is_primary":true,"text":[{"text":"const DEMO_JSON: &str = include_str!(\"../../fixtures/demo.json\");","highlight_start":25,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"crates/editor/src/widget/closed_router_tests.rs","byte_start":1188,"byte_end":1228,"line_start":33,"line_end":33,"column_start":25,"column_end":65,"is_primary":false,"text":[{"text":"const DEMO_JSON: &str = include_str!(\"../../fixtures/demo.json\");","highlight_start":25,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include_str!","def_site_span":{"file_name":"/home/samitbasu/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/macros/mod.rs","byte_start":47195,"byte_end":47219,"line_start":1318,"line_end":1318,"column_start":5,"column_end":29,"is_primary":false,"text":[{"text":"    macro_rules! include_str {","highlight_start":5,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"there is a file with the same name in a different directory","code":null,"level":"help","spans":[{"file_name":"crates/editor/src/widget/closed_router_tests.rs","byte_start":1201,"byte_end":1227,"line_start":33,"line_end":33,"column_start":38,"column_end":64,"is_primary":true,"text":[{"text":"const DEMO_JSON: &str = include_str!(\"../../fixtures/demo.json\");","highlight_start":38,"highlight_end":64}],"label":null,"suggested_replacement":"\"../../../../fixtures/demo.json\"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: couldn't read `crates/editor/src/widget/../../fixtures/demo.json`: No such file or directory (os error 2)\u001b[0m\n  \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/closed_router_tests.rs:33:25\n   \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m33\u001b[0m \u001b[1m\u001b[94m|\u001b[0m const DEMO_JSON: &str = include_str!(\"../../fixtures/demo.json\");\n   \u001b[1m\u001b[94m|\u001b[0m                         \u001b[1m\u001b[91m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n   \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: there is a file with the same name in a different directory\n   \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m33\u001b[0m \u001b[1m\u001b[94m| \u001b[0mconst DEMO_JSON: &str = include_str!(\"../../\u001b[92m../../\u001b[0mfixtures/demo.json\");\n   \u001b[1m\u001b[94m|\u001b[0m                                             \u001b[92m++++++\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `export` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/render/block.rs","byte_start":5646,"byte_end":5652,"line_start":177,"line_end":177,"column_start":16,"column_end":22,"is_primary":true,"text":[{"text":"    use crate::export::svg::SvgRenderer;","highlight_start":16,"highlight_end":22}],"label":"could not find `export` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `export` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/render/block.rs:177:16\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m177\u001b[0m \u001b[1m\u001b[94m|\u001b[0m     use crate::export::svg::SvgRenderer;\n    \u001b[1m\u001b[94m|\u001b[0m                \u001b[1m\u001b[91m^^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `export` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/render/selection.rs","byte_start":272,"byte_end":277,"line_start":10,"line_end":10,"column_start":5,"column_end":10,"is_primary":true,"text":[{"text":"    tools::new_pin::{NEW_PIN_ANIM_TIME, NEW_PIN_GROW_RANGE, NEW_PIN_INACTIVE_SCALE},","highlight_start":5,"highlight_end":10}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n  \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/render/selection.rs:10:5\n   \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m10\u001b[0m \u001b[1m\u001b[94m|\u001b[0m     tools::new_pin::{NEW_PIN_ANIM_TIME, NEW_PIN_GROW_RANGE, NEW_PIN_INACTIVE_SCALE},\n   \u001b[1m\u001b[94m|\u001b[0m     \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/drawing.rs","byte_start":3067,"byte_end":3072,"line_start":77,"line_end":77,"column_start":5,"column_end":10,"is_primary":true,"text":[{"text":"    tools::tool::{Deletable, RoleTarget},","highlight_start":5,"highlight_end":10}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n  \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/drawing.rs:77:5\n   \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m77\u001b[0m \u001b[1m\u001b[94m|\u001b[0m     tools::tool::{Deletable, RoleTarget},\n   \u001b[1m\u001b[94m|\u001b[0m     \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/drawing.rs","byte_start":59752,"byte_end":59757,"line_start":1392,"line_end":1392,"column_start":9,"column_end":14,"is_primary":true,"text":[{"text":"        tools::tool::Deletable,","highlight_start":9,"highlight_end":14}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/drawing.rs:1392:9\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1392\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         tools::tool::Deletable,\n     \u001b[1m\u001b[94m|\u001b[0m         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unresolved import `crate::tools`","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":"crates/editor/src/title_block.rs","byte_start":871,"byte_end":876,"line_start":19,"line_end":19,"column_start":27,"column_end":32,"is_primary":true,"text":[{"text":"use crate::{theme::Theme, tools::content_path};","highlight_start":27,"highlight_end":32}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0432]\u001b[0m\u001b[1m: unresolved import `crate::tools`\u001b[0m\n  \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/title_block.rs:19:27\n   \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m19\u001b[0m \u001b[1m\u001b[94m|\u001b[0m use crate::{theme::Theme, tools::content_path};\n   \u001b[1m\u001b[94m|\u001b[0m                           \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/closed_router_tests.rs","byte_start":33560,"byte_end":33565,"line_start":910,"line_end":910,"column_start":9,"column_end":14,"is_primary":true,"text":[{"text":"        tools::edit_route::EditRoute,","highlight_start":9,"highlight_end":14}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/closed_router_tests.rs:910:9\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m910\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         tools::edit_route::EditRoute,\n    \u001b[1m\u001b[94m|\u001b[0m         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"unresolved import `crate::canvas`","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":"crates/editor/src/widget/hit_target.rs","byte_start":19012,"byte_end":19018,"line_start":486,"line_end":486,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":"        canvas::Painter,","highlight_start":9,"highlight_end":15}],"label":"could not find `canvas` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0432]\u001b[0m\u001b[1m: unresolved import `crate::canvas`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/hit_target.rs:486:9\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m486\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         canvas::Painter,\n    \u001b[1m\u001b[94m|\u001b[0m         \u001b[1m\u001b[91m^^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `canvas` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find module or crate `rfd` in this scope","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/import.rs","byte_start":6754,"byte_end":6757,"line_start":174,"line_end":174,"column_start":22,"column_end":25,"is_primary":true,"text":[{"text":"        let picked = rfd::FileDialog::new()","highlight_start":22,"highlight_end":25}],"label":"use of unresolved module or unlinked crate `rfd`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if you wanted to use a crate named `rfd`, use `cargo add rfd` to add it to your `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find module or crate `rfd` in this scope\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/import.rs:174:22\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m174\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         let picked = rfd::FileDialog::new()\n    \u001b[1m\u001b[94m|\u001b[0m                      \u001b[1m\u001b[91m^^^\u001b[0m \u001b[1m\u001b[91muse of unresolved module or unlinked crate `rfd`\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 `rfd`, use `cargo add rfd` to add it to your `Cargo.toml`\n\n"}
{"$message_type":"diagnostic","message":"cannot find `export` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/path.rs","byte_start":9977,"byte_end":9983,"line_start":289,"line_end":289,"column_start":47,"column_end":53,"is_primary":true,"text":[{"text":"        let pages: BTreeSet<BlockId> = crate::export::pdf::page_scopes(&indexed)","highlight_start":47,"highlight_end":53}],"label":"could not find `export` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `export` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/path.rs:289:47\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m289\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         let pages: BTreeSet<BlockId> = crate::export::pdf::page_scopes(&indexed)\n    \u001b[1m\u001b[94m|\u001b[0m                                               \u001b[1m\u001b[91m^^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `export` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/path.rs","byte_start":10157,"byte_end":10162,"line_start":293,"line_end":293,"column_start":50,"column_end":55,"is_primary":true,"text":[{"text":"        let branches: BTreeSet<BlockId> = crate::tools::nav_tree::branch_rows(&indexed)","highlight_start":50,"highlight_end":55}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/path.rs:293:50\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m293\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         let branches: BTreeSet<BlockId> = crate::tools::nav_tree::branch_rows(&indexed)\n    \u001b[1m\u001b[94m|\u001b[0m                                                  \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/path.rs","byte_start":10639,"byte_end":10644,"line_start":302,"line_end":302,"column_start":27,"column_end":32,"is_primary":true,"text":[{"text":"        let root = crate::tools::nav_tree::tree_root(&indexed)","highlight_start":27,"highlight_end":32}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/path.rs:302:27\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m302\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         let root = crate::tools::nav_tree::tree_root(&indexed)\n    \u001b[1m\u001b[94m|\u001b[0m                           \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `export` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/display.rs","byte_start":2397,"byte_end":2403,"line_start":59,"line_end":59,"column_start":26,"column_end":32,"is_primary":true,"text":[{"text":"    let mut svg = crate::export::svg::SvgRenderer::new(theme.palette().clone(), font);","highlight_start":26,"highlight_end":32}],"label":"could not find `export` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `export` in `crate`\u001b[0m\n  \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/display.rs:59:26\n   \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m59\u001b[0m \u001b[1m\u001b[94m|\u001b[0m     let mut svg = crate::export::svg::SvgRenderer::new(theme.palette().clone(), font);\n   \u001b[1m\u001b[94m|\u001b[0m                          \u001b[1m\u001b[91m^^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `export` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `export` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/drawing.rs","byte_start":62368,"byte_end":62374,"line_start":1458,"line_end":1458,"column_start":34,"column_end":40,"is_primary":true,"text":[{"text":"        let mut backend = crate::export::svg::SvgRenderer::new(","highlight_start":34,"highlight_end":40}],"label":"could not find `export` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `export` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/drawing.rs:1458:34\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1458\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         let mut backend = crate::export::svg::SvgRenderer::new(\n     \u001b[1m\u001b[94m|\u001b[0m                                  \u001b[1m\u001b[91m^^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `export` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find module or crate `egui` in this scope","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/drawing.rs","byte_start":66684,"byte_end":66688,"line_start":1564,"line_end":1564,"column_start":24,"column_end":28,"is_primary":true,"text":[{"text":"            ctx.run_ui(egui::RawInput::default(), |ui| {","highlight_start":24,"highlight_end":28}],"label":"use of unresolved module or unlinked crate `egui`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if you wanted to use a crate named `egui`, use `cargo add egui` to add it to your `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find module or crate `egui` in this scope\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/drawing.rs:1564:24\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1564\u001b[0m \u001b[1m\u001b[94m|\u001b[0m             ctx.run_ui(egui::RawInput::default(), |ui| {\n     \u001b[1m\u001b[94m|\u001b[0m                        \u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91muse of unresolved module or unlinked crate `egui`\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 `egui`, use `cargo add egui` to add it to your `Cargo.toml`\n\n"}
{"$message_type":"diagnostic","message":"cannot find `canvas` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/drawing.rs","byte_start":66839,"byte_end":66845,"line_start":1567,"line_end":1567,"column_start":28,"column_end":34,"is_primary":true,"text":[{"text":"                    crate::canvas::Painter::headless(ui.painter().clone(), theme.palette().clone());","highlight_start":28,"highlight_end":34}],"label":"could not find `canvas` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `canvas` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/drawing.rs:1567:28\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1567\u001b[0m \u001b[1m\u001b[94m|\u001b[0m                     crate::canvas::Painter::headless(ui.painter().clone(), theme.palette().clone());\n     \u001b[1m\u001b[94m|\u001b[0m                            \u001b[1m\u001b[91m^^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `canvas` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `canvas` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/drawing.rs","byte_start":67611,"byte_end":67617,"line_start":1583,"line_end":1583,"column_start":30,"column_end":36,"is_primary":true,"text":[{"text":"        ctx.set_fonts(crate::canvas::build_fonts(","highlight_start":30,"highlight_end":36}],"label":"could not find `canvas` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `canvas` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/drawing.rs:1583:30\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1583\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         ctx.set_fonts(crate::canvas::build_fonts(\n     \u001b[1m\u001b[94m|\u001b[0m                              \u001b[1m\u001b[91m^^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `canvas` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find module or crate `egui` in this scope","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/drawing.rs","byte_start":67782,"byte_end":67786,"line_start":1587,"line_end":1587,"column_start":20,"column_end":24,"is_primary":true,"text":[{"text":"        ctx.run_ui(egui::RawInput::default(), |_| {})","highlight_start":20,"highlight_end":24}],"label":"use of unresolved module or unlinked crate `egui`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if you wanted to use a crate named `egui`, use `cargo add egui` to add it to your `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find module or crate `egui` in this scope\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/drawing.rs:1587:20\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1587\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         ctx.run_ui(egui::RawInput::default(), |_| {})\n     \u001b[1m\u001b[94m|\u001b[0m                    \u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91muse of unresolved module or unlinked crate `egui`\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 `egui`, use `cargo add egui` to add it to your `Cargo.toml`\n\n"}
{"$message_type":"diagnostic","message":"cannot find `canvas` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/hit_target.rs","byte_start":19671,"byte_end":19677,"line_start":499,"line_end":499,"column_start":30,"column_end":36,"is_primary":true,"text":[{"text":"        ctx.set_fonts(crate::canvas::build_fonts(","highlight_start":30,"highlight_end":36}],"label":"could not find `canvas` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `canvas` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/hit_target.rs:499:30\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m499\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         ctx.set_fonts(crate::canvas::build_fonts(\n    \u001b[1m\u001b[94m|\u001b[0m                              \u001b[1m\u001b[91m^^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `canvas` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find module or crate `egui` in this scope","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/hit_target.rs","byte_start":19775,"byte_end":19779,"line_start":502,"line_end":502,"column_start":20,"column_end":24,"is_primary":true,"text":[{"text":"        ctx.run_ui(egui::RawInput::default(), |_| {})","highlight_start":20,"highlight_end":24}],"label":"use of unresolved module or unlinked crate `egui`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if you wanted to use a crate named `egui`, use `cargo add egui` to add it to your `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find module or crate `egui` in this scope\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/hit_target.rs:502:20\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m502\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         ctx.run_ui(egui::RawInput::default(), |_| {})\n    \u001b[1m\u001b[94m|\u001b[0m                    \u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91muse of unresolved module or unlinked crate `egui`\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 `egui`, use `cargo add egui` to add it to your `Cargo.toml`\n\n"}
{"$message_type":"diagnostic","message":"cannot find module or crate `egui` in this scope","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/hit_target.rs","byte_start":19874,"byte_end":19878,"line_start":504,"line_end":504,"column_start":20,"column_end":24,"is_primary":true,"text":[{"text":"        ctx.run_ui(egui::RawInput::default(), |ui| {","highlight_start":20,"highlight_end":24}],"label":"use of unresolved module or unlinked crate `egui`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if you wanted to use a crate named `egui`, use `cargo add egui` to add it to your `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find module or crate `egui` in this scope\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/hit_target.rs:504:20\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m504\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         ctx.run_ui(egui::RawInput::default(), |ui| {\n    \u001b[1m\u001b[94m|\u001b[0m                    \u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91muse of unresolved module or unlinked crate `egui`\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 `egui`, use `cargo add egui` to add it to your `Cargo.toml`\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":10852,"byte_end":10857,"line_start":270,"line_end":270,"column_start":25,"column_end":30,"is_primary":true,"text":[{"text":"        _phase: &crate::tools::tool::Supposing,","highlight_start":25,"highlight_end":30}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:270:25\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m270\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         _phase: &crate::tools::tool::Supposing,\n    \u001b[1m\u001b[94m|\u001b[0m                         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":13012,"byte_end":13017,"line_start":316,"line_end":316,"column_start":25,"column_end":30,"is_primary":true,"text":[{"text":"        _phase: &crate::tools::tool::Supposing,","highlight_start":25,"highlight_end":30}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:316:25\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m316\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         _phase: &crate::tools::tool::Supposing,\n    \u001b[1m\u001b[94m|\u001b[0m                         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":14010,"byte_end":14015,"line_start":343,"line_end":343,"column_start":25,"column_end":30,"is_primary":true,"text":[{"text":"        _phase: &crate::tools::tool::Supposing,","highlight_start":25,"highlight_end":30}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:343:25\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m343\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         _phase: &crate::tools::tool::Supposing,\n    \u001b[1m\u001b[94m|\u001b[0m                         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":15010,"byte_end":15015,"line_start":369,"line_end":369,"column_start":57,"column_end":62,"is_primary":true,"text":[{"text":"    pub fn suppose_pin_drags(&mut self, _phase: &crate::tools::tool::Supposing, moves: &[PinMove]) {","highlight_start":57,"highlight_end":62}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:369:57\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m369\u001b[0m \u001b[1m\u001b[94m|\u001b[0m     pub fn suppose_pin_drags(&mut self, _phase: &crate::tools::tool::Supposing, moves: &[PinMove]) {\n    \u001b[1m\u001b[94m|\u001b[0m                                                         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":41485,"byte_end":41490,"line_start":920,"line_end":920,"column_start":25,"column_end":30,"is_primary":true,"text":[{"text":"        _phase: &crate::tools::tool::Supposing,","highlight_start":25,"highlight_end":30}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:920:25\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m920\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         _phase: &crate::tools::tool::Supposing,\n    \u001b[1m\u001b[94m|\u001b[0m                         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":52916,"byte_end":52921,"line_start":1215,"line_end":1215,"column_start":21,"column_end":26,"is_primary":true,"text":[{"text":"            &crate::tools::tool::Supposing::testing(),","highlight_start":21,"highlight_end":26}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:1215:21\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1215\u001b[0m \u001b[1m\u001b[94m|\u001b[0m             &crate::tools::tool::Supposing::testing(),\n     \u001b[1m\u001b[94m|\u001b[0m                     \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":57748,"byte_end":57753,"line_start":1341,"line_end":1341,"column_start":21,"column_end":26,"is_primary":true,"text":[{"text":"            &crate::tools::tool::Supposing::testing(),","highlight_start":21,"highlight_end":26}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:1341:21\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1341\u001b[0m \u001b[1m\u001b[94m|\u001b[0m             &crate::tools::tool::Supposing::testing(),\n     \u001b[1m\u001b[94m|\u001b[0m                     \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":59099,"byte_end":59104,"line_start":1373,"line_end":1373,"column_start":21,"column_end":26,"is_primary":true,"text":[{"text":"            &crate::tools::tool::Supposing::testing(),","highlight_start":21,"highlight_end":26}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:1373:21\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1373\u001b[0m \u001b[1m\u001b[94m|\u001b[0m             &crate::tools::tool::Supposing::testing(),\n     \u001b[1m\u001b[94m|\u001b[0m                     \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":61539,"byte_end":61544,"line_start":1433,"line_end":1433,"column_start":25,"column_end":30,"is_primary":true,"text":[{"text":"                &crate::tools::tool::Supposing::testing(),","highlight_start":25,"highlight_end":30}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:1433:25\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1433\u001b[0m \u001b[1m\u001b[94m|\u001b[0m                 &crate::tools::tool::Supposing::testing(),\n     \u001b[1m\u001b[94m|\u001b[0m                         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":70424,"byte_end":70429,"line_start":1636,"line_end":1636,"column_start":25,"column_end":30,"is_primary":true,"text":[{"text":"                &crate::tools::tool::Supposing::testing(),","highlight_start":25,"highlight_end":30}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:1636:25\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1636\u001b[0m \u001b[1m\u001b[94m|\u001b[0m                 &crate::tools::tool::Supposing::testing(),\n     \u001b[1m\u001b[94m|\u001b[0m                         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":73974,"byte_end":73979,"line_start":1727,"line_end":1727,"column_start":29,"column_end":34,"is_primary":true,"text":[{"text":"                    &crate::tools::tool::Supposing::testing(),","highlight_start":29,"highlight_end":34}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:1727:29\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1727\u001b[0m \u001b[1m\u001b[94m|\u001b[0m                     &crate::tools::tool::Supposing::testing(),\n     \u001b[1m\u001b[94m|\u001b[0m                             \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":74438,"byte_end":74443,"line_start":1738,"line_end":1738,"column_start":25,"column_end":30,"is_primary":true,"text":[{"text":"                &crate::tools::tool::Supposing::testing(),","highlight_start":25,"highlight_end":30}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:1738:25\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1738\u001b[0m \u001b[1m\u001b[94m|\u001b[0m                 &crate::tools::tool::Supposing::testing(),\n     \u001b[1m\u001b[94m|\u001b[0m                         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":75429,"byte_end":75434,"line_start":1766,"line_end":1766,"column_start":25,"column_end":30,"is_primary":true,"text":[{"text":"                &crate::tools::tool::Supposing::testing(),","highlight_start":25,"highlight_end":30}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:1766:25\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1766\u001b[0m \u001b[1m\u001b[94m|\u001b[0m                 &crate::tools::tool::Supposing::testing(),\n     \u001b[1m\u001b[94m|\u001b[0m                         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/routing.rs","byte_start":76418,"byte_end":76423,"line_start":1792,"line_end":1792,"column_start":25,"column_end":30,"is_primary":true,"text":[{"text":"                &crate::tools::tool::Supposing::testing(),","highlight_start":25,"highlight_end":30}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/routing.rs:1792:25\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1792\u001b[0m \u001b[1m\u001b[94m|\u001b[0m                 &crate::tools::tool::Supposing::testing(),\n     \u001b[1m\u001b[94m|\u001b[0m                         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/closed_router_tests.rs","byte_start":12663,"byte_end":12668,"line_start":359,"line_end":359,"column_start":17,"column_end":22,"is_primary":true,"text":[{"text":"        &crate::tools::tool::Supposing::testing(),","highlight_start":17,"highlight_end":22}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/closed_router_tests.rs:359:17\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m359\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         &crate::tools::tool::Supposing::testing(),\n    \u001b[1m\u001b[94m|\u001b[0m                 \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/closed_router_tests.rs","byte_start":14000,"byte_end":14005,"line_start":392,"line_end":392,"column_start":25,"column_end":30,"is_primary":true,"text":[{"text":"                &crate::tools::tool::Supposing::testing(),","highlight_start":25,"highlight_end":30}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/closed_router_tests.rs:392:25\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m392\u001b[0m \u001b[1m\u001b[94m|\u001b[0m                 &crate::tools::tool::Supposing::testing(),\n    \u001b[1m\u001b[94m|\u001b[0m                         \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/closed_router_tests.rs","byte_start":15602,"byte_end":15607,"line_start":431,"line_end":431,"column_start":38,"column_end":43,"is_primary":true,"text":[{"text":"        drawing.suppose_drag(&crate::tools::tool::Supposing::testing(), &drag); // warm up","highlight_start":38,"highlight_end":43}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/closed_router_tests.rs:431:38\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m431\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         drawing.suppose_drag(&crate::tools::tool::Supposing::testing(), &drag); // warm up\n    \u001b[1m\u001b[94m|\u001b[0m                                      \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/closed_router_tests.rs","byte_start":15776,"byte_end":15781,"line_start":436,"line_end":436,"column_start":38,"column_end":43,"is_primary":true,"text":[{"text":"        drawing.suppose_drag(&crate::tools::tool::Supposing::testing(), &drag);","highlight_start":38,"highlight_end":43}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/closed_router_tests.rs:436:38\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m436\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         drawing.suppose_drag(&crate::tools::tool::Supposing::testing(), &drag);\n    \u001b[1m\u001b[94m|\u001b[0m                                      \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/closed_router_tests.rs","byte_start":38098,"byte_end":38103,"line_start":1024,"line_end":1024,"column_start":21,"column_end":26,"is_primary":true,"text":[{"text":"            &crate::tools::tool::Supposing::testing(),","highlight_start":21,"highlight_end":26}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/closed_router_tests.rs:1024:21\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1024\u001b[0m \u001b[1m\u001b[94m|\u001b[0m             &crate::tools::tool::Supposing::testing(),\n     \u001b[1m\u001b[94m|\u001b[0m                     \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/closed_router_tests.rs","byte_start":40136,"byte_end":40141,"line_start":1080,"line_end":1080,"column_start":21,"column_end":26,"is_primary":true,"text":[{"text":"            &crate::tools::tool::Supposing::testing(),","highlight_start":21,"highlight_end":26}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/closed_router_tests.rs:1080:21\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1080\u001b[0m \u001b[1m\u001b[94m|\u001b[0m             &crate::tools::tool::Supposing::testing(),\n     \u001b[1m\u001b[94m|\u001b[0m                     \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find module or crate `xtask` in this scope","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/test_fixtures.rs","byte_start":15120,"byte_end":15125,"line_start":438,"line_end":438,"column_start":20,"column_end":25,"is_primary":true,"text":[{"text":"    lowered_scene(&xtask::autogen::build_scale(n))","highlight_start":20,"highlight_end":25}],"label":"use of unresolved module or unlinked crate `xtask`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if you wanted to use a crate named `xtask`, use `cargo add xtask` to add it to your `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find module or crate `xtask` in this scope\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/test_fixtures.rs:438:20\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m438\u001b[0m \u001b[1m\u001b[94m|\u001b[0m     lowered_scene(&xtask::autogen::build_scale(n))\n    \u001b[1m\u001b[94m|\u001b[0m                    \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91muse of unresolved module or unlinked crate `xtask`\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 `xtask`, use `cargo add xtask` to add it to your `Cargo.toml`\n\n"}
{"$message_type":"diagnostic","message":"cannot find `tools` in `crate`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/edit/describe.rs","byte_start":21154,"byte_end":21159,"line_start":582,"line_end":582,"column_start":32,"column_end":37,"is_primary":true,"text":[{"text":"            Label::verb(crate::tools::names::ToolName::Route.verb())","highlight_start":32,"highlight_end":37}],"label":"could not find `tools` in the crate root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider importing this enum","code":null,"level":"help","spans":[{"file_name":"crates/editor/src/edit/describe.rs","byte_start":14435,"byte_end":14435,"line_start":398,"line_end":398,"column_start":5,"column_end":5,"is_primary":true,"text":[{"text":"    use super::*;","highlight_start":5,"highlight_end":5}],"label":null,"suggested_replacement":"use crate::names::ToolName;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null},{"message":"if you import `ToolName`, refer to it directly","code":null,"level":"help","spans":[{"file_name":"crates/editor/src/edit/describe.rs","byte_start":21147,"byte_end":21168,"line_start":582,"line_end":582,"column_start":25,"column_end":46,"is_primary":true,"text":[{"text":"            Label::verb(crate::tools::names::ToolName::Route.verb())","highlight_start":25,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find `tools` in `crate`\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/edit/describe.rs:582:32\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m582\u001b[0m \u001b[1m\u001b[94m|\u001b[0m             Label::verb(crate::tools::names::ToolName::Route.verb())\n    \u001b[1m\u001b[94m|\u001b[0m                                \u001b[1m\u001b[91m^^^^^\u001b[0m \u001b[1m\u001b[91mcould not find `tools` in the crate root\u001b[0m\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider importing this enum\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m398\u001b[0m \u001b[92m+ \u001b[0m    \u001b[92muse crate::names::ToolName;\u001b[0m\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: if you import `ToolName`, refer to it directly\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m582\u001b[0m \u001b[91m- \u001b[0m            Label::verb(\u001b[91mcrate::tools::names::\u001b[0mToolName::Route.verb())\n\u001b[1m\u001b[94m582\u001b[0m \u001b[92m+ \u001b[0m            Label::verb(ToolName::Route.verb())\n    \u001b[1m\u001b[94m|\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find module or crate `egui` in this scope","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/drawing.rs","byte_start":67556,"byte_end":67560,"line_start":1582,"line_end":1582,"column_start":19,"column_end":23,"is_primary":true,"text":[{"text":"        let ctx = egui::Context::default();","highlight_start":19,"highlight_end":23}],"label":"use of unresolved module or unlinked crate `egui`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if you wanted to use a crate named `egui`, use `cargo add egui` to add it to your `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"crates/editor/src/widget/drawing.rs","byte_start":59624,"byte_end":59624,"line_start":1387,"line_end":1387,"column_start":5,"column_end":5,"is_primary":true,"text":[{"text":"    use super::*;","highlight_start":5,"highlight_end":5}],"label":null,"suggested_replacement":"use std::task::Context;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null},{"message":"if you import `Context`, refer to it directly","code":null,"level":"help","spans":[{"file_name":"crates/editor/src/widget/drawing.rs","byte_start":67556,"byte_end":67562,"line_start":1582,"line_end":1582,"column_start":19,"column_end":25,"is_primary":true,"text":[{"text":"        let ctx = egui::Context::default();","highlight_start":19,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find module or crate `egui` in this scope\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/drawing.rs:1582:19\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1582\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         let ctx = egui::Context::default();\n     \u001b[1m\u001b[94m|\u001b[0m                   \u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91muse of unresolved module or unlinked crate `egui`\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 `egui`, use `cargo add egui` to add it to your `Cargo.toml`\n\u001b[1m\u001b[96mhelp\u001b[0m: consider importing this struct\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1387\u001b[0m \u001b[92m+ \u001b[0m    \u001b[92muse std::task::Context;\u001b[0m\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: if you import `Context`, refer to it directly\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1582\u001b[0m \u001b[91m- \u001b[0m        let ctx = \u001b[91megui::\u001b[0mContext::default();\n\u001b[1m\u001b[94m1582\u001b[0m \u001b[92m+ \u001b[0m        let ctx = Context::default();\n     \u001b[1m\u001b[94m|\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find module or crate `egui` in this scope","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/hit_target.rs","byte_start":19462,"byte_end":19466,"line_start":496,"line_end":496,"column_start":19,"column_end":23,"is_primary":true,"text":[{"text":"        let ctx = egui::Context::default();","highlight_start":19,"highlight_end":23}],"label":"use of unresolved module or unlinked crate `egui`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if you wanted to use a crate named `egui`, use `cargo add egui` to add it to your `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"consider importing this struct","code":null,"level":"help","spans":[{"file_name":"crates/editor/src/widget/hit_target.rs","byte_start":18945,"byte_end":18945,"line_start":483,"line_end":483,"column_start":5,"column_end":5,"is_primary":true,"text":[{"text":"    use super::*;","highlight_start":5,"highlight_end":5}],"label":null,"suggested_replacement":"use std::task::Context;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null},{"message":"if you import `Context`, refer to it directly","code":null,"level":"help","spans":[{"file_name":"crates/editor/src/widget/hit_target.rs","byte_start":19462,"byte_end":19468,"line_start":496,"line_end":496,"column_start":19,"column_end":25,"is_primary":true,"text":[{"text":"        let ctx = egui::Context::default();","highlight_start":19,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find module or crate `egui` in this scope\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/hit_target.rs:496:19\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m496\u001b[0m \u001b[1m\u001b[94m|\u001b[0m         let ctx = egui::Context::default();\n    \u001b[1m\u001b[94m|\u001b[0m                   \u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91muse of unresolved module or unlinked crate `egui`\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 `egui`, use `cargo add egui` to add it to your `Cargo.toml`\n\u001b[1m\u001b[96mhelp\u001b[0m: consider importing this struct\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m483\u001b[0m \u001b[92m+ \u001b[0m    \u001b[92muse std::task::Context;\u001b[0m\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: if you import `Context`, refer to it directly\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m496\u001b[0m \u001b[91m- \u001b[0m        let ctx = \u001b[91megui::\u001b[0mContext::default();\n\u001b[1m\u001b[94m496\u001b[0m \u001b[92m+ \u001b[0m        let ctx = Context::default();\n    \u001b[1m\u001b[94m|\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"cannot find module or crate `egui` in this scope","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/import.rs","byte_start":6563,"byte_end":6567,"line_start":170,"line_end":170,"column_start":34,"column_end":38,"is_primary":true,"text":[{"text":"pub fn spawn_import_dialog(ctx: &egui::Context) -> Receiver<Option<(String, Vec<u8>)>> {","highlight_start":34,"highlight_end":38}],"label":"use of unresolved module or unlinked crate `egui`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if you wanted to use a crate named `egui`, use `cargo add egui` to add it to your `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find module or crate `egui` in this scope\u001b[0m\n   \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/import.rs:170:34\n    \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m170\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn spawn_import_dialog(ctx: &egui::Context) -> Receiver<Option<(String, Vec<u8>)>> {\n    \u001b[1m\u001b[94m|\u001b[0m                                  \u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91muse of unresolved module or unlinked crate `egui`\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 `egui`, use `cargo add egui` to add it to your `Cargo.toml`\n\n"}
{"$message_type":"diagnostic","message":"cannot find module or crate `egui` in this scope","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared module or unlinked crate\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"crates/editor/src/widget/drawing.rs","byte_start":66502,"byte_end":66506,"line_start":1559,"line_end":1559,"column_start":19,"column_end":23,"is_primary":true,"text":[{"text":"            ctx: &egui::Context,","highlight_start":19,"highlight_end":23}],"label":"use of unresolved module or unlinked crate `egui`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if you wanted to use a crate named `egui`, use `cargo add egui` to add it to your `Cargo.toml`","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0433]\u001b[0m\u001b[1m: cannot find module or crate `egui` in this scope\u001b[0m\n    \u001b[1m\u001b[94m--> \u001b[0mcrates/editor/src/widget/drawing.rs:1559:19\n     \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1559\u001b[0m \u001b[1m\u001b[94m|\u001b[0m             ctx: &egui::Context,\n     \u001b[1m\u001b[94m|\u001b[0m                   \u001b[1m\u001b[91m^^^^\u001b[0m \u001b[1m\u001b[91muse of unresolved module or unlinked crate `egui`\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 `egui`, use `cargo add egui` to add it to your `Cargo.toml`\n\n"}
{"$message_type":"diagnostic","message":"aborting due to 51 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: aborting due to 51 previous errors\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"Some errors have detailed explanations: E0432, E0433, E0583.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1mSome errors have detailed explanations: E0432, E0433, E0583.\u001b[0m\n"}
{"$message_type":"diagnostic","message":"For more information about an error, try `rustc --explain E0432`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1mFor more information about an error, try `rustc --explain E0432`.\u001b[0m\n"}
