mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 19:11:09 +01:00
Initial support for generic parameters that are introduced in a function parameter list (#1247)
In order for this to work, we need to always use the argument deduction code path for function calls, instead of only using it when there is a `[...]` list, which means that argument deduction now needs to support implicit conversion. Co-authored-by: Jon Meow <jperkins@google.com>
This commit is contained in:
committed by
GitHub
co-authored by
Jon Meow
parent
b27aa21a88
commit
c29f56e667
@@ -22,7 +22,7 @@ fn FirstOfTwoPoints[T:! Type](a: Point(T), b: Point(T)) -> Point(T) {
|
||||
fn Main() -> i32 {
|
||||
var p: Point(i32) = {.x = 0, .y = 1};
|
||||
var q: Point(Bool) = {.x = true, .y = false};
|
||||
// CHECK: COMPILATION ERROR: {{.*}}/explorer/testdata/generic_class/fail_argument_deduction.carbon:[[@LINE+3]]: type error in argument deduction
|
||||
// CHECK: COMPILATION ERROR: {{.*}}/explorer/testdata/generic_class/fail_argument_deduction.carbon:[[@LINE+3]]: type error in repeated argument deduction
|
||||
// CHECK: expected: i32
|
||||
// CHECK: actual: Bool
|
||||
return FirstOfTwoPoints(p, q).x;
|
||||
|
||||
Reference in New Issue
Block a user