Fix type parameter defaults

They should not be applied in expression or pattern contexts, unless there are
other explicitly given type args.
This commit is contained in:
Florian Diebold 2020-05-29 19:14:04 +02:00
parent 02f7b5d7ab
commit a4a4a1854e
10 changed files with 192 additions and 115 deletions

View file

@ -29,7 +29,7 @@ fn omit_default_type_parameters() {
//- /main.rs
struct Foo<T = u8> { t: T }
fn main() {
let foo = Foo { t: 5 };
let foo = Foo { t: 5u8 };
foo<|>;
}
",
@ -41,7 +41,7 @@ fn omit_default_type_parameters() {
//- /main.rs
struct Foo<K, T = u8> { k: K, t: T }
fn main() {
let foo = Foo { k: 400, t: 5 };
let foo = Foo { k: 400, t: 5u8 };
foo<|>;
}
",