For various reasons I like calling regular methods as if they were static, e.g., not using the dot notation. (For example, Vec::len( &v ) instead of v.len().) I can always do this with my own methods; however, with some methods that belong to the standard library I cannot do it for some reason. For example, Vec::binary_search( &v, &t ) does not compile ("no function or associated item named binary_search found for struct std::vec::Vec<_> in the current scope"), even when v.binary_search( &t ) does. Why is that?