SYMBOL INDEX (395 symbols across 66 files) FILE: backend/migrations/20210316025847_setup.up.sql type mq_msgs (line 31) | CREATE TABLE mq_msgs ( function mq_uuid_exists (line 47) | CREATE FUNCTION mq_uuid_exists( type mq_msgs (line 54) | CREATE INDEX ON mq_msgs(channel_name, channel_args, attempt_at) WHERE id... type mq_msgs (line 56) | CREATE INDEX ON mq_msgs(channel_name, channel_args, created_at, id) WHER... type mq_msgs_channel_name_channel_args_after_message_id_idx (line 59) | CREATE UNIQUE INDEX mq_msgs_channel_name_channel_args_after_message_id_i... type mq_payloads (line 63) | CREATE TABLE mq_payloads( function mq_latest_message (line 71) | CREATE FUNCTION mq_latest_message(from_channel_name TEXT, from_channel_a... function mq_active_channels (line 88) | CREATE FUNCTION mq_active_channels(channel_names TEXT[], batch_size INT) function mq_poll (line 102) | CREATE FUNCTION mq_poll(channel_names TEXT[], batch_size INT DEFAULT 1) function mq_commit (line 216) | CREATE FUNCTION mq_commit(msg_ids UUID[]) function mq_delete (line 231) | CREATE FUNCTION mq_delete(msg_ids UUID[]) function mq_keep_alive (line 254) | CREATE FUNCTION mq_keep_alive(msg_ids UUID[], duration INTERVAL) function mq_checkpoint (line 268) | CREATE FUNCTION mq_checkpoint( FILE: backend/migrations/20210921115907_clear.up.sql function mq_clear (line 2) | CREATE FUNCTION mq_clear(channel_names TEXT[]) function mq_clear_all (line 13) | CREATE FUNCTION mq_clear_all() FILE: backend/migrations/20211013151757_fix_mq_latest_message.down.sql function mq_latest_message (line 1) | CREATE OR REPLACE FUNCTION mq_latest_message(from_channel_name TEXT, fro... FILE: backend/migrations/20211013151757_fix_mq_latest_message.up.sql function mq_latest_message (line 1) | CREATE OR REPLACE FUNCTION mq_latest_message(from_channel_name TEXT, fro... FILE: backend/migrations/20220117025847_email_data.up.sql type bulk_jobs (line 1) | CREATE TABLE bulk_jobs ( type email_results (line 6) | CREATE TABLE email_results ( type job_emails (line 12) | CREATE INDEX job_emails ON email_results USING HASH (job_id) FILE: backend/migrations/20220208120856_fix_concurrent_poll.up.sql function mq_poll (line 3) | CREATE OR REPLACE FUNCTION mq_poll(channel_names TEXT[], batch_size INT ... FILE: backend/migrations/20220713122907_fix-clear_all-keep-nil-message.up.sql function mq_clear (line 1) | CREATE OR REPLACE FUNCTION mq_clear(channel_names TEXT[]) function mq_clear_all (line 17) | CREATE OR REPLACE FUNCTION mq_clear_all() FILE: backend/migrations/20240929230957_v1_worker_results.up.sql type v1_bulk_job (line 1) | CREATE TABLE v1_bulk_job ( type v1_task_result (line 7) | CREATE TABLE v1_task_result ( type idx_v1_task_result_job_id (line 17) | CREATE INDEX idx_v1_task_result_job_id ON v1_task_result (job_id) FILE: backend/src/bin/prune_db.rs function main (line 6) | async fn main() -> Result<()> { FILE: backend/src/config.rs type BackendConfig (line 38) | pub struct BackendConfig { method empty (line 95) | pub fn empty() -> Self { method get_verif_method (line 121) | pub fn get_verif_method(&self) -> VerifMethod { method must_worker_config (line 176) | pub fn must_worker_config(&self) -> Result Result<(), anyhow::Error> { method get_storage_adapter (line 223) | pub fn get_storage_adapter(&self) -> Arc { method get_pg_pool (line 228) | pub fn get_pg_pool(&self) -> Option { method get_throttle_manager (line 235) | pub fn get_throttle_manager(&self) -> Arc { type OverridesConfig (line 241) | pub struct OverridesConfig { type WorkerConfig (line 252) | pub struct WorkerConfig { type MustWorkerConfig (line 262) | pub struct MustWorkerConfig { type RabbitMQConfig (line 269) | pub struct RabbitMQConfig { type ThrottleConfig (line 276) | pub struct ThrottleConfig { method new_without_throttle (line 285) | pub fn new_without_throttle() -> Self { type StorageConfig (line 297) | pub enum StorageConfig { type PostgresConfig (line 306) | pub struct PostgresConfig { type CommercialLicenseTrialConfig (line 312) | pub struct CommercialLicenseTrialConfig { function load_config (line 319) | pub async fn load_config() -> Result { function test_proxies (line 357) | async fn test_proxies() { function test_default_proxy (line 378) | async fn test_default_proxy() { function test_deserialize_verif_method (line 406) | fn test_deserialize_verif_method() { function test_env_vars (line 521) | async fn test_env_vars() { function test_serialize_storage_config (line 536) | async fn test_serialize_storage_config() { FILE: backend/src/http/error.rs type DisplayDebug (line 27) | pub trait DisplayDebug: fmt::Display + Debug + Sync + Send {} type ReacherResponseError (line 32) | pub struct ReacherResponseError { method fmt (line 51) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method new (line 57) | pub fn new(code: StatusCode, error: T) -> S... method from (line 66) | fn from(e: CheckEmailInputBuilderError) -> Self { method from (line 75) | fn from(e: serde_json::Error) -> Self { method from (line 81) | fn from(e: lapin::Error) -> Self { method from (line 87) | fn from(e: sqlx::Error) -> Self { method from (line 93) | fn from(e: csv::Error) -> Self { method from (line 99) | fn from(e: csv::IntoInnerError>>) -> Self { method from (line 105) | fn from(e: warp::http::status::InvalidStatusCode) -> Self { method from (line 111) | fn from(e: anyhow::Error) -> Self { method from (line 117) | fn from(e: StorageError) -> Self { method from (line 123) | fn from(e: reqwest::Error) -> Self { method serialize (line 40) | fn serialize(&self, serializer: S) -> Result function handle_rejection (line 137) | pub async fn handle_rejection(err: warp::Rejection) -> Result) -> warp::filters::BoxedF... FILE: backend/src/http/v0/bulk/db.rs function with_db (line 22) | pub fn with_db( FILE: backend/src/http/v0/bulk/error.rs type CsvError (line 20) | pub enum CsvError { type BulkError (line 28) | pub enum BulkError { method from (line 41) | fn from(e: sqlx::Error) -> Self { FILE: backend/src/http/v0/bulk/get.rs type ValidStatus (line 32) | enum ValidStatus { type JobRecord (line 44) | struct JobRecord { type JobStatusSummary (line 52) | struct JobStatusSummary { type JobStatusResponseBody (line 61) | struct JobStatusResponseBody { function job_status (line 71) | async fn job_status( function get_bulk_job_status (line 162) | pub fn get_bulk_job_status( FILE: backend/src/http/v0/bulk/mod.rs function create_job_registry (line 34) | pub async fn create_job_registry(pool: &Pool) -> Result Self::IntoIter { type Item (line 61) | type Item = TaskInput; method next (line 63) | fn next(&mut self) -> Option { type CreateBulkResponseBody (line 84) | struct CreateBulkResponseBody { function create_bulk_request (line 89) | async fn create_bulk_request( function create_bulk_job (line 135) | pub fn create_bulk_job( FILE: backend/src/http/v0/bulk/results/csv_helper.rs type CsvWrapper (line 23) | pub struct CsvWrapper(pub serde_json::Value); type JobResultCsvResponse (line 28) | pub struct JobResultCsvResponse { type Error (line 62) | type Error = &'static str; method try_from (line 64) | fn try_from(value: CsvWrapper) -> Result { FILE: backend/src/http/v0/bulk/results/mod.rs type JobResultResponseFormat (line 39) | enum JobResultResponseFormat { type JobResultRequest (line 47) | struct JobResultRequest { type JobResultJsonResponse (line 54) | struct JobResultJsonResponse { function job_result (line 58) | async fn job_result( function job_result_as_iter (line 133) | async fn job_result_as_iter( function job_result_json (line 170) | async fn job_result_json( function job_result_csv (line 186) | async fn job_result_csv( function get_bulk_job_result (line 238) | pub fn get_bulk_job_result( FILE: backend/src/http/v0/bulk/task.rs type TaskInput (line 36) | pub struct TaskInput { type TaskInputIterator (line 45) | pub struct TaskInputIterator { type Item (line 51) | type Item = CheckEmailInput; type IntoIter (line 52) | type IntoIter = TaskInputIterator; method into_iter (line 54) | fn into_iter(self) -> Self::IntoIter { type Item (line 64) | type Item = CheckEmailInput; method next (line 66) | fn next(&mut self) -> Option { type TaskPayload (line 115) | struct TaskPayload { function submit_job (line 120) | pub async fn submit_job( function email_verification_task (line 167) | pub async fn email_verification_task( FILE: backend/src/http/v0/check_email/backwardcompat.rs type BackwardCompatYahooVerifMethod (line 17) | pub enum BackwardCompatYahooVerifMethod { method to_yahoo_verif_method (line 25) | pub fn to_yahoo_verif_method( type BackwardCompatHotmailB2CVerifMethod (line 55) | pub enum BackwardCompatHotmailB2CVerifMethod { method to_hotmailb2c_verif_method (line 62) | pub fn to_hotmailb2c_verif_method( FILE: backend/src/http/v0/check_email/post.rs type CheckEmailRequest (line 32) | pub struct CheckEmailRequest { method to_check_email_input (line 45) | pub fn to_check_email_input(&self, config: Arc) -> Chec... function http_handler (line 114) | async fn http_handler( function post_check_email (line 133) | pub fn post_check_email<'a>( function with_config (line 150) | pub fn with_config( FILE: backend/src/http/v1/bulk/get_progress.rs type ValidStatus (line 36) | enum ValidStatus { type JobRecord (line 48) | struct JobRecord { type ResponseSummary (line 56) | struct ResponseSummary { type Response (line 65) | struct Response { function http_handler (line 75) | async fn http_handler(job_id: i32, conn_pool: PgPool) -> Result Result { FILE: backend/src/http/v1/bulk/get_results/mod.rs type ResponseFormat (line 38) | enum ResponseFormat { type Request (line 46) | struct Request { type Response (line 53) | struct Response { function http_handler (line 57) | async fn http_handler( function job_result_as_iter (line 112) | async fn job_result_as_iter( function job_result_json (line 141) | async fn job_result_json( function job_result_csv (line 157) | async fn job_result_csv( function v1_get_bulk_job_results (line 179) | pub fn v1_get_bulk_job_results( FILE: backend/src/http/v1/bulk/mod.rs function with_worker_db (line 31) | pub fn with_worker_db( FILE: backend/src/http/v1/bulk/post.rs type Request (line 45) | struct Request { type Response (line 52) | struct Response { function http_handler (line 56) | async fn http_handler( function publish_task (line 123) | pub async fn publish_task( function v1_create_bulk_job (line 150) | pub fn v1_create_bulk_job( FILE: backend/src/http/v1/check_email/post.rs function handle_without_worker (line 40) | async fn handle_without_worker( function handle_with_worker (line 79) | async fn handle_with_worker( function http_handler (line 184) | async fn http_handler( function v1_check_email (line 224) | pub fn v1_check_email( FILE: backend/src/http/version/get.rs type EndpointVersion (line 25) | struct EndpointVersion { function get_version (line 30) | pub fn get_version() -> impl Filter Result<(), anyhow::Error> { FILE: backend/src/storage/commercial_license_trial.rs function send_to_reacher (line 27) | pub async fn send_to_reacher( FILE: backend/src/storage/error.rs type StorageError (line 20) | pub enum StorageError { FILE: backend/src/storage/mod.rs type StorageAdapter (line 28) | pub enum StorageAdapter { method store (line 35) | pub async fn store( method get_extra (line 47) | pub fn get_extra(&self) -> Option { FILE: backend/src/storage/postgres.rs type PostgresStorage (line 25) | pub struct PostgresStorage { method new (line 31) | pub async fn new(db_url: &str, extra: Option) -> Re... method store (line 45) | pub async fn store( method get_extra (line 99) | pub fn get_extra(&self) -> Option { FILE: backend/src/throttle.rs type ThrottleLimit (line 29) | pub enum ThrottleLimit { method fmt (line 37) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type ThrottleResult (line 51) | pub struct ThrottleResult { type Throttle (line 57) | struct Throttle { method new (line 85) | fn new() -> Self { method reset_if_needed (line 99) | fn reset_if_needed(&mut self) { method increment_counters (line 127) | fn increment_counters(&mut self) { method should_throttle (line 134) | fn should_throttle(&self, config: &ThrottleConfig) -> Option Self { type ThrottleManager (line 178) | pub struct ThrottleManager { method new (line 184) | pub fn new(config: ThrottleConfig) -> Self { method check_throttle (line 191) | pub async fn check_throttle(&self) -> Option { method increment_counters (line 197) | pub async fn increment_counters(&self) { function test_throttle_limits (line 208) | async fn test_throttle_limits() { FILE: backend/src/worker/consume.rs constant CHECK_EMAIL_QUEUE (line 30) | pub const CHECK_EMAIL_QUEUE: &str = "check_email"; constant MAX_QUEUE_PRIORITY (line 31) | pub const MAX_QUEUE_PRIORITY: u8 = 5; function setup_rabbit_mq (line 39) | pub async fn setup_rabbit_mq( function run_worker (line 88) | pub async fn run_worker(config: Arc) -> Result<(), anyhow... function consume_check_email (line 93) | async fn consume_check_email(config: Arc) -> Result<(), a... FILE: backend/src/worker/do_work.rs type CheckEmailTask (line 37) | pub struct CheckEmailTask { type CheckEmailJobId (line 45) | pub enum CheckEmailJobId { type TaskError (line 54) | pub enum TaskError { method status_code (line 71) | pub fn status_code(&self) -> StatusCode { method from (line 82) | fn from(err: lapin::Error) -> Self { method from (line 88) | fn from(err: reqwest::Error) -> Self { method serialize (line 94) | fn serialize(&self, serializer: S) -> Result type TaskWebhook (line 103) | pub struct TaskWebhook { type Webhook (line 108) | pub struct Webhook { type WebhookOutput (line 115) | struct WebhookOutput<'a> { function do_check_email_work (line 121) | pub(crate) async fn do_check_email_work( function check_email_and_send_result (line 179) | pub async fn check_email_and_send_result( FILE: backend/src/worker/single_shot.rs type SingleShotReply (line 34) | pub enum SingleShotReply { type Error (line 44) | type Error = serde_json::Error; method try_from (line 46) | fn try_from(result: &Result) -> Result Arc { function test_input_foo_bar (line 36) | async fn test_input_foo_bar() { function test_input_foo_bar_baz (line 50) | async fn test_input_foo_bar_baz() { function test_reacher_secret_missing_header (line 67) | async fn test_reacher_secret_missing_header() { function test_reacher_secret_wrong_secret (line 83) | async fn test_reacher_secret_wrong_secret() { function test_reacher_secret_correct_secret (line 100) | async fn test_reacher_secret_correct_secret() { function test_reacher_to_mail_empty (line 114) | async fn test_reacher_to_mail_empty() { FILE: cli/src/main.rs type Cli (line 26) | pub struct Cli { function main (line 74) | async fn main() -> Result<(), anyhow::Error> { FILE: core/src/haveibeenpwned.rs constant MAIN_API_URL (line 20) | const MAIN_API_URL: &str = "https://haveibeenpwned.com/api/v3/"; function check_haveibeenpwned (line 26) | pub async fn check_haveibeenpwned(to_email: &str, api_key: Option CheckEmailOutput { FILE: core/src/misc/gravatar.rs constant API_BASE_URL (line 20) | const API_BASE_URL: &str = "https://www.gravatar.com/avatar/"; function check_gravatar (line 22) | pub async fn check_gravatar(to_email: &str) -> Option { FILE: core/src/misc/mod.rs constant ROLE_ACCOUNTS (line 26) | const ROLE_ACCOUNTS: &str = include_str!("./roles.txt"); constant FREE_EMAIL_PROVIDERS (line 27) | const FREE_EMAIL_PROVIDERS: &str = include_str!("./b2c.txt"); function load_str_as_hashset (line 35) | fn load_str_as_hashset(file_content: &str) -> HashSet { type MiscDetails (line 44) | pub struct MiscDetails { type MiscError (line 63) | pub enum MiscError {} function check_misc (line 66) | pub async fn check_misc( function test_check_misc (line 108) | async fn test_check_misc() { FILE: core/src/mx/mod.rs type MxDetails (line 29) | pub struct MxDetails { method from (line 43) | fn from(lookup: MxLookup) -> Self { method default (line 35) | fn default() -> Self { method serialize (line 49) | fn serialize(&self, serializer: S) -> Result type MxError (line 74) | pub enum MxError { method from (line 86) | fn from(e: io::Error) -> Self { method from (line 92) | fn from(e: ResolveError) -> Self { function check_mx (line 98) | pub async fn check_mx(syntax: &SyntaxDetails) -> Result bool { function is_hotmail (line 135) | pub fn is_hotmail(mx_host: &str) -> bool { function is_hotmail_b2b (line 140) | pub fn is_hotmail_b2b(mx_host: &str) -> bool { function is_hotmail_b2c (line 145) | pub fn is_hotmail_b2c(mx_host: &str) -> bool { function is_mimecast (line 150) | pub fn is_mimecast(mx_host: &str) -> bool { function is_proofpoint (line 155) | pub fn is_proofpoint(mx_host: &str) -> bool { function is_yahoo (line 163) | pub fn is_yahoo(mx_host: &str) -> bool { FILE: core/src/rules.rs type Rule (line 28) | pub enum Rule { type RulesByDomain (line 36) | struct RulesByDomain { type AllRules (line 41) | struct AllRules { function does_domain_have_rule (line 54) | fn does_domain_have_rule(domain: &str, rule: &Rule) -> bool { function does_mx_have_rule (line 62) | fn does_mx_have_rule(host: &str, rule: &Rule) -> bool { function does_mx_suffix_have_rule (line 70) | fn does_mx_suffix_have_rule(host: &str, rule: &Rule) -> bool { function has_rule (line 81) | pub fn has_rule(domain: &str, host: &str, rule: &Rule) -> bool { function should_skip_catch_all (line 92) | fn should_skip_catch_all() { FILE: core/src/smtp/connect.rs type AsyncReadWrite (line 37) | trait AsyncReadWrite: AsyncRead + AsyncWrite + Unpin + Send {} function connect_to_smtp_host (line 61) | async fn connect_to_smtp_host( type Deliverability (line 139) | struct Deliverability { function check_email_deliverability (line 149) | async fn check_email_deliverability( function create_smtp_future (line 256) | async fn create_smtp_future( function check_smtp_without_retry (line 312) | async fn check_smtp_without_retry( function check_smtp_with_retry (line 344) | pub async fn check_smtp_with_retry( FILE: core/src/smtp/error.rs type SmtpError (line 31) | pub enum SmtpError { method from (line 68) | fn from(e: YahooError) -> Self { method from (line 74) | fn from(e: GmailError) -> Self { method from (line 80) | fn from(e: HeadlessError) -> Self { method from (line 86) | fn from(e: Microsoft365Error) -> Self { method from (line 92) | fn from(e: AsyncSmtpError) -> Self { method from (line 98) | fn from(e: std::io::Error) -> Self { method from (line 104) | fn from(e: fast_socks5::SocksError) -> Self { method from (line 110) | fn from(e: anyhow::Error) -> Self { method get_description (line 120) | pub fn get_description(&self) -> Option { type SmtpErrorDesc (line 139) | pub enum SmtpErrorDesc { FILE: core/src/smtp/gmail.rs constant GLXU_PAGE (line 28) | const GLXU_PAGE: &str = "https://mail.google.com/mail/gxlu"; type GmailError (line 32) | pub enum GmailError { method from (line 40) | fn from(error: ReqwestError) -> Self { function check_gmail_via_api (line 52) | pub async fn check_gmail_via_api( function should_return_is_deliverable_true (line 86) | async fn should_return_is_deliverable_true() { FILE: core/src/smtp/headless.rs type HeadlessError (line 27) | pub enum HeadlessError { function create_headless_client (line 39) | pub async fn create_headless_client( FILE: core/src/smtp/http_api.rs function create_client (line 21) | pub fn create_client( FILE: core/src/smtp/mod.rs type SmtpDebugVerifMethodSmtp (line 42) | pub struct SmtpDebugVerifMethodSmtp { type SmtpDebugVerifMethod (line 51) | pub enum SmtpDebugVerifMethod { type SmtpDetails (line 65) | pub struct SmtpDetails { type SmtpDebug (line 80) | pub struct SmtpDebug { function check_smtp (line 87) | pub async fn check_smtp( function should_timeout (line 199) | fn should_timeout() { FILE: core/src/smtp/outlook/headless.rs function check_password_recovery (line 34) | pub async fn check_password_recovery( function test_hotmail_address (line 140) | async fn test_hotmail_address() { function test_parallel (line 172) | async fn test_parallel() { FILE: core/src/smtp/outlook/microsoft365.rs type Microsoft365Error (line 28) | pub enum Microsoft365Error { method from (line 35) | fn from(error: ReqwestError) -> Self { function get_onedrive_url (line 42) | fn get_onedrive_url(email_address: &str) -> String { function check_microsoft365_api (line 69) | pub async fn check_microsoft365_api( function test_onedrive_url (line 103) | fn test_onedrive_url() { FILE: core/src/smtp/parser.rs function is_invalid (line 25) | pub fn is_invalid(e: &str, email: &EmailAddress) -> bool { function is_full_inbox (line 118) | pub fn is_full_inbox(e: &str) -> bool { function is_disabled_account (line 133) | pub fn is_disabled_account(e: &str) -> bool { function is_err_io_errors (line 143) | pub fn is_err_io_errors(e: &SmtpError) -> bool { function is_err_ip_blacklisted (line 151) | pub fn is_err_ip_blacklisted(e: &SmtpError) -> bool { function is_err_needs_rdns (line 221) | pub fn is_err_needs_rdns(e: &SmtpError) -> bool { function test_is_invalid (line 254) | fn test_is_invalid() { function test_is_err_ip_blacklisted (line 274) | fn test_is_err_ip_blacklisted() { FILE: core/src/smtp/verif_method.rs type VerifMethodError (line 30) | pub enum VerifMethodError { type EmailProvider (line 38) | pub enum EmailProvider { method from_mx_host (line 50) | pub fn from_mx_host(host: &str) -> Self { type ProxyID (line 69) | type ProxyID = String; constant DEFAULT_PROXY_ID (line 73) | pub const DEFAULT_PROXY_ID: &str = "default"; type VerifMethod (line 78) | pub struct VerifMethod { method new_with_same_config_for_all (line 102) | pub fn new_with_same_config_for_all( method validate_proxies (line 165) | pub fn validate_proxies(&self) -> Result<(), VerifMethodError> { method get_proxy (line 224) | pub fn get_proxy(&self, email_provider: EmailProvider) -> Option<&Chec... type GmailVerifMethod (line 276) | pub enum GmailVerifMethod { method default (line 281) | fn default() -> Self { type HotmailB2BVerifMethod (line 288) | pub enum HotmailB2BVerifMethod { method default (line 294) | fn default() -> Self { type HotmailB2CVerifMethod (line 301) | pub enum HotmailB2CVerifMethod { type MimecastVerifMethod (line 316) | pub enum MimecastVerifMethod { method default (line 322) | fn default() -> Self { type ProofpointVerifMethod (line 329) | pub enum ProofpointVerifMethod { method default (line 335) | fn default() -> Self { type YahooVerifMethod (line 342) | pub enum YahooVerifMethod { type EverythingElseVerifMethod (line 359) | pub enum EverythingElseVerifMethod { method default (line 365) | fn default() -> Self { type VerifMethodSmtpConfig (line 375) | pub struct VerifMethodSmtpConfig { method default (line 413) | fn default() -> Self { type VerifMethodSmtp (line 426) | pub struct VerifMethodSmtp { method new (line 432) | pub fn new(config: VerifMethodSmtpConfig, proxy: Option sentry::ClientInitGuard { type SentryError (line 47) | enum SentryError<'a> { function get_exception_type (line 58) | fn get_exception_type(&self) -> String { function error (line 69) | fn error(err: SentryError, result: &CheckEmailOutput, backend_name: &str) { function redact (line 95) | fn redact(input: &str, username: &str) -> String { function skip_smtp_transient_errors (line 100) | fn skip_smtp_transient_errors(message: &[String]) -> bool { function log_unknown_errors (line 111) | pub fn log_unknown_errors(result: &CheckEmailOutput, backend_name: &str) { function test_redact (line 154) | fn test_redact() { FILE: core/src/util/ser_with_display.rs function ser_with_display (line 22) | pub fn ser_with_display(value: &T, serializer: S) -> Result) -> ... function main (line 68) | async fn main() -> Result<(), Error> { function handler (line 91) | async fn handler(event: LambdaEvent) -> Result Result<(), Error> {