aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-07-08 23:43:04 +0200
committerThomas Voss <mail@thomasvoss.com> 2024-07-08 23:43:04 +0200
commit1a769e8ef02893f737a88fe683add8ffea7affb1 (patch)
tree88258d275729e4a3115951f1c169902ca7270e3d
parent7b1cb6c2383254c55c30bf2aa7626ff20a1fc1b9 (diff)
Document another bug
-rw-r--r--BUGS10
1 files changed, 10 insertions, 0 deletions
diff --git a/BUGS b/BUGS
index e10c720..156fa0b 100644
--- a/BUGS
+++ b/BUGS
@@ -20,3 +20,13 @@
2. Recursive functions crash the compiler.
foo :: () { return foo(); } /* breaks */
+
+3. Global variables are broken both when being declared and assigned to
+ function calls and other globals. Both of these cased should be
+ illegal; globals if assigned at declaration should only be able to be
+ assigned to constant expressions.
+
+ foo :: () int { return 42; }
+ x := 5;
+ x′ := x; /* breaks */
+ x″ := foo(); /* breaks */