Skip to content

Commit 2ccc6e0

Browse files
committed
librustc: Don't require the "static" keyword to define a static method
1 parent ac60d53 commit 2ccc6e0

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/libsyntax/parse/parser.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -469,11 +469,11 @@ pub impl Parser {
469469
either::Left(p.parse_arg_general(false))
470470
};
471471
// XXX: Wrong. Shouldn't allow both static and self_ty
472-
let self_ty = if is_static { static_sty } else { self_ty };
473-
474-
if self_ty.node == sty_by_ref {
475-
self.obsolete(self_ty.span, ObsoleteImplicitSelf);
476-
}
472+
let self_ty = if is_static || self_ty.node == sty_by_ref {
473+
static_sty
474+
} else {
475+
self_ty
476+
};
477477
478478
let hi = p.last_span.hi;
479479
debug!("parse_trait_methods(): trait method signature ends in \
@@ -2983,11 +2983,11 @@ pub impl Parser {
29832983
p.parse_arg()
29842984
};
29852985
// XXX: interaction between staticness, self_ty is broken now
2986-
let self_ty = if is_static { static_sty} else { self_ty };
2987-
2988-
if self_ty.node == sty_by_ref {
2989-
self.obsolete(self_ty.span, ObsoleteImplicitSelf);
2990-
}
2986+
let self_ty = if is_static || self_ty.node == sty_by_ref {
2987+
static_sty
2988+
} else {
2989+
self_ty
2990+
};
29912991

29922992
let (inner_attrs, body) = self.parse_inner_attrs_and_block(true);
29932993
let hi = body.span.hi;

0 commit comments

Comments
 (0)