Skip to content

Commit c02b274

Browse files
Added references
1 parent 24d157f commit c02b274

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

Diff for: docs/src/md/kotlin.core/declarations.md

+8
Original file line numberDiff line numberDiff line change
@@ -1826,6 +1826,10 @@ This can be interpreted in the following way:
18261826
- Contravariance *inverses* the given variance
18271827
- Invariance *absorbs* the given variance
18281828
1829+
Further reasoning and formalization behind this system is available in the ["Taming the Wildcards" paper][declarations.references].
1830+
1831+
[declarations.references]: #declarations.references
1832+
18291833
Using the base not-nested cases and the rules for combining variance, we can iteratively define for every type expression its variance in a given type parameter.
18301834
18311835
When a type parameter has declared variance, and is used in a position of a different variance, a **variance conflict** may occure. The specific cases are:
@@ -2067,3 +2071,7 @@ There is a partial order of *weakness* between different visibility modifiers:
20672071
> ```
20682072
>
20692073
2074+
### References {#declarations.references}
2075+
2076+
1. John Altidor, Shan Shan Huang, and Yannis Smaragdakis. "Taming the wildcards: combining definition- and use-site variance." 2011 (\url{https://yanniss.github.io/variance-pldi11.pdf})
2077+

0 commit comments

Comments
 (0)