/
germanubis
/
rust-postgres
Обзор
Документация
Войти
/
germanubis
/
rust-postgres
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
postgres-derive-test/src/lib.rs
57 строк
1 KB
Paolo Barbolini
style: fix latest clippy warnings
20 сен 2025, 09:46
20 сен 2025, 09:46
e2cc7be
Код
Авторство
О чём код?
#![cfg(test)] use postgres::Client; use postgres_types::{FromSqlOwned, ToSql}; use std::fmt; mod composites; mod domains; mod enums; mod transparent; pub fn test_type<T, S>(conn: &mut Client, sql_type: &str, checks: &[(T, S)]) where T: PartialEq + FromSqlOwned + ToSql + Sync, S: fmt::Display, { for (val, repr) in checks.iter() { let stmt = conn .prepare(&format!("SELECT {}::{}", *repr, sql_type)) .unwrap(); let result = conn.query_one(&stmt, &[]).unwrap().get(0); assert_eq!(val, &result); let stmt = conn.prepare(&format!("SELECT $1::{sql_type}")).unwrap(); let result = conn.query_one(&stmt, &[val]).unwrap().get(0); assert_eq!(val, &result); } } pub fn test_type_asymmetric<T, F, S, C>( conn: &mut Client, sql_type: &str, checks: &[(T, S)], cmp: C, ) where T: ToSql + Sync, F: FromSqlOwned, S: fmt::Display, C: Fn(&T, &F) -> bool, { for (val, repr) in checks.iter() { let stmt = conn .prepare(&format!("SELECT {}::{}", *repr, sql_type)) .unwrap(); let result: F = conn.query_one(&stmt, &[]).unwrap().get(0); assert!(cmp(val, &result)); let stmt = conn.prepare(&format!("SELECT $1::{sql_type}")).unwrap(); let result: F = conn.query_one(&stmt, &[val]).unwrap().get(0); assert!(cmp(val, &result)); } } #[test] fn compile_fail() { trybuild::TestCases::new().compile_fail("src/compile-fail/*.rs"); }