Skip to content

Commit f7681f9

Browse files
committed
Accept Copy, Send, Const, Owned, as kind bounds
1 parent e7fe903 commit f7681f9

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/libsyntax/parse/parser.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2262,6 +2262,30 @@ struct parser {
22622262
push(bounds, bound_const);
22632263
} else if self.eat_keyword(~"owned") {
22642264
push(bounds, bound_owned);
2265+
} else if is_ident(self.token) {
2266+
// XXX: temporary until kinds become traits
2267+
let maybe_bound = match self.token {
2268+
token::IDENT(sid, _) => {
2269+
match *self.id_to_str(sid) {
2270+
~"Send" => Some(bound_send),
2271+
~"Copy" => Some(bound_copy),
2272+
~"Const" => Some(bound_const),
2273+
~"Owned" => Some(bound_owned),
2274+
_ => None
2275+
}
2276+
}
2277+
_ => fail
2278+
};
2279+
2280+
match maybe_bound {
2281+
Some(bound) => {
2282+
self.bump();
2283+
push(bounds, bound);
2284+
}
2285+
None => {
2286+
push(bounds, bound_trait(self.parse_ty(false)));
2287+
}
2288+
}
22652289
} else {
22662290
push(bounds, bound_trait(self.parse_ty(false)));
22672291
}

0 commit comments

Comments
 (0)