My current patch only accepts a single bound (i.e 'a : 'b), we should fully generalize this to accept multiple liftetime bounds like 'a : 'b + 'c. This should be a very easy change, at a high level:
- modify the parser to invoke
self.parse_lifetimes(token::BinOp(token::Plus)) instead of self.parse_lifetime()
- modify the
WhereRegionPredicate type to accept a list of bounds instead of a single one
- loop over the bounds creating a RegionOutlives constraint for each