Skip to content

Commit 60f8efe

Browse files
Teemperorgottesmm
authored andcommitted
[sil.rst] Fix invalid reStructuredText syntax
* 'Any' isn't defined anywhere, so the references to that are invalid. * Starting a literal block but not having any leading whitespace in the next line causes "Literal block expected; none found." This breaks the build when sphinx is installed.
1 parent e985d97 commit 60f8efe

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

docs/SIL.rst

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1719,13 +1719,13 @@ Ownership Kind
17191719
The semantics in the previous example is of just one form of ownership semantics
17201720
supported: "owned" semantics. In SIL, we map these "ownership semantics" into a
17211721
form that a compiler can reason about by mapping semantics onto a lattice with
1722-
the following elements: `None`_, `Owned`_, `Guaranteed`_, `Unowned`_, `Any`_. We
1722+
the following elements: `None`_, `Owned`_, `Guaranteed`_, `Unowned`_, `Any`. We
17231723
call this the lattice of "Ownership Kinds" and each individual value an
17241724
"Ownership Kind". This lattice is defined as a 3-level lattice with::
17251725

1726-
1. None being Top.
1727-
2. Any being Bottom.
1728-
3. All non-Any, non-None OwnershipKinds being defined as a mid-level elements of the lattice
1726+
1. None being Top.
1727+
2. Any being Bottom.
1728+
3. All non-Any, non-None OwnershipKinds being defined as a mid-level elements of the lattice
17291729

17301730
We can graphically represent the lattice via a diagram like the following::
17311731

@@ -1760,8 +1760,8 @@ This lattice is applied to SIL by requiring well formed SIL to:
17601760
1. Define a static map of each SIL value to an OwnershipKind that classify the
17611761
semantics that the SIL value obeys. We call this subset of OwnershipKind to
17621762
be the set of `Value Ownership Kind`_: `None`_, `Unowned`_, `Guaranteed`_,
1763-
`Owned`_ (note conspiciously missing `Any`_). This is because in our model
1764-
`Any`_ represents an unknown ownership semantics and since our model is
1763+
`Owned`_ (note conspiciously missing `Any`). This is because in our model
1764+
`Any` represents an unknown ownership semantics and since our model is
17651765
statically strict, we do not allow for values to have unknown ownership.
17661766

17671767
2. Define a static map from each operand of a SILInstruction, `i`, to an
@@ -1787,13 +1787,13 @@ In prose, a value can be passed to an operand if applying the operand's
17871787
ownership constraint to the value's ownership does not change the value's
17881788
ownership. Operationally this has a few interesting effects on SIL::
17891789

1790-
1. We have defined away invalid value-operand (aka def-use) pairing since the
1791-
SILVerifier validates the aforementioned relationship on all SIL values,
1792-
uses at all points of the pipeline until ossa is lowered.
1790+
1. We have defined away invalid value-operand (aka def-use) pairing since the
1791+
SILVerifier validates the aforementioned relationship on all SIL values,
1792+
uses at all points of the pipeline until ossa is lowered.
17931793

1794-
2. Many SIL instructions do not care about the ownership kind that their value
1795-
will take. They can just define all of their operand's as having an
1796-
ownership constraint of Any.
1794+
2. Many SIL instructions do not care about the ownership kind that their value
1795+
will take. They can just define all of their operand's as having an
1796+
ownership constraint of Any.
17971797

17981798
Now lets go into more depth upon `Value Ownership Kind`_ and `Ownership Constraint`_.
17991799

0 commit comments

Comments
 (0)