aboutsummaryrefslogtreecommitdiff
path: root/vs-c.rst
diff options
context:
space:
mode:
authorMelody Horn <melody@boringcactus.com>2020-10-31 22:38:29 -0600
committerMelody Horn <melody@boringcactus.com>2020-10-31 22:38:29 -0600
commit14c4550aff926f53f256e831a7d99bffffd21dfd (patch)
tree09be545f8edd4923b4b771845fe8b9a3db614430 /vs-c.rst
parent5af481d62df80d8be3f5835042d30372ef9cbe04 (diff)
downloadspec-14c4550aff926f53f256e831a7d99bffffd21dfd.tar.gz
spec-14c4550aff926f53f256e831a7d99bffffd21dfd.zip
settle on a tagged union plan (for now)
Diffstat (limited to 'vs-c.rst')
-rw-r--r--vs-c.rst2
1 files changed, 1 insertions, 1 deletions
diff --git a/vs-c.rst b/vs-c.rst
index 346f6f0..8317155 100644
--- a/vs-c.rst
+++ b/vs-c.rst
@@ -52,7 +52,7 @@ Adjustments
Some C features are footguns by default, so Crowbar ensures that they are only used correctly.
* Unions are not robust by default.
- Crowbar only supports unions when they are :doc:`tagged-unions` (or declared and used with the ``fragile`` keyword).
+ Crowbar offers two types of union declarations: a :crowbar:ref:`tagged union <RobustUnionDefinition>` (the default) and a :crowbar:ref:`fragile union <FragileUnionDefinition>` for interoperability purposes.
C's syntax isn't perfect, but it's usually pretty good.
However, sometimes it just sucks, and in those cases Crowbar makes changes.