You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The rules for resolving a selection `e.m` are augmented as follows: If `m` is not a
38
-
member of the type `T` of `e`, and there is an implicit value `i` that defines `m`
39
-
in either the current scope or in the implicit scope of `T`, then `e.m` is expanded
40
-
to `i.m(e)`. This expansion is attempted at the time where the compiler also tries an implicit conversion from `T` to a type containing `m`. If there is more than one way
38
+
member of the type `T` of `e`, and there is an implicit value `i`
39
+
in either the current scope or in the implicit scope of `T`, and `i` defines an extension
40
+
method named `m`, then `e.m` is expanded to `i.m(e)`. This expansion is attempted at the time where the compiler also tries an implicit conversion from `T` to a type containing `m`. If there is more than one way
41
41
of expanding, an ambiguity error results.
42
42
43
43
So `circle.circumference` translates to `CircleOps.circumference(circle)`, provided
@@ -236,8 +236,8 @@ Extension methods generalize to higher-kinded types without requiring special pr
0 commit comments