Resolved #56 -- mut
was eaten out of mut self
in fn args.
This commit is contained in:
parent
47b29abd92
commit
59554dd5e1
@ -164,7 +164,22 @@ fn rewrite_args(&self,
|
||||
arg_item_strs[0] = format!("self: {}", pprust::ty_to_string(ty));
|
||||
}
|
||||
ast::ExplicitSelf_::SelfValue(_) => {
|
||||
arg_item_strs[0] = "self".to_owned();
|
||||
assert!(args.len() >= 1, "&[ast::Arg] shouldn't be empty.");
|
||||
|
||||
// this hacky solution caused by absence of `Mutability` in `SelfValue`.
|
||||
let mut_str = {
|
||||
if let ast::Pat_::PatIdent(ast::BindingMode::BindByValue(mutability), _, _)
|
||||
= args[0].pat.node {
|
||||
match mutability {
|
||||
ast::Mutability::MutMutable => "mut ",
|
||||
ast::Mutability::MutImmutable => "",
|
||||
}
|
||||
} else {
|
||||
panic!("there is a bug or change in structure of AST, aborting.");
|
||||
}
|
||||
};
|
||||
|
||||
arg_item_strs[0] = format!("{}self", mut_str);
|
||||
min_args = 2;
|
||||
}
|
||||
_ => {}
|
||||
|
@ -39,6 +39,12 @@ fn with_no_errors<T, F>(&mut self, f: F) -> T
|
||||
where F: FnOnce(&mut Resolver) -> T
|
||||
{
|
||||
}
|
||||
|
||||
fn foo(mut self, mut bar: u32) {
|
||||
}
|
||||
|
||||
fn bar(self, mut bazz: u32) {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn render<'a,
|
||||
|
Loading…
Reference in New Issue
Block a user