From 0b5b8b5fbe25cc08f95f853e5877945359d18128 Mon Sep 17 00:00:00 2001 From: Fredric Silberberg Date: Wed, 7 Sep 2022 16:48:45 -0700 Subject: [PATCH] Fix markdown conversion issues in the variance section. --- standard/interfaces.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/interfaces.md b/standard/interfaces.md index e2fb36d00..ccc9fc9cd 100644 --- a/standard/interfaces.md +++ b/standard/interfaces.md @@ -122,9 +122,9 @@ A type is ***output-safe*** if it is not output-unsafe, and ***input-safe*** if The purpose of variance annotations is to provide for more lenient (but still type safe) conversions to interface and delegate types. To this end the definitions of implicit ([§10.2](conversions.md#102-implicit-conversions)) and explicit conversions ([§10.3](conversions.md#103-explicit-conversions)) make use of the notion of variance-convertibility, which is defined as follows: -A type `T` is variance-convertible to a type `T` if `T` is either an interface or a delegate type declared with the variant type parameters `T`, and for each variant type parameter `Xᵢ` one of the following holds: +A type `T` is variance-convertible to a type `T` if `T` is either an interface or a delegate type declared with the variant type parameters `T`, and for each variant type parameter `Xᵢ` one of the following holds: -- `Xᵢ` is covariant and an implicit reference or identity conversion exists from `Aᵢ` to `Aᵢ` +- `Xᵢ` is covariant and an implicit reference or identity conversion exists from `Aᵢ` to `Bᵢ` - `Xᵢ` is contravariant and an implicit reference or identity conversion exists from `Bᵢ` to `Aᵢ` - `Xᵢ` is invariant and an identity conversion exists from `Aᵢ` to `Bᵢ`