24 lines
77 KiB
Plaintext
24 lines
77 KiB
Plaintext
{"$message_type":"diagnostic","message":"set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache","code":null,"level":"error","spans":[{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/macros/mod.rs","byte_start":26740,"byte_end":26833,"line_start":576,"line_end":576,"column_start":9,"column_end":102,"is_primary":true,"text":[{"text":" $crate::sqlx_macros::expand_query!(record = $out_struct, source = $query, args = [$($args)*])","highlight_start":9,"highlight_end":102}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/macros/mod.rs","byte_start":26740,"byte_end":26833,"line_start":576,"line_end":576,"column_start":9,"column_end":102,"is_primary":false,"text":[{"text":" $crate::sqlx_macros::expand_query!(record = $out_struct, source = $query, args = [$($args)*])","highlight_start":9,"highlight_end":102}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/client/mod.rs","byte_start":6039,"byte_end":6447,"line_start":190,"line_end":203,"column_start":23,"column_end":10,"is_primary":false,"text":[{"text":" let clients = sqlx::query_as!(","highlight_start":23,"highlight_end":39},{"text":" Client,","highlight_start":1,"highlight_end":20},{"text":" r#\"","highlight_start":1,"highlight_end":16},{"text":" SELECT ","highlight_start":1,"highlight_end":20},{"text":" id, client_id, name, description,","highlight_start":1,"highlight_end":50},{"text":" created_at, updated_at, is_active,","highlight_start":1,"highlight_end":51},{"text":" rate_limit_per_minute, total_requests, total_tokens, total_cost","highlight_start":1,"highlight_end":80},{"text":" FROM clients","highlight_start":1,"highlight_end":25},{"text":" ORDER BY created_at DESC","highlight_start":1,"highlight_end":37},{"text":" LIMIT ? OFFSET ?","highlight_start":1,"highlight_end":29},{"text":" \"#,","highlight_start":1,"highlight_end":16},{"text":" limit,","highlight_start":1,"highlight_end":19},{"text":" offset","highlight_start":1,"highlight_end":19},{"text":" )","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"sqlx::query_as!","def_site_span":{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/macros/mod.rs","byte_start":26518,"byte_end":26539,"line_start":571,"line_end":571,"column_start":1,"column_end":22,"is_primary":false,"text":[{"text":"macro_rules! query_as (","highlight_start":1,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"$crate::sqlx_macros::expand_query!","def_site_span":{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-macros-0.8.6/src/lib.rs","byte_start":116,"byte_end":170,"line_start":9,"line_end":9,"column_start":1,"column_end":55,"is_primary":false,"text":[{"text":"pub fn expand_query(input: TokenStream) -> TokenStream {","highlight_start":1,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:190:23\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m190\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let clients = sqlx::query_as!(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m _______________________^\u001b[0m\n\u001b[1m\u001b[94m191\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m Client,\n\u001b[1m\u001b[94m192\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m r#\"\n\u001b[1m\u001b[94m193\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m SELECT \n\u001b[1m\u001b[94m...\u001b[0m \u001b[1m\u001b[91m|\u001b[0m\n\u001b[1m\u001b[94m202\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m offset\n\u001b[1m\u001b[94m203\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m )\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[1mnote\u001b[0m: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
|
|
{"$message_type":"diagnostic","message":"set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache","code":null,"level":"error","spans":[{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/macros/mod.rs","byte_start":16544,"byte_end":16615,"line_start":328,"line_end":328,"column_start":9,"column_end":80,"is_primary":true,"text":[{"text":" $crate::sqlx_macros::expand_query!(source = $query, args = [$($args)*])","highlight_start":9,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/macros/mod.rs","byte_start":16544,"byte_end":16615,"line_start":328,"line_end":328,"column_start":9,"column_end":80,"is_primary":false,"text":[{"text":" $crate::sqlx_macros::expand_query!(source = $query, args = [$($args)*])","highlight_start":9,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/client/mod.rs","byte_start":6653,"byte_end":6753,"line_start":212,"line_end":215,"column_start":22,"column_end":10,"is_primary":false,"text":[{"text":" let result = sqlx::query!(","highlight_start":22,"highlight_end":35},{"text":" \"DELETE FROM clients WHERE client_id = ?\",","highlight_start":1,"highlight_end":55},{"text":" client_id","highlight_start":1,"highlight_end":22},{"text":" )","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"sqlx::query!","def_site_span":{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/macros/mod.rs","byte_start":15636,"byte_end":15654,"line_start":314,"line_end":314,"column_start":1,"column_end":19,"is_primary":false,"text":[{"text":"macro_rules! query (","highlight_start":1,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"$crate::sqlx_macros::expand_query!","def_site_span":{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-macros-0.8.6/src/lib.rs","byte_start":116,"byte_end":170,"line_start":9,"line_end":9,"column_start":1,"column_end":55,"is_primary":false,"text":[{"text":"pub fn expand_query(input: TokenStream) -> TokenStream {","highlight_start":1,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:212:22\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m212\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let result = sqlx::query!(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m ______________________^\u001b[0m\n\u001b[1m\u001b[94m213\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m \"DELETE FROM clients WHERE client_id = ?\",\n\u001b[1m\u001b[94m214\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m client_id\n\u001b[1m\u001b[94m215\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m )\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[1mnote\u001b[0m: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
|
|
{"$message_type":"diagnostic","message":"set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache","code":null,"level":"error","spans":[{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/macros/mod.rs","byte_start":16544,"byte_end":16615,"line_start":328,"line_end":328,"column_start":9,"column_end":80,"is_primary":true,"text":[{"text":" $crate::sqlx_macros::expand_query!(source = $query, args = [$($args)*])","highlight_start":9,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/macros/mod.rs","byte_start":16544,"byte_end":16615,"line_start":328,"line_end":328,"column_start":9,"column_end":80,"is_primary":false,"text":[{"text":" $crate::sqlx_macros::expand_query!(source = $query, args = [$($args)*])","highlight_start":9,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/client/mod.rs","byte_start":7277,"byte_end":7663,"line_start":237,"line_end":250,"column_start":9,"column_end":10,"is_primary":false,"text":[{"text":" sqlx::query!(","highlight_start":9,"highlight_end":22},{"text":" r#\"","highlight_start":1,"highlight_end":16},{"text":" UPDATE clients ","highlight_start":1,"highlight_end":28},{"text":" SET ","highlight_start":1,"highlight_end":17},{"text":" total_requests = total_requests + 1,","highlight_start":1,"highlight_end":53},{"text":" total_tokens = total_tokens + ?,","highlight_start":1,"highlight_end":49},{"text":" total_cost = total_cost + ?,","highlight_start":1,"highlight_end":45},{"text":" updated_at = CURRENT_TIMESTAMP","highlight_start":1,"highlight_end":47},{"text":" WHERE client_id = ?","highlight_start":1,"highlight_end":32},{"text":" \"#,","highlight_start":1,"highlight_end":16},{"text":" tokens,","highlight_start":1,"highlight_end":20},{"text":" cost,","highlight_start":1,"highlight_end":18},{"text":" client_id","highlight_start":1,"highlight_end":22},{"text":" )","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"sqlx::query!","def_site_span":{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/macros/mod.rs","byte_start":15636,"byte_end":15654,"line_start":314,"line_end":314,"column_start":1,"column_end":19,"is_primary":false,"text":[{"text":"macro_rules! query (","highlight_start":1,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"$crate::sqlx_macros::expand_query!","def_site_span":{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-macros-0.8.6/src/lib.rs","byte_start":116,"byte_end":170,"line_start":9,"line_end":9,"column_start":1,"column_end":55,"is_primary":false,"text":[{"text":"pub fn expand_query(input: TokenStream) -> TokenStream {","highlight_start":1,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:237:9\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m237\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m/\u001b[0m sqlx::query!(\n\u001b[1m\u001b[94m238\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m r#\"\n\u001b[1m\u001b[94m239\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m UPDATE clients \n\u001b[1m\u001b[94m240\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m SET \n\u001b[1m\u001b[94m...\u001b[0m \u001b[1m\u001b[91m|\u001b[0m\n\u001b[1m\u001b[94m249\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m client_id\n\u001b[1m\u001b[94m250\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m )\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[1mnote\u001b[0m: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
|
|
{"$message_type":"diagnostic","message":"set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache","code":null,"level":"error","spans":[{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/macros/mod.rs","byte_start":16544,"byte_end":16615,"line_start":328,"line_end":328,"column_start":9,"column_end":80,"is_primary":true,"text":[{"text":" $crate::sqlx_macros::expand_query!(source = $query, args = [$($args)*])","highlight_start":9,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/macros/mod.rs","byte_start":16544,"byte_end":16615,"line_start":328,"line_end":328,"column_start":9,"column_end":80,"is_primary":false,"text":[{"text":" $crate::sqlx_macros::expand_query!(source = $query, args = [$($args)*])","highlight_start":9,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/client/mod.rs","byte_start":7895,"byte_end":8089,"line_start":259,"line_end":266,"column_start":21,"column_end":10,"is_primary":false,"text":[{"text":" let stats = sqlx::query!(","highlight_start":21,"highlight_end":34},{"text":" r#\"","highlight_start":1,"highlight_end":16},{"text":" SELECT total_requests, total_tokens, total_cost","highlight_start":1,"highlight_end":60},{"text":" FROM clients","highlight_start":1,"highlight_end":25},{"text":" WHERE client_id = ?","highlight_start":1,"highlight_end":32},{"text":" \"#,","highlight_start":1,"highlight_end":16},{"text":" client_id","highlight_start":1,"highlight_end":22},{"text":" )","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"sqlx::query!","def_site_span":{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-0.8.6/src/macros/mod.rs","byte_start":15636,"byte_end":15654,"line_start":314,"line_end":314,"column_start":1,"column_end":19,"is_primary":false,"text":[{"text":"macro_rules! query (","highlight_start":1,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"$crate::sqlx_macros::expand_query!","def_site_span":{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-macros-0.8.6/src/lib.rs","byte_start":116,"byte_end":170,"line_start":9,"line_end":9,"column_start":1,"column_end":55,"is_primary":false,"text":[{"text":"pub fn expand_query(input: TokenStream) -> TokenStream {","highlight_start":1,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:259:21\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m259\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let stats = sqlx::query!(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m _____________________^\u001b[0m\n\u001b[1m\u001b[94m260\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m r#\"\n\u001b[1m\u001b[94m261\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m SELECT total_requests, total_tokens, total_cost\n\u001b[1m\u001b[94m262\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m FROM clients\n\u001b[1m\u001b[94m...\u001b[0m \u001b[1m\u001b[91m|\u001b[0m\n\u001b[1m\u001b[94m265\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m client_id\n\u001b[1m\u001b[94m266\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m|\u001b[0m )\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[1mnote\u001b[0m: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
|
|
{"$message_type":"diagnostic","message":"unused import: `Duration`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/rate_limiting/mod.rs","byte_start":318,"byte_end":326,"line_start":10,"line_end":10,"column_start":17,"column_end":25,"is_primary":true,"text":[{"text":"use std::time::{Duration, Instant};","highlight_start":17,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"src/rate_limiting/mod.rs","byte_start":318,"byte_end":328,"line_start":10,"line_end":10,"column_start":17,"column_end":27,"is_primary":true,"text":[{"text":"use std::time::{Duration, Instant};","highlight_start":17,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/rate_limiting/mod.rs","byte_start":317,"byte_end":318,"line_start":10,"line_end":10,"column_start":16,"column_end":17,"is_primary":true,"text":[{"text":"use std::time::{Duration, Instant};","highlight_start":16,"highlight_end":17}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/rate_limiting/mod.rs","byte_start":335,"byte_end":336,"line_start":10,"line_end":10,"column_start":34,"column_end":35,"is_primary":true,"text":[{"text":"use std::time::{Duration, Instant};","highlight_start":34,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused import: `Duration`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/rate_limiting/mod.rs:10:17\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m10\u001b[0m \u001b[1m\u001b[94m|\u001b[0m use std::time::{Duration, Instant};\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\n\n"}
|
|
{"$message_type":"diagnostic","message":"the trait bound `DateTime<Utc>: sqlx::Decode<'_, Sqlite>` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src/client/mod.rs","byte_start":3098,"byte_end":3101,"line_start":106,"line_end":106,"column_start":33,"column_end":36,"is_primary":true,"text":[{"text":" created_at: row.get(\"created_at\"),","highlight_start":33,"highlight_end":36}],"label":"the trait `sqlx::Decode<'_, Sqlite>` is not implemented for `DateTime<Utc>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the following other types implement trait `sqlx::Decode<'r, DB>`:\n `&'a str` implements `sqlx::Decode<'a, sqlx::Any>`\n `&'r JsonRawValue` implements `sqlx::Decode<'r, DB>`\n `&'r [u8]` implements `sqlx::Decode<'r, Sqlite>`\n `&'r [u8]` implements `sqlx::Decode<'r, sqlx::Any>`\n `&'r str` implements `sqlx::Decode<'r, Sqlite>`\n `Box<[u8]>` implements `sqlx::Decode<'_, Sqlite>`\n `Box<str>` implements `sqlx::Decode<'_, Sqlite>`\n `Cow<'r, str>` implements `sqlx::Decode<'r, Sqlite>`\nand 33 others","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `sqlx::Row::get`","code":null,"level":"note","spans":[{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/row.rs","byte_start":2077,"byte_end":2080,"line_start":68,"line_end":68,"column_start":8,"column_end":11,"is_primary":false,"text":[{"text":" fn get<'r, T, I>(&'r self, index: I) -> T","highlight_start":8,"highlight_end":11}],"label":"required by a bound in this associated function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/row.rs","byte_start":2167,"byte_end":2193,"line_start":71,"line_end":71,"column_start":12,"column_end":38,"is_primary":true,"text":[{"text":" T: Decode<'r, Self::Database> + Type<Self::Database>,","highlight_start":12,"highlight_end":38}],"label":"required by this bound in `Row::get`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m: the trait bound `DateTime<Utc>: sqlx::Decode<'_, Sqlite>` is not satisfied\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:106:33\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m106\u001b[0m \u001b[1m\u001b[94m|\u001b[0m created_at: row.get(\"created_at\"),\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m^^^\u001b[0m \u001b[1m\u001b[91mthe trait `sqlx::Decode<'_, Sqlite>` is not implemented for `DateTime<Utc>`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: the following other types implement trait `sqlx::Decode<'r, DB>`:\n `&'a str` implements `sqlx::Decode<'a, sqlx::Any>`\n `&'r JsonRawValue` implements `sqlx::Decode<'r, DB>`\n `&'r [u8]` implements `sqlx::Decode<'r, Sqlite>`\n `&'r [u8]` implements `sqlx::Decode<'r, sqlx::Any>`\n `&'r str` implements `sqlx::Decode<'r, Sqlite>`\n `Box<[u8]>` implements `sqlx::Decode<'_, Sqlite>`\n `Box<str>` implements `sqlx::Decode<'_, Sqlite>`\n `Cow<'r, str>` implements `sqlx::Decode<'r, Sqlite>`\n and 33 others\n\u001b[1m\u001b[92mnote\u001b[0m: required by a bound in `sqlx::Row::get`\n \u001b[1m\u001b[94m--> \u001b[0m/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/row.rs:71:12\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m68\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn get<'r, T, I>(&'r self, index: I) -> T\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m---\u001b[0m \u001b[1m\u001b[94mrequired by a bound in this associated function\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n \u001b[1m\u001b[94m71\u001b[0m \u001b[1m\u001b[94m|\u001b[0m T: Decode<'r, Self::Database> + Type<Self::Database>,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[92mrequired by this bound in `Row::get`\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"the trait bound `DateTime<Utc>: sqlx::Type<Sqlite>` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src/client/mod.rs","byte_start":3098,"byte_end":3101,"line_start":106,"line_end":106,"column_start":33,"column_end":36,"is_primary":true,"text":[{"text":" created_at: row.get(\"created_at\"),","highlight_start":33,"highlight_end":36}],"label":"the trait `sqlx::Type<Sqlite>` is not implemented for `DateTime<Utc>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the following other types implement trait `sqlx::Type<DB>`:\n `&T` implements `sqlx::Type<DB>`\n `Box<[u8]>` implements `sqlx::Type<Sqlite>`\n `Box<str>` implements `sqlx::Type<Sqlite>`\n `Cow<'_, str>` implements `sqlx::Type<Sqlite>`\n `JsonRawValue` implements `sqlx::Type<DB>`\n `JsonValue` implements `sqlx::Type<DB>`\n `NonZero<i16>` implements `sqlx::Type<DB>`\n `NonZero<i32>` implements `sqlx::Type<DB>`\nand 34 others","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `sqlx::Row::get`","code":null,"level":"note","spans":[{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/row.rs","byte_start":2077,"byte_end":2080,"line_start":68,"line_end":68,"column_start":8,"column_end":11,"is_primary":false,"text":[{"text":" fn get<'r, T, I>(&'r self, index: I) -> T","highlight_start":8,"highlight_end":11}],"label":"required by a bound in this associated function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/row.rs","byte_start":2196,"byte_end":2216,"line_start":71,"line_end":71,"column_start":41,"column_end":61,"is_primary":true,"text":[{"text":" T: Decode<'r, Self::Database> + Type<Self::Database>,","highlight_start":41,"highlight_end":61}],"label":"required by this bound in `Row::get`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m: the trait bound `DateTime<Utc>: sqlx::Type<Sqlite>` is not satisfied\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:106:33\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m106\u001b[0m \u001b[1m\u001b[94m|\u001b[0m created_at: row.get(\"created_at\"),\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m^^^\u001b[0m \u001b[1m\u001b[91mthe trait `sqlx::Type<Sqlite>` is not implemented for `DateTime<Utc>`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: the following other types implement trait `sqlx::Type<DB>`:\n `&T` implements `sqlx::Type<DB>`\n `Box<[u8]>` implements `sqlx::Type<Sqlite>`\n `Box<str>` implements `sqlx::Type<Sqlite>`\n `Cow<'_, str>` implements `sqlx::Type<Sqlite>`\n `JsonRawValue` implements `sqlx::Type<DB>`\n `JsonValue` implements `sqlx::Type<DB>`\n `NonZero<i16>` implements `sqlx::Type<DB>`\n `NonZero<i32>` implements `sqlx::Type<DB>`\n and 34 others\n\u001b[1m\u001b[92mnote\u001b[0m: required by a bound in `sqlx::Row::get`\n \u001b[1m\u001b[94m--> \u001b[0m/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/row.rs:71:41\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m68\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn get<'r, T, I>(&'r self, index: I) -> T\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m---\u001b[0m \u001b[1m\u001b[94mrequired by a bound in this associated function\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n \u001b[1m\u001b[94m71\u001b[0m \u001b[1m\u001b[94m|\u001b[0m T: Decode<'r, Self::Database> + Type<Self::Database>,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[92mrequired by this bound in `Row::get`\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"the trait bound `DateTime<Utc>: sqlx::Decode<'_, Sqlite>` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src/client/mod.rs","byte_start":3149,"byte_end":3152,"line_start":107,"line_end":107,"column_start":33,"column_end":36,"is_primary":true,"text":[{"text":" updated_at: row.get(\"updated_at\"),","highlight_start":33,"highlight_end":36}],"label":"the trait `sqlx::Decode<'_, Sqlite>` is not implemented for `DateTime<Utc>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the following other types implement trait `sqlx::Decode<'r, DB>`:\n `&'a str` implements `sqlx::Decode<'a, sqlx::Any>`\n `&'r JsonRawValue` implements `sqlx::Decode<'r, DB>`\n `&'r [u8]` implements `sqlx::Decode<'r, Sqlite>`\n `&'r [u8]` implements `sqlx::Decode<'r, sqlx::Any>`\n `&'r str` implements `sqlx::Decode<'r, Sqlite>`\n `Box<[u8]>` implements `sqlx::Decode<'_, Sqlite>`\n `Box<str>` implements `sqlx::Decode<'_, Sqlite>`\n `Cow<'r, str>` implements `sqlx::Decode<'r, Sqlite>`\nand 33 others","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `sqlx::Row::get`","code":null,"level":"note","spans":[{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/row.rs","byte_start":2077,"byte_end":2080,"line_start":68,"line_end":68,"column_start":8,"column_end":11,"is_primary":false,"text":[{"text":" fn get<'r, T, I>(&'r self, index: I) -> T","highlight_start":8,"highlight_end":11}],"label":"required by a bound in this associated function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/row.rs","byte_start":2167,"byte_end":2193,"line_start":71,"line_end":71,"column_start":12,"column_end":38,"is_primary":true,"text":[{"text":" T: Decode<'r, Self::Database> + Type<Self::Database>,","highlight_start":12,"highlight_end":38}],"label":"required by this bound in `Row::get`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m: the trait bound `DateTime<Utc>: sqlx::Decode<'_, Sqlite>` is not satisfied\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:107:33\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m107\u001b[0m \u001b[1m\u001b[94m|\u001b[0m updated_at: row.get(\"updated_at\"),\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m^^^\u001b[0m \u001b[1m\u001b[91mthe trait `sqlx::Decode<'_, Sqlite>` is not implemented for `DateTime<Utc>`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: the following other types implement trait `sqlx::Decode<'r, DB>`:\n `&'a str` implements `sqlx::Decode<'a, sqlx::Any>`\n `&'r JsonRawValue` implements `sqlx::Decode<'r, DB>`\n `&'r [u8]` implements `sqlx::Decode<'r, Sqlite>`\n `&'r [u8]` implements `sqlx::Decode<'r, sqlx::Any>`\n `&'r str` implements `sqlx::Decode<'r, Sqlite>`\n `Box<[u8]>` implements `sqlx::Decode<'_, Sqlite>`\n `Box<str>` implements `sqlx::Decode<'_, Sqlite>`\n `Cow<'r, str>` implements `sqlx::Decode<'r, Sqlite>`\n and 33 others\n\u001b[1m\u001b[92mnote\u001b[0m: required by a bound in `sqlx::Row::get`\n \u001b[1m\u001b[94m--> \u001b[0m/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/row.rs:71:12\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m68\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn get<'r, T, I>(&'r self, index: I) -> T\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m---\u001b[0m \u001b[1m\u001b[94mrequired by a bound in this associated function\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n \u001b[1m\u001b[94m71\u001b[0m \u001b[1m\u001b[94m|\u001b[0m T: Decode<'r, Self::Database> + Type<Self::Database>,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[92mrequired by this bound in `Row::get`\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"the trait bound `DateTime<Utc>: sqlx::Type<Sqlite>` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src/client/mod.rs","byte_start":3149,"byte_end":3152,"line_start":107,"line_end":107,"column_start":33,"column_end":36,"is_primary":true,"text":[{"text":" updated_at: row.get(\"updated_at\"),","highlight_start":33,"highlight_end":36}],"label":"the trait `sqlx::Type<Sqlite>` is not implemented for `DateTime<Utc>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the following other types implement trait `sqlx::Type<DB>`:\n `&T` implements `sqlx::Type<DB>`\n `Box<[u8]>` implements `sqlx::Type<Sqlite>`\n `Box<str>` implements `sqlx::Type<Sqlite>`\n `Cow<'_, str>` implements `sqlx::Type<Sqlite>`\n `JsonRawValue` implements `sqlx::Type<DB>`\n `JsonValue` implements `sqlx::Type<DB>`\n `NonZero<i16>` implements `sqlx::Type<DB>`\n `NonZero<i32>` implements `sqlx::Type<DB>`\nand 34 others","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `sqlx::Row::get`","code":null,"level":"note","spans":[{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/row.rs","byte_start":2077,"byte_end":2080,"line_start":68,"line_end":68,"column_start":8,"column_end":11,"is_primary":false,"text":[{"text":" fn get<'r, T, I>(&'r self, index: I) -> T","highlight_start":8,"highlight_end":11}],"label":"required by a bound in this associated function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/row.rs","byte_start":2196,"byte_end":2216,"line_start":71,"line_end":71,"column_start":41,"column_end":61,"is_primary":true,"text":[{"text":" T: Decode<'r, Self::Database> + Type<Self::Database>,","highlight_start":41,"highlight_end":61}],"label":"required by this bound in `Row::get`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m: the trait bound `DateTime<Utc>: sqlx::Type<Sqlite>` is not satisfied\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:107:33\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m107\u001b[0m \u001b[1m\u001b[94m|\u001b[0m updated_at: row.get(\"updated_at\"),\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m^^^\u001b[0m \u001b[1m\u001b[91mthe trait `sqlx::Type<Sqlite>` is not implemented for `DateTime<Utc>`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: the following other types implement trait `sqlx::Type<DB>`:\n `&T` implements `sqlx::Type<DB>`\n `Box<[u8]>` implements `sqlx::Type<Sqlite>`\n `Box<str>` implements `sqlx::Type<Sqlite>`\n `Cow<'_, str>` implements `sqlx::Type<Sqlite>`\n `JsonRawValue` implements `sqlx::Type<DB>`\n `JsonValue` implements `sqlx::Type<DB>`\n `NonZero<i16>` implements `sqlx::Type<DB>`\n `NonZero<i32>` implements `sqlx::Type<DB>`\n and 34 others\n\u001b[1m\u001b[92mnote\u001b[0m: required by a bound in `sqlx::Row::get`\n \u001b[1m\u001b[94m--> \u001b[0m/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/row.rs:71:41\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m68\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn get<'r, T, I>(&'r self, index: I) -> T\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m---\u001b[0m \u001b[1m\u001b[94mrequired by a bound in this associated function\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n \u001b[1m\u001b[94m71\u001b[0m \u001b[1m\u001b[94m|\u001b[0m T: Decode<'r, Self::Database> + Type<Self::Database>,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[92mrequired by this bound in `Row::get`\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"the trait bound `for<'r> client::Client: FromRow<'r, _>` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src/client/mod.rs","byte_start":5492,"byte_end":5498,"line_start":171,"line_end":171,"column_start":45,"column_end":51,"is_primary":true,"text":[{"text":" let mut query = sqlx::query_as::<_, Client>(&sql);","highlight_start":45,"highlight_end":51}],"label":"unsatisfied trait bound","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the trait `for<'r> FromRow<'r, _>` is not implemented for `client::Client`","code":null,"level":"help","spans":[{"file_name":"src/client/mod.rs","byte_start":390,"byte_end":407,"line_start":16,"line_end":16,"column_start":1,"column_end":18,"is_primary":true,"text":[{"text":"pub struct Client {","highlight_start":1,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"the following other types implement trait `FromRow<'r, R>`:\n ()\n (T1, T2)\n (T1, T2, T3)\n (T1, T2, T3, T4)\n (T1, T2, T3, T4, T5)\n (T1, T2, T3, T4, T5, T6)\n (T1, T2, T3, T4, T5, T6, T7)\n (T1, T2, T3, T4, T5, T6, T7, T8)\nand 9 others","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required by a bound in `sqlx::query_as`","code":null,"level":"note","spans":[{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/query_as.rs","byte_start":12358,"byte_end":12366,"line_start":342,"line_end":342,"column_start":8,"column_end":16,"is_primary":false,"text":[{"text":"pub fn query_as<'q, DB, O>(sql: &'q str) -> QueryAs<'q, DB, O, <DB as Database>::Arguments<'q>>","highlight_start":8,"highlight_end":16}],"label":"required by a bound in this function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/query_as.rs","byte_start":12478,"byte_end":12506,"line_start":345,"line_end":345,"column_start":8,"column_end":36,"is_primary":true,"text":[{"text":" O: for<'r> FromRow<'r, DB::Row>,","highlight_start":8,"highlight_end":36}],"label":"required by this bound in `query_as`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m: the trait bound `for<'r> client::Client: FromRow<'r, _>` is not satisfied\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:171:45\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m171\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let mut query = sqlx::query_as::<_, Client>(&sql);\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m^^^^^^\u001b[0m \u001b[1m\u001b[91munsatisfied trait bound\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: the trait `for<'r> FromRow<'r, _>` is not implemented for `client::Client`\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:16:1\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m16\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub struct Client {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[96m^^^^^^^^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: the following other types implement trait `FromRow<'r, R>`:\n ()\n (T1, T2)\n (T1, T2, T3)\n (T1, T2, T3, T4)\n (T1, T2, T3, T4, T5)\n (T1, T2, T3, T4, T5, T6)\n (T1, T2, T3, T4, T5, T6, T7)\n (T1, T2, T3, T4, T5, T6, T7, T8)\n and 9 others\n\u001b[1m\u001b[92mnote\u001b[0m: required by a bound in `sqlx::query_as`\n \u001b[1m\u001b[94m--> \u001b[0m/home/newkirk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/query_as.rs:345:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m342\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn query_as<'q, DB, O>(sql: &'q str) -> QueryAs<'q, DB, O, <DB as Database>::Arguments<'q>>\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------\u001b[0m \u001b[1m\u001b[94mrequired by a bound in this function\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m345\u001b[0m \u001b[1m\u001b[94m|\u001b[0m O: for<'r> FromRow<'r, DB::Row>,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[92mrequired by this bound in `query_as`\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"the method `fetch_optional` exists for struct `QueryAs<'_, _, client::Client, _>`, but its trait bounds were not satisfied","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/client/mod.rs","byte_start":5622,"byte_end":5636,"line_start":176,"line_end":176,"column_start":28,"column_end":42,"is_primary":true,"text":[{"text":" let client = query.fetch_optional(&self.db_pool).await?;","highlight_start":28,"highlight_end":42}],"label":"method cannot be called on `QueryAs<'_, _, client::Client, _>` due to unsatisfied trait bounds","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/client/mod.rs","byte_start":390,"byte_end":407,"line_start":16,"line_end":16,"column_start":1,"column_end":18,"is_primary":false,"text":[{"text":"pub struct Client {","highlight_start":1,"highlight_end":18}],"label":"doesn't satisfy `client::Client: FromRow<'r, _>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the following trait bounds were not satisfied:\n`client::Client: FromRow<'r, _>`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: the method `fetch_optional` exists for struct `QueryAs<'_, _, client::Client, _>`, but its trait bounds were not satisfied\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:176:28\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m16\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub struct Client {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-----------------\u001b[0m \u001b[1m\u001b[94mdoesn't satisfy `client::Client: FromRow<'r, _>`\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m176\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let client = query.fetch_optional(&self.db_pool).await?;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[91mmethod cannot be called on `QueryAs<'_, _, client::Client, _>` due to unsatisfied trait bounds\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: the following trait bounds were not satisfied:\n `client::Client: FromRow<'r, _>`\n\n"}
|
|
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src/client/mod.rs","byte_start":5680,"byte_end":5686,"line_start":178,"line_end":178,"column_start":12,"column_end":18,"is_primary":false,"text":[{"text":" if client.is_some() {","highlight_start":12,"highlight_end":18}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/client/mod.rs","byte_start":5607,"byte_end":5613,"line_start":176,"line_end":176,"column_start":13,"column_end":19,"is_primary":true,"text":[{"text":" let client = query.fetch_optional(&self.db_pool).await?;","highlight_start":13,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `client` an explicit type","code":null,"level":"help","spans":[{"file_name":"src/client/mod.rs","byte_start":5613,"byte_end":5613,"line_start":176,"line_end":176,"column_start":19,"column_end":19,"is_primary":true,"text":[{"text":" let client = query.fetch_optional(&self.db_pool).await?;","highlight_start":19,"highlight_end":19}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:176:13\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m176\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let client = query.fetch_optional(&self.db_pool).await?;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m^^^^^^\u001b[0m\n\u001b[1m\u001b[94m177\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \n\u001b[1m\u001b[94m178\u001b[0m \u001b[1m\u001b[94m|\u001b[0m if client.is_some() {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m------\u001b[0m \u001b[1m\u001b[94mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `client` an explicit type\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m176\u001b[0m \u001b[1m\u001b[94m| \u001b[0m let client\u001b[92m: /* Type */\u001b[0m = query.fetch_optional(&self.db_pool).await?;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src/client/mod.rs","byte_start":6834,"byte_end":6840,"line_start":219,"line_end":219,"column_start":23,"column_end":29,"is_primary":false,"text":[{"text":" let deleted = result.rows_affected() > 0;","highlight_start":23,"highlight_end":29}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/client/mod.rs","byte_start":6644,"byte_end":6650,"line_start":212,"line_end":212,"column_start":13,"column_end":19,"is_primary":true,"text":[{"text":" let result = sqlx::query!(","highlight_start":13,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `result` an explicit type","code":null,"level":"help","spans":[{"file_name":"src/client/mod.rs","byte_start":6650,"byte_end":6650,"line_start":212,"line_end":212,"column_start":19,"column_end":19,"is_primary":true,"text":[{"text":" let result = sqlx::query!(","highlight_start":19,"highlight_end":19}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:212:13\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m212\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let result = sqlx::query!(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m^^^^^^\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m219\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let deleted = result.rows_affected() > 0;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m------\u001b[0m \u001b[1m\u001b[94mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `result` an explicit type\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m212\u001b[0m \u001b[1m\u001b[94m| \u001b[0m let result\u001b[92m: /* Type */\u001b[0m = sqlx::query!(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = Vec::new();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nIn the example above, type `Vec` has a type parameter `T`. When calling\n`Vec::new`, barring any other later usage of the variable `x` that allows the\ncompiler to infer what type `T` is, the compiler needs to be told what it is.\n\nThe type can be specified on the variable:\n\n```\nlet x: Vec<i32> = Vec::new();\n```\n\nThe type can also be specified in the path of the expression:\n\n```\nlet x = Vec::<i32>::new();\n```\n\nIn cases with more complex types, it is not necessary to annotate the full\ntype. Once the ambiguity is resolved, the compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"src/client/mod.rs","byte_start":8166,"byte_end":8171,"line_start":270,"line_end":270,"column_start":12,"column_end":17,"is_primary":false,"text":[{"text":" Ok(stats.map(|s| (s.total_requests, s.total_tokens, s.total_cost)))","highlight_start":12,"highlight_end":17}],"label":"type must be known at this point","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/client/mod.rs","byte_start":7887,"byte_end":7892,"line_start":259,"line_end":259,"column_start":13,"column_end":18,"is_primary":true,"text":[{"text":" let stats = sqlx::query!(","highlight_start":13,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider giving `stats` an explicit type","code":null,"level":"help","spans":[{"file_name":"src/client/mod.rs","byte_start":7892,"byte_end":7892,"line_start":259,"line_end":259,"column_start":18,"column_end":18,"is_primary":true,"text":[{"text":" let stats = sqlx::query!(","highlight_start":18,"highlight_end":18}],"label":null,"suggested_replacement":": /* Type */","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0282]\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/client/mod.rs:259:13\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m259\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let stats = sqlx::query!(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m^^^^^\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m270\u001b[0m \u001b[1m\u001b[94m|\u001b[0m Ok(stats.map(|s| (s.total_requests, s.total_tokens, s.total_cost)))\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-----\u001b[0m \u001b[1m\u001b[94mtype must be known at this point\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider giving `stats` an explicit type\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m259\u001b[0m \u001b[1m\u001b[94m| \u001b[0m let stats\u001b[92m: /* Type */\u001b[0m = sqlx::query!(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[92m++++++++++++\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/openai.rs","byte_start":4023,"byte_end":4042,"line_start":100,"line_end":100,"column_start":29,"column_end":48,"is_primary":true,"text":[{"text":" function_call: None,","highlight_start":29,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(deprecated)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/openai.rs:100:29\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m100\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m...\u001b[0m function_call: None,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `#[warn(deprecated)]` on by default\n\n"}
|
|
{"$message_type":"diagnostic","message":"use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/openai.rs","byte_start":9062,"byte_end":9081,"line_start":222,"line_end":222,"column_start":29,"column_end":48,"is_primary":true,"text":[{"text":" function_call: None,","highlight_start":29,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/openai.rs:222:29\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m222\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m...\u001b[0m function_call: None,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/deepseek.rs","byte_start":3739,"byte_end":3758,"line_start":93,"line_end":93,"column_start":29,"column_end":48,"is_primary":true,"text":[{"text":" function_call: None,","highlight_start":29,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/deepseek.rs:93:29\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m93\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m...\u001b[0m function_call: None,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/deepseek.rs","byte_start":8801,"byte_end":8820,"line_start":215,"line_end":215,"column_start":29,"column_end":48,"is_primary":true,"text":[{"text":" function_call: None,","highlight_start":29,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/deepseek.rs:215:29\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m215\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m...\u001b[0m function_call: None,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"unused variable: `request`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/gemini.rs","byte_start":6571,"byte_end":6578,"line_start":216,"line_end":216,"column_start":9,"column_end":16,"is_primary":true,"text":[{"text":" request: UnifiedRequest,","highlight_start":9,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/providers/gemini.rs","byte_start":6571,"byte_end":6578,"line_start":216,"line_end":216,"column_start":9,"column_end":16,"is_primary":true,"text":[{"text":" request: UnifiedRequest,","highlight_start":9,"highlight_end":16}],"label":null,"suggested_replacement":"_request","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `request`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/gemini.rs:216:9\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m216\u001b[0m \u001b[1m\u001b[94m|\u001b[0m request: UnifiedRequest,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_request`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default\n\n"}
|
|
{"$message_type":"diagnostic","message":"unused variable: `client_refill_rate`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/rate_limiting/mod.rs","byte_start":7112,"byte_end":7130,"line_start":222,"line_end":222,"column_start":13,"column_end":31,"is_primary":true,"text":[{"text":" let client_refill_rate = config.requests_per_minute as f64 / 60.0;","highlight_start":13,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/rate_limiting/mod.rs","byte_start":7112,"byte_end":7130,"line_start":222,"line_end":222,"column_start":13,"column_end":31,"is_primary":true,"text":[{"text":" let client_refill_rate = config.requests_per_minute as f64 / 60.0;","highlight_start":13,"highlight_end":31}],"label":null,"suggested_replacement":"_client_refill_rate","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `client_refill_rate`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/rate_limiting/mod.rs:222:13\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m222\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let client_refill_rate = config.requests_per_minute as f64 / 60.0;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_client_refill_rate`\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"aborting due to 13 previous errors; 7 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: aborting due to 13 previous errors; 7 warnings emitted\u001b[0m\n\n"}
|
|
{"$message_type":"diagnostic","message":"Some errors have detailed explanations: E0277, E0282, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1mSome errors have detailed explanations: E0277, E0282, E0599.\u001b[0m\n"}
|
|
{"$message_type":"diagnostic","message":"For more information about an error, try `rustc --explain E0277`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1mFor more information about an error, try `rustc --explain E0277`.\u001b[0m\n"}
|