aboutsummaryrefslogtreecommitdiffhomepage
path: root/notes/compilation_failure_testing.txt
diff options
context:
space:
mode:
authorSamuel Lidén Borell <samuel@kodafritt.se>2024-06-02 21:20:48 +0200
committerSamuel Lidén Borell <samuel@kodafritt.se>2024-06-02 21:20:48 +0200
commit580bf6130632f6855fddeea7b07c8401c56108f2 (patch)
tree4bd5e7cdb68408c52ad8df030f7f887c7d97def0 /notes/compilation_failure_testing.txt
parentdb73835b12f41be8766384a1cdcc34a0848354dc (diff)
downloadslul-main.tar.gz
slul-main.tar.bz2
slul-main.zip
Notes: Usability, references, numeric types / comparisons, etc.HEADmain
Diffstat (limited to 'notes/compilation_failure_testing.txt')
-rw-r--r--notes/compilation_failure_testing.txt31
1 files changed, 31 insertions, 0 deletions
diff --git a/notes/compilation_failure_testing.txt b/notes/compilation_failure_testing.txt
new file mode 100644
index 0000000..59e8c22
--- /dev/null
+++ b/notes/compilation_failure_testing.txt
@@ -0,0 +1,31 @@
+Compilation failure testing
+===========================
+
+With more advanced type systems and/or parameter constraints, it can be
+useful to be able to check that those are enforced correctly.
+
+That could be done with some kind of special test.
+There is apparently something like this being use in Rust,
+see nolife/counterexamples.
+
+Should something like this be added to SLUL?
+What should the syntax be like?
+
+Syntax 1: Extend long/nestable comments
+---------------------------------------
+
+ #{{nocompile
+ func test()
+ {
+ # ERROR: .*Invalid code.*
+ invalid
+ }
+ #}}
+
+Syntax 2: Special keywords
+--------------------------
+
+ noncompiling func test()
+ {
+ bad(invalid)
+ }