(** THIS FILE WAS AUTOMATICALLY GENERATED BY AENEAS *)
(** [issue_270_loop_list] *)
Require Import Primitives.
Import Primitives.
Require Import Coq.ZArith.ZArith.
Require Import List.
Import ListNotations.
Local Open Scope Primitives_scope.
Module Issue270LoopList.

(** [issue_270_loop_list::List]
    Source: 'tests/src/issue-270-loop-list.rs', lines 2:0-5:1
    Visibility: public *)
Inductive List_t (T : Type) :=
| List_Cons : T -> List_t T -> List_t T
| List_Nil : List_t T
.

Arguments List_Cons { _ }.
Arguments List_Nil { _ }.

(** [issue_270_loop_list::foo]: loop 0:
    Source: 'tests/src/issue-270-loop-list.rs', lines 10:8-12:9 *)
Fixpoint foo_loop (t : List_t (List_t u8)) : result unit :=
  match t with | List_Cons _ tt1 => foo_loop tt1 | List_Nil => Ok tt end
.

(** [issue_270_loop_list::foo]:
    Source: 'tests/src/issue-270-loop-list.rs', lines 7:0-14:1 *)
Definition foo (v : List_t (List_t u8)) : result unit :=
  match v with | List_Cons _ t => foo_loop t | List_Nil => Ok tt end
.

End Issue270LoopList.
