diff options
| author | Fabian Wolff <fabian.wolff@alumni.ethz.ch> | 2021-05-23 13:31:04 +0200 |
|---|---|---|
| committer | Fabian Wolff <fabian.wolff@alumni.ethz.ch> | 2021-06-29 01:09:44 +0200 |
| commit | 4e08bb52252a1b13410b83ab956597a869da124a (patch) | |
| tree | 7b67a8599717ebecb03d742baefdf2da17856b37 /compiler/rustc_error_codes/src | |
| parent | a435b49e86d16e98dcc6595dd471f95e823f41aa (diff) | |
| download | rust-4e08bb52252a1b13410b83ab956597a869da124a.tar.gz rust-4e08bb52252a1b13410b83ab956597a869da124a.zip | |
Fix typo and improve documentation for E0632
Diffstat (limited to 'compiler/rustc_error_codes/src')
| -rw-r--r-- | compiler/rustc_error_codes/src/error_codes.rs | 3 | ||||
| -rw-r--r-- | compiler/rustc_error_codes/src/error_codes/E0632.md | 25 |
2 files changed, 26 insertions, 2 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes.rs b/compiler/rustc_error_codes/src/error_codes.rs index ff7a2344e69..df162f8dce0 100644 --- a/compiler/rustc_error_codes/src/error_codes.rs +++ b/compiler/rustc_error_codes/src/error_codes.rs @@ -361,6 +361,7 @@ E0626: include_str!("./error_codes/E0626.md"), E0627: include_str!("./error_codes/E0627.md"), E0628: include_str!("./error_codes/E0628.md"), E0631: include_str!("./error_codes/E0631.md"), +E0632: include_str!("./error_codes/E0632.md"), E0633: include_str!("./error_codes/E0633.md"), E0634: include_str!("./error_codes/E0634.md"), E0635: include_str!("./error_codes/E0635.md"), @@ -623,8 +624,6 @@ E0783: include_str!("./error_codes/E0783.md"), // E0629, // missing 'feature' (rustc_const_unstable) // E0630, // rustc_const_unstable attribute must be paired with stable/unstable // attribute - E0632, // cannot provide explicit generic arguments when `impl Trait` is - // used in argument position E0640, // infer outlives requirements // E0645, // trait aliases not finished E0667, // `impl Trait` in projections diff --git a/compiler/rustc_error_codes/src/error_codes/E0632.md b/compiler/rustc_error_codes/src/error_codes/E0632.md new file mode 100644 index 00000000000..40840e894d6 --- /dev/null +++ b/compiler/rustc_error_codes/src/error_codes/E0632.md @@ -0,0 +1,25 @@ +An explicit generic argument was provided when calling a function that +uses `impl Trait` in argument position. + +Erroneous code example: + +```compile_fail,E0632 +fn foo<T: Copy>(a: T, b: impl Clone) {} + +foo::<i32>(0i32, "abc".to_string()); +``` + +Either all generic arguments should be inferred at the call site, or +the function definition should use an explicit generic type parameter +instead of `impl Trait`. Example: + +``` +fn foo<T: Copy>(a: T, b: impl Clone) {} +fn bar<T: Copy, U: Clone>(a: T, b: U) {} + +foo(0i32, "abc".to_string()); + +bar::<i32, String>(0i32, "abc".to_string()); +bar::<_, _>(0i32, "abc".to_string()); +bar(0i32, "abc".to_string()); +``` |
