diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs index b4c73479d59e2e70c72b2e159daa141ddd0ea0f9..574a324b0d3488937c1d8cfdfd22733713ea1343 100644 --- a/openssl/src/ssl/mod.rs +++ b/openssl/src/ssl/mod.rs @@ -569,7 +569,8 @@ impl SslContext { pub fn set_servername_callback(&mut self, callback: Option) { unsafe { ffi::SSL_CTX_set_ex_data(self.ctx, SNI_IDX, mem::transmute(callback)); - let f: extern "C" fn() = mem::transmute(raw_sni); + let f: extern "C" fn(_, _, _) -> _ = raw_sni; + let f: extern "C" fn() = mem::transmute(f); ffi_extras::SSL_CTX_set_tlsext_servername_callback(self.ctx, Some(f)); } } @@ -586,7 +587,8 @@ impl SslContext { ffi::SSL_CTX_set_ex_data(self.ctx, SNI_IDX, mem::transmute(Some(callback))); ffi_extras::SSL_CTX_set_tlsext_servername_arg(self.ctx, mem::transmute(data)); - let f: extern "C" fn() = mem::transmute(raw_sni_with_data::); + let f: extern "C" fn(_, _, _) -> _ = raw_sni_with_data::; + let f: extern "C" fn() = mem::transmute(f); ffi_extras::SSL_CTX_set_tlsext_servername_callback(self.ctx, Some(f)); } }