diff --git a/numba/core/types/iterators.py b/numba/core/types/iterators.py
index c66a706fd..2baf1d42a 100644
--- a/numba/core/types/iterators.py
+++ b/numba/core/types/iterators.py
@@ -103,5 +103,6 @@ class ArrayIterator(SimpleIteratorType):
         elif nd == 1:
             yield_type = array_type.dtype
         else:
-            yield_type = array_type.copy(ndim=array_type.ndim - 1)
+            # iteration semantics leads to A order layout
+            yield_type = array_type.copy(ndim=array_type.ndim - 1, layout='A')
         super(ArrayIterator, self).__init__(name, yield_type)
diff --git a/numba/typed/typedlist.py b/numba/typed/typedlist.py
index 82259b5bc..3e4fab769 100644
--- a/numba/typed/typedlist.py
+++ b/numba/typed/typedlist.py
@@ -482,7 +482,7 @@ def _guess_dtype(iterable):
             "List() argument must be iterable")
     # Special case for nested NumPy arrays.
     elif isinstance(iterable, types.Array) and iterable.ndim > 1:
-        return iterable.copy(ndim=iterable.ndim - 1)
+        return iterable.copy(ndim=iterable.ndim - 1, layout='A')
     elif hasattr(iterable, "dtype"):
         return iterable.dtype
     elif hasattr(iterable, "yield_type"):

issue with >1d array iteration
numba 0.49.0
numpy 1.18.2
Python 3.8.2 (default, May  7 2020, 20:00:49) [GCC 7.3.0] on linux

```python
import numba as nb
import numpy as np


@nb.njit()
def outer_product_sum(x: np.ndarray, y: np.ndarray) -> np.ndarray:
    assert x.ndim == 2, "dimensions of both arrays must be 2"
    assert y.ndim == 2, "dimensions of both arrays must be 2"
    assert x.shape[1] == y.shape[1], "The second dimension of both arrays must be equal"

    o = np.zeros((x.shape[0], y.shape[0]))
    for v1, v2 in zip(x.T, y.T):
        o += np.outer(v1, v2)
    return o

x = np.array([[1, 8, 9, 1], [4, 64, 27, 1]])
y = np.array([[1, 1/2, 1/3, 1],  [1/2, 1/4, 1/9, 1], [1/2, 1/4, 1/9, 1]])
expected = np.outer(x[:,0], y[:,0]) + np.outer(x[:,1], y[:,1]) + np.outer(x[:,2], y[:,2]) + np.outer(x[:,3], y[:,3])
actual = outer_product_sum(x, y)
assert np.isclose(expected, actual).all()
```

Without the decorator, this test passes, but with the decorator, it fails. On inspection, it is clear that the issue is not with the sum, but with the inner product. In this context, `np.outer` is not producing correct results. `v1`, `v2` are as expected, but `np.outer` no longer performs the outer product.

diff --git a/numba/tests/test_array_iterators.py b/numba/tests/test_array_iterators.py
index 59303775b..041ff29d1 100644
--- a/numba/tests/test_array_iterators.py
+++ b/numba/tests/test_array_iterators.py
@@ -174,7 +174,7 @@ class TestArrayIterators(MemoryLeakMixin, TestCase):
         self.check_array_unary(arr, arrty, array_ndenumerate_sum)
 
     def test_array_iter(self):
-        # Test iterating over a 1d array
+        # Test iterating over arrays
         arr = np.arange(6)
         self.check_array_iter_1d(arr)
         self.check_array_iter_items(arr)
@@ -190,6 +190,59 @@ class TestArrayIterators(MemoryLeakMixin, TestCase):
         self.check_array_iter_items(arr)
         self.check_array_iter_items(arr.T)
 
+    def test_array_iter_yielded_order(self):
+        # See issue #5692
+        @jit(nopython=True)
+        def foo(arr):
+            t = []
+            for y1 in arr:
+                for y2 in y1:
+                    t.append(y2.ravel())
+            return t
+
+        # 'F' ordered
+        arr = np.arange(24).reshape((2, 3, 4), order='F')
+        expected = foo.py_func(arr)
+        got = foo(arr)
+        self.assertPreciseEqual(expected, got)
+
+        # 'A' ordered, outer strided
+        arr = np.arange(64).reshape((4, 8, 2), order='F')[::2, :, :]
+        expected = foo.py_func(arr)
+        got = foo(arr)
+        self.assertPreciseEqual(expected, got)
+
+        # 'A' ordered, middle strided
+        arr = np.arange(64).reshape((4, 8, 2), order='F')[:, ::2, :]
+        expected = foo.py_func(arr)
+        got = foo(arr)
+        self.assertPreciseEqual(expected, got)
+
+        # 'A' ordered, inner strided
+        arr = np.arange(64).reshape((4, 8, 2), order='F')[:, :, ::2]
+        expected = foo.py_func(arr)
+        got = foo(arr)
+        self.assertPreciseEqual(expected, got)
+
+        @jit(nopython=True)
+        def flag_check(arr):
+            out = []
+            for sub in arr:
+                out.append((sub, sub.flags.c_contiguous,
+                            sub.flags.f_contiguous))
+            return out
+
+        arr = np.arange(10).reshape((2, 5), order='F')
+        expected = flag_check.py_func(arr)
+        got = flag_check(arr)
+
+        self.assertEqual(len(expected), len(got))
+        ex_arr, e_flag_c, e_flag_f = expected[0]
+        go_arr, g_flag_c, g_flag_f = got[0]
+        np.testing.assert_allclose(ex_arr, go_arr)
+        self.assertEqual(e_flag_c, g_flag_c)
+        self.assertEqual(e_flag_f, g_flag_f)
+
     def test_array_view_iter(self):
         # Test iterating over a 1d view over a 2d array
         arr = np.arange(12).reshape((3, 4))
diff --git a/numba/tests/test_typedlist.py b/numba/tests/test_typedlist.py
index 0164beced..25da59e28 100644
--- a/numba/tests/test_typedlist.py
+++ b/numba/tests/test_typedlist.py
@@ -1016,6 +1016,7 @@ class TestListRefctTypes(MemoryLeakMixin, TestCase):
 
     def test_list_as_item_in_list(self):
         nested_type = types.ListType(types.int32)
+
         @njit
         def foo():
             la = List.empty_list(nested_type)
@@ -1030,6 +1031,7 @@ class TestListRefctTypes(MemoryLeakMixin, TestCase):
 
     def test_array_as_item_in_list(self):
         nested_type = types.Array(types.float64, 1, 'C')
+
         @njit
         def foo():
             l = List.empty_list(nested_type)
@@ -1321,6 +1323,7 @@ class TestImmutable(MemoryLeakMixin, TestCase):
 
     def test_append_fails(self):
         self.disable_leak_check()
+
         @njit
         def foo():
             l = List()
@@ -1470,21 +1473,27 @@ class TestListFromIter(MemoryLeakMixin, TestCase):
     def test_ndarray_twod(self):
 
         @njit
-        def foo():
-            return List(np.array([[1,2],[3,4]]))
+        def foo(x):
+            return List(x)
 
-        expected = List()
-        expected.append(np.array([1,2]))
-        expected.append(np.array([3,4]))
-        received = foo()
+        carr = np.array([[1, 2], [3, 4]])
+        farr = np.asfortranarray(carr)
+        aarr = np.arange(8).reshape((2, 4))[:, ::2]
+
+        for layout, arr in zip('CFA', (carr, farr, aarr)):
+            self.assertEqual(typeof(arr).layout, layout)
+            expected = List()
+            expected.append(arr[0, :])
+            expected.append(arr[1, :])
+            received = foo(arr)
 
-        np.testing.assert_equal(expected[0], received[0])
-        np.testing.assert_equal(expected[1], received[1])
+            np.testing.assert_equal(expected[0], received[0])
+            np.testing.assert_equal(expected[1], received[1])
 
-        pyreceived = foo.py_func()
+            pyreceived = foo.py_func(arr)
 
-        np.testing.assert_equal(expected[0], pyreceived[0])
-        np.testing.assert_equal(expected[1], pyreceived[1])
+            np.testing.assert_equal(expected[0], pyreceived[0])
+            np.testing.assert_equal(expected[1], pyreceived[1])
 
     def test_exception_on_plain_int(self):
         @njit

pip install -e .
parse_log_pytest
requirements.txt
pytest pytest-cov pytest-xdist pytest-mock pytest-asyncio pytest
apt-get update apt-get install -y gcc g++
3.7
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
certifi @ file:///croot/certifi_1671487769961/work/certifi
coverage==7.2.7
exceptiongroup==1.2.2
execnet==2.0.2
importlib-metadata==6.7.0
iniconfig==2.0.0
llvmlite==0.32.1
-e git+https://github.com/numba/numba.git@64fbf2b821f185fd1048eb5cf399c3130d145d5c#egg=numba
numpy==1.21.6
packaging==24.0
pluggy==1.2.0
pytest==7.4.4
pytest-asyncio==0.21.2
pytest-cov==4.1.0
pytest-mock==3.11.1
pytest-xdist==3.5.0
tomli==2.0.1
typing_extensions==4.7.1
zipp==3.15.0

name: numba
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=22.3.1=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - argparse==1.4.0
      - coverage==7.2.7
      - exceptiongroup==1.2.2
      - execnet==2.0.2
      - importlib-metadata==6.7.0
      - iniconfig==2.0.0
      - llvmlite==0.32.1
      - numpy==1.21.6
      - packaging==24.0
      - pluggy==1.2.0
      - pytest==7.4.4
      - pytest-asyncio==0.21.2
      - pytest-cov==4.1.0
      - pytest-mock==3.11.1
      - pytest-xdist==3.5.0
      - tomli==2.0.1
      - typing-extensions==4.7.1
      - zipp==3.15.0
prefix: /opt/conda/envs/numba

numba/tests/test_array_iterators.py::TestArrayIterators::test_array_iter_yielded_order
numba/tests/test_array_iterators.py::TestArrayIterators::test_array_flat_3d numba/tests/test_array_iterators.py::TestArrayIterators::test_array_flat_empty numba/tests/test_array_iterators.py::TestArrayIterators::test_array_flat_getitem numba/tests/test_array_iterators.py::TestArrayIterators::test_array_flat_len numba/tests/test_array_iterators.py::TestArrayIterators::test_array_flat_premature_free numba/tests/test_array_iterators.py::TestArrayIterators::test_array_flat_setitem numba/tests/test_array_iterators.py::TestArrayIterators::test_array_iter numba/tests/test_array_iterators.py::TestArrayIterators::test_array_ndenumerate_2d numba/tests/test_array_iterators.py::TestArrayIterators::test_array_ndenumerate_empty numba/tests/test_array_iterators.py::TestArrayIterators::test_array_ndenumerate_premature_free numba/tests/test_array_iterators.py::TestArrayIterators::test_array_view_iter numba/tests/test_array_iterators.py::TestArrayIterators::test_iter_next numba/tests/test_array_iterators.py::TestArrayIterators::test_np_ndindex numba/tests/test_array_iterators.py::TestArrayIterators::test_np_ndindex_array numba/tests/test_array_iterators.py::TestArrayIterators::test_np_ndindex_empty numba/tests/test_array_iterators.py::TestNdIter::test_errors numba/tests/test_array_iterators.py::TestNdIter::test_nditer1 numba/tests/test_array_iterators.py::TestNdIter::test_nditer2 numba/tests/test_array_iterators.py::TestNdIter::test_nditer3 numba/tests/test_typedlist.py::TestTypedList::test_basic numba/tests/test_typedlist.py::TestTypedList::test_catch_global_typed_list numba/tests/test_typedlist.py::TestTypedList::test_compiled numba/tests/test_typedlist.py::TestTypedList::test_delitem_slice numba/tests/test_typedlist.py::TestTypedList::test_dtype numba/tests/test_typedlist.py::TestTypedList::test_dtype_raises_exception_on_untyped_list numba/tests/test_typedlist.py::TestTypedList::test_getitem_slice numba/tests/test_typedlist.py::TestTypedList::test_list_create_no_jit_using_List numba/tests/test_typedlist.py::TestTypedList::test_list_create_no_jit_using_empty_list numba/tests/test_typedlist.py::TestTypedList::test_list_extend_refines_on_unicode_type numba/tests/test_typedlist.py::TestTypedList::test_repr numba/tests/test_typedlist.py::TestTypedList::test_setitem_slice numba/tests/test_typedlist.py::TestTypedList::test_setitem_slice_value_error numba/tests/test_typedlist.py::TestTypedList::test_unsigned_access numba/tests/test_typedlist.py::TestTypedList::test_unsigned_prange numba/tests/test_typedlist.py::TestNoneType::test_append_none numba/tests/test_typedlist.py::TestNoneType::test_equals_none numba/tests/test_typedlist.py::TestNoneType::test_getitem_none numba/tests/test_typedlist.py::TestNoneType::test_iter_none numba/tests/test_typedlist.py::TestNoneType::test_len_none numba/tests/test_typedlist.py::TestNoneType::test_none_typed_method_fails numba/tests/test_typedlist.py::TestNoneType::test_not_equals_none numba/tests/test_typedlist.py::TestNoneType::test_setitem_none numba/tests/test_typedlist.py::TestAllocation::test_allocation numba/tests/test_typedlist.py::TestAllocation::test_allocation_njit numba/tests/test_typedlist.py::TestAllocation::test_growth_and_shrinkage numba/tests/test_typedlist.py::TestExtend::test_extend_empty_refiend numba/tests/test_typedlist.py::TestExtend::test_extend_empty_unrefined numba/tests/test_typedlist.py::TestExtend::test_extend_other numba/tests/test_typedlist.py::TestExtend::test_extend_self numba/tests/test_typedlist.py::TestExtend::test_extend_single_value_container numba/tests/test_typedlist.py::TestExtend::test_extend_tuple numba/tests/test_typedlist.py::TestComparisons::test_empty_vs_empty numba/tests/test_typedlist.py::TestComparisons::test_empty_vs_singleton numba/tests/test_typedlist.py::TestComparisons::test_equal numba/tests/test_typedlist.py::TestComparisons::test_equals_non_list numba/tests/test_typedlist.py::TestComparisons::test_first_greater_than numba/tests/test_typedlist.py::TestComparisons::test_first_less_than numba/tests/test_typedlist.py::TestComparisons::test_first_shorter numba/tests/test_typedlist.py::TestComparisons::test_second_shorter numba/tests/test_typedlist.py::TestComparisons::test_singleton_vs_empty numba/tests/test_typedlist.py::TestComparisons::test_singleton_vs_singleton_equal numba/tests/test_typedlist.py::TestComparisons::test_singleton_vs_singleton_greater_than numba/tests/test_typedlist.py::TestComparisons::test_singleton_vs_singleton_less_than numba/tests/test_typedlist.py::TestListInferred::test_refine_extend_list numba/tests/test_typedlist.py::TestListInferred::test_refine_extend_set numba/tests/test_typedlist.py::TestListInferred::test_refine_list_extend_iter numba/tests/test_typedlist.py::TestListInferred::test_simple_refine_append numba/tests/test_typedlist.py::TestListInferred::test_simple_refine_insert numba/tests/test_typedlist.py::TestListRefctTypes::test_4960 numba/tests/test_typedlist.py::TestListRefctTypes::test_5264 numba/tests/test_typedlist.py::TestListRefctTypes::test_array_as_item_in_list numba/tests/test_typedlist.py::TestListRefctTypes::test_array_pop_from_single_value_list numba/tests/test_typedlist.py::TestListRefctTypes::test_dict_as_item_in_list numba/tests/test_typedlist.py::TestListRefctTypes::test_dict_as_item_in_list_multi_refcount numba/tests/test_typedlist.py::TestListRefctTypes::test_equals_on_list_with_dict_for_equal_lists numba/tests/test_typedlist.py::TestListRefctTypes::test_equals_on_list_with_dict_for_unequal_dicts numba/tests/test_typedlist.py::TestListRefctTypes::test_equals_on_list_with_dict_for_unequal_lists numba/tests/test_typedlist.py::TestListRefctTypes::test_jitclass_as_item_in_list numba/tests/test_typedlist.py::TestListRefctTypes::test_list_as_item_in_list numba/tests/test_typedlist.py::TestListRefctTypes::test_list_as_value_in_dict numba/tests/test_typedlist.py::TestListRefctTypes::test_storage_model_mismatch numba/tests/test_typedlist.py::TestListRefctTypes::test_str_item numba/tests/test_typedlist.py::TestListRefctTypes::test_str_item_refcount_replace numba/tests/test_typedlist.py::TestListSort::test_sort_all_args numba/tests/test_typedlist.py::TestListSort::test_sort_dispatcher_key numba/tests/test_typedlist.py::TestListSort::test_sort_in_jit_w_global_key numba/tests/test_typedlist.py::TestListSort::test_sort_in_jit_w_lambda_key numba/tests/test_typedlist.py::TestListSort::test_sort_no_args numba/tests/test_typedlist.py::TestListSort::test_sort_on_arrays numba/tests/test_typedlist.py::TestImmutable::test_append_fails numba/tests/test_typedlist.py::TestImmutable::test_getitem_still_works_when_immutable numba/tests/test_typedlist.py::TestImmutable::test_is_immutable numba/tests/test_typedlist.py::TestImmutable::test_length_still_works_when_immutable numba/tests/test_typedlist.py::TestImmutable::test_make_immutable_is_immutable numba/tests/test_typedlist.py::TestImmutable::test_mutation_fails numba/tests/test_typedlist.py::TestListFromIter::test_dict_iters numba/tests/test_typedlist.py::TestListFromIter::test_exception_on_inhomogeneous_tuple numba/tests/test_typedlist.py::TestListFromIter::test_exception_on_kwargs numba/tests/test_typedlist.py::TestListFromIter::test_exception_on_plain_int numba/tests/test_typedlist.py::TestListFromIter::test_exception_on_too_many_args numba/tests/test_typedlist.py::TestListFromIter::test_ndarray_oned numba/tests/test_typedlist.py::TestListFromIter::test_ndarray_scalar numba/tests/test_typedlist.py::TestListFromIter::test_ndarray_twod numba/tests/test_typedlist.py::TestListFromIter::test_simple_iterable_types numba/tests/test_typedlist.py::TestListFromIter::test_unicode
numba/typed/typedlist.py numba/core/types/iterators.py
numba/typed/typedlist.py numba/core/types/iterators.py