---
title: "RTN syntax options - addendum"
tags: ["T-lang"]
date: 2024-03-04
url: https://hackmd.io/brHZeR-XQMKbVBm9tN6Mrg
---
# RTN syntax options - addendum
This document is for feedback and analysis on this document:
- [RTN syntax options](https://hackmd.io/KPRLXXmISoWgX38alWUEnA)
**Instructions:**
* Place your entry in the "big table" and then give a write-up below of what factors influenced your choices. Make sure to explain:
* For your top choice(s), what is the key factor that led you there? For things you don't like, what is the key factor that pushed you over the edge?
* If you identify considerations that don't appear in the write-up above, please add **FIXME** in your description so I can integrate it.
* For anything negative, what don't you like about that option? If something is hard blocked (:x:), what would it take to remove that block (even if you still wouldn't like the design overall)?
* Is there a "core tradeoff" for you?
### The options in short
| Option | Bound |
| --- | --- |
| StatusQuo | `D: Database<items(): DoubleEndedIterator>` |
| DotDot | `D: Database<items(..): DoubleEndedIterator>` |
| Return | `D: Database<items::return: DoubleEndedIterator>` |
| Output | `D: Database<items::Output: DoubleEndedIterator>` |
| Fn | `D: Database<fn items(): DoubleEndedIterator>` |
| FnDotDot | `D: Database<fn items(..): DoubleEndedIterator>` |
| FnReturn | `D: Database<fn items::return: DoubleEndedIterator>` |
| FnOutput | `D: Database<fn items::Output: DoubleEndedIterator>` |
### Big table
Put in
* :heavy_check_mark: for your top choice
* :green_heart: for things you like but not top choice
* :yellow_heart: for things you have significant reservations, even if you like them ("neutral overall")
* :red_circle: for things you dislike but are not hard blocking
* :x: if you are putting a hard block (if you must)
| Person | StatusQuo | DotDot | Return | Output | Fn | FnDotDot | FnReturn | FnOutput |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| *example* | `f()` | `f(..)` | `f::return` | `f::Output` | `fn f()` | `fn f(..)` | `fn f::return` | `fn f::Output` |
| (your name here) |
### Your name
name: Analysis.