---
feature_story: FS_51_67_38_37
feature_title: avoid impossible arg combinations
feature_status: TEST
---

TODO: There is no tests tagged specifically for this feature - either tag existing tests or create new ones.

# Description

This feature is rather a principle.

It should be impossible to input conflicting combination of FS_96_46_42_30 `offered_arg`-s which will all get consumed.
For example:

```sh
lay goto service dev upstream apac xx
```

In this case, there is NO service `xx` with all other `arg_value`-s in place (see TD_63_37_05_36 demo data).<br/>
However, service `xx` exists in the data set (query-able with other combination of `prop_value`-s).

# Not a result of uto-completion

Note that it is impossible to get into this command line by auto-completing - to get this combination,<br/>
some args (e.g. `xx` in this case) should be specified by user
typing them by manually instead (not via auto-completion).

# Implementation

It used to be possible to end up with impossible arg combinations,
but it is currently avoided by behavior to FS_44_36_84_88 consume args one by one.

# Difference for `offered_arg`-s and `dictated_arg`-s

Note this principle applies only to `offered_arg`-s.
On the other hand, FS_20_88_05_60 `dictated_arg`-s may allow impossible combinations -
see FS_90_48_11_45 always consume `dictated_arg`.
