I believe the subtasks could be much more useful if this was possible.
1 Task 1
2 Task 2 1FS, (4FF might not be necessary depending on implantation)
3 Subtask 1 2SS <---- (can't currently do)
4 Subtask 2 3FS
5 Task 3 2FS <---- (can't currently do)
Currently you can't set predecessors on tasks that don't have dates assigned. Once dates are assigned to the parent task, the subtasks won't push out the end date of the parent task if the subtasks are scheduled past the parent task end date. Currently in this case the parent task is shown extended with a transparent extension but that extension has no effect on anything (i.e. can't be used as a predecessor).
It would be a simple matter to allow setting predecessors from other tasks directly to a parent task with subtasks. This would allow creating a task with predecessors set to other tasks as usual. Then at a later date add subtasks under a parent task and set the predecessors of the subtasks to the parent task to allow the subtasks to control the start and end date of that parent task. Adding subtasks to any parent task would NOT require you to modify the dependencies already set up between parent tasks.
Currently you have to connect the subtask from under one parent task to a subtask under the next parent task to create the correct dependencies. This makes no sense if you support hierarchical task structures.
This would enable parent tasks with their associated subtasks to be treated as a package with other tasks linking to and from only the parent task with the subtasks controlling the duration of each parent task they are under.
This seem like a basic function that for some reason is missing and would address several problems mentioned in product feedback.