diff options
| author | David Wood <david@davidtw.co> | 2019-10-01 15:17:50 +0100 | 
|---|---|---|
| committer | David Wood <david@davidtw.co> | 2019-10-02 09:51:27 +0100 | 
| commit | 2537a8aa7a44d76b3345b98f394f6d2744f3a9cc (patch) | |
| tree | ee4189157d797893692099a1220c87a74b7973cc /src/libsyntax/parse/parser.rs | |
| parent | ff191b54cc8a95e3bfc7ae5f8f9984f934758165 (diff) | |
| download | rust-2537a8aa7a44d76b3345b98f394f6d2744f3a9cc.tar.gz rust-2537a8aa7a44d76b3345b98f394f6d2744f3a9cc.zip | |
syntax: improve parameter without type suggestions
This commit improves the suggestions provided when function parameters do not have types: - A new suggestion is added for arbitrary self types, which suggests adding `self: ` before the type. - Existing suggestions are now provided when a `<` is found where a `:` was expected (previously only `,` and `)` or trait items), this gives suggestions in the case where the unnamed parameter type is generic in a free function. - The suggestion that a type name be provided (e.g. `fn foo(HashMap<u32>)` -> `fn foo(HashMap: TypeName<u32>)`) will no longer occur when a `<` was found instead of `:`. - The ident will not be used for recovery when a `<` was found instead of `:`. Signed-off-by: David Wood <david@davidtw.co>
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 1 | 
1 files changed, 1 insertions, 0 deletions
| diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 95f84d5cb33..d4a6e9f6c6b 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -1212,6 +1212,7 @@ impl<'a> Parser<'a> { &mut err, pat, is_name_required, + is_self_allowed, is_trait_item, ) { err.emit(); | 
