@@ -2569,8 +2569,7 @@ class ContactInfo {
2569
2569
>
2570
2570
> - [ Aliases] ( aliases.md )
2571
2571
> - [ "Aliasing" in "Code and name organization"] ( code_and_name_organization/README.md#aliasing )
2572
- > - <!-- [`alias` a name from an interface impl](generics/details.md#avoiding-name-collisions) -->
2573
- > [ ` alias ` a name from an interface impl] ( generics/details.md#external-impl )
2572
+ > - [ ` alias ` a name from an interface impl] ( generics/details.md#avoiding-name-collisions )
2574
2573
> - [ ` alias ` a name in a named constraint] ( generics/details.md#named-constraints )
2575
2574
> - Proposal
2576
2575
> [ #107 : Code and name organization] ( https://github.com/carbon-language/carbon-lang/pull/107 )
@@ -2803,8 +2802,7 @@ In addition to function requirements, interfaces can contain:
2803
2802
- [ requirements that other interfaces be implemented] ( generics/details.md#interface-requiring-other-interfaces )
2804
2803
or
2805
2804
[ interfaces that this interface extends] ( generics/details.md#interface-extension )
2806
- - <!-- [associated facets](generics/details.md#associated-facets) -->
2807
- [ associated facets] ( generics/details.md#associated-types ) and other
2805
+ - [ associated facets] ( generics/details.md#associated-facets ) and other
2808
2806
[ associated constants] ( generics/details.md#associated-constants )
2809
2807
- [ interface defaults] ( generics/details.md#interface-defaults )
2810
2808
- [ ` final ` interface members] ( generics/details.md#final-members )
@@ -2857,16 +2855,14 @@ In this case, `Print` is not a direct member of `Circle`, but:
2857
2855
}
2858
2856
```
2859
2857
2860
- <!-- [`extend`](generics/details.md#extend-impl) keyword... -->
2861
-
2862
2858
To include the members of the interface as direct members of the type, use the
2863
- `extend` keyword, as in `extend impl as Printable`. This is only permitted on
2864
- `impl` declarations in the body of a class definition.
2859
+ [`extend`](generics/details.md#extend-impl) keyword, as in
2860
+ `extend impl as Printable`. This is only permitted on `impl` declarations in the
2861
+ body of a class definition.
2865
2862
2866
2863
Without `extend`, implementations don't have to be in the same library as the
2867
- type definition, subject to the orphan rule
2868
- ([1](generics/details.md#impl-lookup), [2](generics/details.md#orphan-rule)) for
2869
- [coherence](generics/terminology.md#coherence).
2864
+ type definition, subject to the [orphan rule](generics/details.md#orphan-rule)
2865
+ for [coherence](generics/terminology.md#coherence).
2870
2866
2871
2867
Interfaces and implementations may be
2872
2868
[forward declared](generics/details.md#forward-declarations-and-cyclic-references)
@@ -2928,8 +2924,7 @@ fn DrawTies[T:! Renderable & GameResult](x: T) {
2928
2924
2929
2925
> References:
2930
2926
>
2931
- > - <!-- [Combining interfaces by anding facet types](generics/details.md#combining-interfaces-by-anding-facet-types) -->
2932
- > [ Combining interfaces by anding type-of-types] ( generics/details.md#combining-interfaces-by-anding-type-of-types )
2927
+ > - [ Combining interfaces by anding facet types] ( generics/details.md#combining-interfaces-by-anding-facet-types )
2933
2928
> - Question-for-leads issue
2934
2929
> [ #531 : Combine interfaces with ` + ` or ` & ` ] ( https://github.com/carbon-language/carbon-lang/issues/531 )
2935
2930
> - Proposal
@@ -3559,12 +3554,11 @@ function.
3559
3554
3560
3555
Carbon interfaces with no C++ equivalent, such as
3561
3556
[ ` CommonTypeWith(U) ` ] ( #common-type ) , may be implemented for C++ types
3562
- out-of-line in Carbon code. To satisfy the orphan rule
3563
- ([ 1] ( generics/details.md#impl-lookup ) , [ 2] ( generics/details.md#orphan-rule ) ),
3564
- each C++ library will have a corresponding Carbon wrapper library that must be
3565
- imported instead of the C++ library if the Carbon wrapper exists. ** TODO:**
3566
- Perhaps it will automatically be imported, so a wrapper may be added without
3567
- requiring changes to importers?
3557
+ out-of-line in Carbon code. To satisfy the
3558
+ [ orphan rule] ( generics/details.md#orphan-rule ) , each C++ library will have a
3559
+ corresponding Carbon wrapper library that must be imported instead of the C++
3560
+ library if the Carbon wrapper exists. ** TODO:** Perhaps it will automatically be
3561
+ imported, so a wrapper may be added without requiring changes to importers?
3568
3562
3569
3563
### Templates
3570
3564
0 commit comments