pub fn weak_count(&self) -> usize {
        self.inner()
            .map(|inner| {
                if inner.strong() > 0 {
                    inner.weak() - 1 // subtract the implicit weak ptr
                } else {
                    0
                }
            })
            .unwrap_or(0)
    }
Drops the `Weak` pointer.

# Examples

```
use std::rc::{Rc, Weak};

struct Foo;

impl Drop for Foo {
fn drop(&mut self) {
println!("dropped!");
}
}

let foo = Rc::new(Foo);
let weak_foo = Rc::do
benchmarks/haystacks/code/rust-library.rs