arc.rs |
Implement a Fallible Arc |
2110 |
boxed.rs |
Implement Fallible Box |
4169 |
btree |
|
|
btree.rs |
Implement Fallible Btree, As there is no try_reserve methods on btree, I add no choice but to fork the std implementation and change return types.
Currently this functionality is only available when building this crate with nightly and the `unstable` feature. |
645 |
format.rs |
A try_format! macro replacing format! |
1530 |
hashmap.rs |
Implement Fallible HashMap |
3420 |
lib.rs |
impl Fallible collections on allocation errors, quite as describe
in [RFC 2116](https://github.com/rust-lang/rfcs/blob/master/text/2116-alloc-me-maybe.md)
This was used in the turbofish OS hobby project to mitigate the
the lack of faillible allocation in rust.
The `Try*` types in this module are thin wrappers around the stdlib types to add
support for fallible allocation. The API differences from the stdlib types ensure
that all operations which allocate return a `Result`. For the most part, this simply
means adding a `Result` return value to functions which return nothing or a
non-`Result` value. However, these types implement some traits whose API cannot
communicate failure, but which do require allocation, so it is important that these
wrapper types do not implement these traits.
Specifically, these types must not implement any of the following traits:
- Clone
- Extend
- From
- FromIterator
This list may not be exhaustive. Exercise caution when implementing
any new traits to ensure they won't potentially allocate in a way that
can't return a Result to indicate allocation failure. |
3454 |
rc.rs |
Implement a Fallible Rc |
831 |
try_clone.rs |
this module implements try clone for primitive rust types |
934 |
try_reserve_error.rs |
|
758 |
vec.rs |
Implement Fallible Vec |
28714 |