File tree 1 file changed +5
-0
lines changed
compiler/src/dotty/tools/dotc/core
1 file changed +5
-0
lines changed Original file line number Diff line number Diff line change @@ -109,6 +109,8 @@ object Types {
109
109
/** Is this type still provisional? This is the case if the type contains, or depends on,
110
110
* uninstantiated type variables or type symbols that have the Provisional flag set.
111
111
* This is an antimonotonic property - once a type is not provisional, it stays so forever.
112
+ *
113
+ * FIXME: The semantic of this flag are broken by the existence of `TypeVar#resetInst`.
112
114
*/
113
115
def isProvisional (using Context ): Boolean = mightBeProvisional && testProvisional
114
116
@@ -4739,6 +4741,9 @@ object Types {
4739
4741
* is different from the variable's creation state (meaning unrolls are possible)
4740
4742
* in the current typer state.
4741
4743
*
4744
+ * FIXME: the "once" in the statement above is not true anymore now that `resetInst`
4745
+ * exists, this is problematic for caching (see `Type#isProvisional`).
4746
+ *
4742
4747
* @param origin the parameter that's tracked by the type variable.
4743
4748
* @param creatorState the typer state in which the variable was created.
4744
4749
* @param initNestingLevel the initial nesting level of the type variable. (c.f. nestingLevel)
You can’t perform that action at this time.
0 commit comments