Skip to content

Commit d74cdf7

Browse files
committed
Raise an unresolved question about specialization
1 parent 34cb520 commit d74cdf7

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

Diff for: text/0000-conservative-impl-trait.md

+10-2
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ item-level API, but has been deemed worth it for the following reasons:
176176
declare `Send`/`Sync`-ability, and not extending this problem to abstract
177177
return types is desireable. In practice, most uses
178178
of this feature would have to add explicit bounds for OIBITS
179-
if they want to be maximally usable.
179+
if they wanted to be maximally usable.
180180
- Low real change, since the situation already somewhat exists on structs with private fields:
181181
- In both cases, a change to the private implementation might change whether a OIBIT is
182182
implemented or not.
@@ -374,4 +374,12 @@ types private to a function body, for example a iterator adapter containing a cl
374374

375375
> What parts of the design are still TBD?
376376

377-
None for the core feature proposed here, but many for possible extensions as elaborated on in detailed design.
377+
- What happens if you specialize a function with an abstract return type,
378+
and differ in whether the return type implements an OIBIT or not?
379+
- It would mean that specialization choice
380+
has to flow back into typechecking.
381+
- It seems sound, but would mean that different input type combinations
382+
of such a function could cause different OIBIT behavior independent
383+
of the input type parameters themself.
384+
- Which would not necessarily be an issue, since the actual type could not
385+
be observed from the outside anyway.

0 commit comments

Comments
 (0)