Generalize object and type parameter bounds

An RFC summarizing type system changes that close up rust-lang/rust#5723 and related bugs.
On Thu, Aug 07, 2014 at 01:05:47AM -0700, Nick Cameron wrote:
> I would have thought that the lifetime restriction given by the type
> `&'a T` (i.e., that 'a must outlive T) is so fundamental to Rust
> that it is always safe to infer, even from type definitions.

There is a good case to be made that we should infer these, yes.
There is also a good case to be made that we should provide some
default behavior so that people can write `Box<Object>` and `&'a
Object` in type definitions and get `Box<Object+'static>` and `&'a
Object+'a`. These two things are potentially in conflict. Therefore, I
listed them both in the unresolved questions section. I will add a
note also to describe why I see them as potentially in conflict.