Skip to content

Commit 85fb3b6

Browse files
committed
Auto merge of #30526 - Ms2ger:PathParameters, r=brson
2 parents 176ee34 + 2359ab0 commit 85fb3b6

File tree

8 files changed

+36
-35
lines changed

8 files changed

+36
-35
lines changed

src/librustc_front/lowering.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,9 +319,9 @@ pub fn lower_path_parameters(lctx: &LoweringContext,
319319
path_parameters: &PathParameters)
320320
-> hir::PathParameters {
321321
match *path_parameters {
322-
AngleBracketedParameters(ref data) =>
322+
PathParameters::AngleBracketed(ref data) =>
323323
hir::AngleBracketedParameters(lower_angle_bracketed_parameter_data(lctx, data)),
324-
ParenthesizedParameters(ref data) =>
324+
PathParameters::Parenthesized(ref data) =>
325325
hir::ParenthesizedParameters(lower_parenthesized_parameter_data(lctx, data)),
326326
}
327327
}

src/libsyntax/ast.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -250,14 +250,14 @@ pub struct PathSegment {
250250
#[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug)]
251251
pub enum PathParameters {
252252
/// The `<'a, A,B,C>` in `foo::bar::baz::<'a, A,B,C>`
253-
AngleBracketedParameters(AngleBracketedParameterData),
253+
AngleBracketed(AngleBracketedParameterData),
254254
/// The `(A,B)` and `C` in `Foo(A,B) -> C`
255-
ParenthesizedParameters(ParenthesizedParameterData),
255+
Parenthesized(ParenthesizedParameterData),
256256
}
257257

258258
impl PathParameters {
259259
pub fn none() -> PathParameters {
260-
AngleBracketedParameters(AngleBracketedParameterData {
260+
PathParameters::AngleBracketed(AngleBracketedParameterData {
261261
lifetimes: Vec::new(),
262262
types: P::empty(),
263263
bindings: P::empty(),
@@ -266,36 +266,36 @@ impl PathParameters {
266266

267267
pub fn is_empty(&self) -> bool {
268268
match *self {
269-
AngleBracketedParameters(ref data) => data.is_empty(),
269+
PathParameters::AngleBracketed(ref data) => data.is_empty(),
270270

271271
// Even if the user supplied no types, something like
272272
// `X()` is equivalent to `X<(),()>`.
273-
ParenthesizedParameters(..) => false,
273+
PathParameters::Parenthesized(..) => false,
274274
}
275275
}
276276

277277
pub fn has_lifetimes(&self) -> bool {
278278
match *self {
279-
AngleBracketedParameters(ref data) => !data.lifetimes.is_empty(),
280-
ParenthesizedParameters(_) => false,
279+
PathParameters::AngleBracketed(ref data) => !data.lifetimes.is_empty(),
280+
PathParameters::Parenthesized(_) => false,
281281
}
282282
}
283283

284284
pub fn has_types(&self) -> bool {
285285
match *self {
286-
AngleBracketedParameters(ref data) => !data.types.is_empty(),
287-
ParenthesizedParameters(..) => true,
286+
PathParameters::AngleBracketed(ref data) => !data.types.is_empty(),
287+
PathParameters::Parenthesized(..) => true,
288288
}
289289
}
290290

291291
/// Returns the types that the user wrote. Note that these do not necessarily map to the type
292292
/// parameters in the parenthesized case.
293293
pub fn types(&self) -> Vec<&P<Ty>> {
294294
match *self {
295-
AngleBracketedParameters(ref data) => {
295+
PathParameters::AngleBracketed(ref data) => {
296296
data.types.iter().collect()
297297
}
298-
ParenthesizedParameters(ref data) => {
298+
PathParameters::Parenthesized(ref data) => {
299299
data.inputs.iter()
300300
.chain(data.output.iter())
301301
.collect()
@@ -305,21 +305,21 @@ impl PathParameters {
305305

306306
pub fn lifetimes(&self) -> Vec<&Lifetime> {
307307
match *self {
308-
AngleBracketedParameters(ref data) => {
308+
PathParameters::AngleBracketed(ref data) => {
309309
data.lifetimes.iter().collect()
310310
}
311-
ParenthesizedParameters(_) => {
311+
PathParameters::Parenthesized(_) => {
312312
Vec::new()
313313
}
314314
}
315315
}
316316

317317
pub fn bindings(&self) -> Vec<&P<TypeBinding>> {
318318
match *self {
319-
AngleBracketedParameters(ref data) => {
319+
PathParameters::AngleBracketed(ref data) => {
320320
data.bindings.iter().collect()
321321
}
322-
ParenthesizedParameters(_) => {
322+
PathParameters::Parenthesized(_) => {
323323
Vec::new()
324324
}
325325
}

src/libsyntax/ast_util.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ pub fn ident_to_path(s: Span, identifier: Ident) -> Path {
4040
segments: vec!(
4141
ast::PathSegment {
4242
identifier: identifier,
43-
parameters: ast::AngleBracketedParameters(ast::AngleBracketedParameterData {
43+
parameters: ast::PathParameters::AngleBracketed(ast::AngleBracketedParameterData {
4444
lifetimes: Vec::new(),
4545
types: P::empty(),
4646
bindings: P::empty(),

src/libsyntax/ext/build.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ impl<'a> AstBuilder for ExtCtxt<'a> {
328328
}).collect();
329329
segments.push(ast::PathSegment {
330330
identifier: last_identifier,
331-
parameters: ast::AngleBracketedParameters(ast::AngleBracketedParameterData {
331+
parameters: ast::PathParameters::AngleBracketed(ast::AngleBracketedParameterData {
332332
lifetimes: lifetimes,
333333
types: P::from_vec(types),
334334
bindings: P::from_vec(bindings),
@@ -366,7 +366,7 @@ impl<'a> AstBuilder for ExtCtxt<'a> {
366366
let mut path = trait_path;
367367
path.segments.push(ast::PathSegment {
368368
identifier: ident,
369-
parameters: ast::AngleBracketedParameters(ast::AngleBracketedParameterData {
369+
parameters: ast::PathParameters::AngleBracketed(ast::AngleBracketedParameterData {
370370
lifetimes: lifetimes,
371371
types: P::from_vec(types),
372372
bindings: P::from_vec(bindings),

src/libsyntax/fold.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -469,10 +469,10 @@ pub fn noop_fold_path_parameters<T: Folder>(path_parameters: PathParameters, fld
469469
-> PathParameters
470470
{
471471
match path_parameters {
472-
AngleBracketedParameters(data) =>
473-
AngleBracketedParameters(fld.fold_angle_bracketed_parameter_data(data)),
474-
ParenthesizedParameters(data) =>
475-
ParenthesizedParameters(fld.fold_parenthesized_parameter_data(data)),
472+
PathParameters::AngleBracketed(data) =>
473+
PathParameters::AngleBracketed(fld.fold_angle_bracketed_parameter_data(data)),
474+
PathParameters::Parenthesized(data) =>
475+
PathParameters::Parenthesized(fld.fold_parenthesized_parameter_data(data)),
476476
}
477477
}
478478

src/libsyntax/parse/parser.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1697,7 +1697,7 @@ impl<'a> Parser<'a> {
16971697
let parameters = if try!(self.eat_lt() ){
16981698
let (lifetimes, types, bindings) = try!(self.parse_generic_values_after_lt());
16991699

1700-
ast::AngleBracketedParameters(ast::AngleBracketedParameterData {
1700+
ast::PathParameters::AngleBracketed(ast::AngleBracketedParameterData {
17011701
lifetimes: lifetimes,
17021702
types: P::from_vec(types),
17031703
bindings: P::from_vec(bindings),
@@ -1718,7 +1718,7 @@ impl<'a> Parser<'a> {
17181718

17191719
let hi = self.last_span.hi;
17201720

1721-
ast::ParenthesizedParameters(ast::ParenthesizedParameterData {
1721+
ast::PathParameters::Parenthesized(ast::ParenthesizedParameterData {
17221722
span: mk_sp(lo, hi),
17231723
inputs: inputs,
17241724
output: output_ty,
@@ -1759,13 +1759,14 @@ impl<'a> Parser<'a> {
17591759
if try!(self.eat_lt() ){
17601760
// Consumed `a::b::<`, go look for types
17611761
let (lifetimes, types, bindings) = try!(self.parse_generic_values_after_lt());
1762+
let parameters = ast::AngleBracketedParameterData {
1763+
lifetimes: lifetimes,
1764+
types: P::from_vec(types),
1765+
bindings: P::from_vec(bindings),
1766+
};
17621767
segments.push(ast::PathSegment {
17631768
identifier: identifier,
1764-
parameters: ast::AngleBracketedParameters(ast::AngleBracketedParameterData {
1765-
lifetimes: lifetimes,
1766-
types: P::from_vec(types),
1767-
bindings: P::from_vec(bindings),
1768-
}),
1769+
parameters: ast::PathParameters::AngleBracketed(parameters),
17691770
});
17701771

17711772
// Consumed `a::b::<T,U>`, check for `::` before proceeding

src/libsyntax/print/pprust.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2403,7 +2403,7 @@ impl<'a> State<'a> {
24032403
}
24042404

24052405
match *parameters {
2406-
ast::AngleBracketedParameters(ref data) => {
2406+
ast::PathParameters::AngleBracketed(ref data) => {
24072407
try!(word(&mut self.s, "<"));
24082408

24092409
let mut comma = false;
@@ -2440,7 +2440,7 @@ impl<'a> State<'a> {
24402440
try!(word(&mut self.s, ">"))
24412441
}
24422442

2443-
ast::ParenthesizedParameters(ref data) => {
2443+
ast::PathParameters::Parenthesized(ref data) => {
24442444
try!(word(&mut self.s, "("));
24452445
try!(self.commasep(
24462446
Inconsistent,

src/libsyntax/visit.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -399,12 +399,12 @@ pub fn walk_path_parameters<'v, V: Visitor<'v>>(visitor: &mut V,
399399
_path_span: Span,
400400
path_parameters: &'v PathParameters) {
401401
match *path_parameters {
402-
AngleBracketedParameters(ref data) => {
402+
PathParameters::AngleBracketed(ref data) => {
403403
walk_list!(visitor, visit_ty, &data.types);
404404
walk_list!(visitor, visit_lifetime, &data.lifetimes);
405405
walk_list!(visitor, visit_assoc_type_binding, &data.bindings);
406406
}
407-
ParenthesizedParameters(ref data) => {
407+
PathParameters::Parenthesized(ref data) => {
408408
walk_list!(visitor, visit_ty, &data.inputs);
409409
walk_list!(visitor, visit_ty, &data.output);
410410
}

0 commit comments

Comments
 (0)