use std::fmt;
use std::sync::Arc;
use api::protocol::{Context, User, Value};
use client::noop::Client;
#[derive(Debug, Clone)]
pub struct Scope;
pub fn with_client_and_scope<F, R>(f: F) -> R
where
F: FnOnce(Arc<Client>, &Scope) -> R,
R: Default,
{
let _f = f;
Default::default()
}
#[derive(Default)]
pub struct ScopeGuard;
impl fmt::Debug for ScopeGuard {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "ScopeGuard")
}
}
#[inline(always)]
pub fn push_scope() -> ScopeGuard {
ScopeGuard
}
pub fn current_client() -> Option<Arc<Client>> {
None
}
pub fn bind_client(client: Arc<Client>) {
let _client = client;
shim_unreachable!();
}
pub fn unbind_client() {}
impl Scope {
pub fn clear(&mut self) {
shim_unreachable!();
}
pub fn set_fingerprint(&mut self, fingerprint: Option<&[&str]>) {
let _fingerprint = fingerprint;
shim_unreachable!();
}
pub fn set_transaction(&mut self, transaction: Option<&str>) {
let _transaction = transaction;
shim_unreachable!();
}
pub fn set_user(&mut self, user: Option<User>) {
let _user = user;
shim_unreachable!();
}
pub fn set_tag<V: ToString>(&mut self, key: &str, value: V) {
let _key = key;
let _value = value;
shim_unreachable!();
}
pub fn remove_tag(&mut self, key: &str) {
let _key = key;
shim_unreachable!();
}
pub fn set_context<C: Into<Context>>(&mut self, key: &str, value: C) {
let _key = key;
let _value = value;
shim_unreachable!();
}
pub fn remove_context(&mut self, key: &str) {
let _key = key;
shim_unreachable!();
}
pub fn set_extra(&mut self, key: &str, value: Value) {
let _key = key;
let _value = value;
shim_unreachable!();
}
pub fn remove_extra(&mut self, key: &str) {
let _key = key;
shim_unreachable!();
}
}
#[allow(unused)]
pub(crate) fn scope_panic_safe() -> bool {
true
}