diff --git a/numba/core/types/containers.py b/numba/core/types/containers.py
index e9cc0ed2f..fa6ebd394 100644
--- a/numba/core/types/containers.py
+++ b/numba/core/types/containers.py
@@ -624,6 +624,7 @@ class DictItemsIterableType(SimpleIterableType):
         self.parent = parent
         self.yield_type = self.parent.keyvalue_type
         name = "items[{}]".format(self.parent.name)
+        self.name = name
         iterator_type = DictIteratorType(self)
         super(DictItemsIterableType, self).__init__(name, iterator_type)
 
@@ -636,6 +637,7 @@ class DictKeysIterableType(SimpleIterableType):
         self.parent = parent
         self.yield_type = self.parent.key_type
         name = "keys[{}]".format(self.parent.name)
+        self.name = name
         iterator_type = DictIteratorType(self)
         super(DictKeysIterableType, self).__init__(name, iterator_type)
 
@@ -648,6 +650,7 @@ class DictValuesIterableType(SimpleIterableType):
         self.parent = parent
         self.yield_type = self.parent.value_type
         name = "values[{}]".format(self.parent.name)
+        self.name = name
         iterator_type = DictIteratorType(self)
         super(DictValuesIterableType, self).__init__(name, iterator_type)
 
@@ -657,5 +660,6 @@ class DictIteratorType(SimpleIteratorType):
         self.parent = iterable.parent
         self.iterable = iterable
         yield_type = iterable.yield_type
-        name = "iter[{}->{}]".format(iterable.parent, yield_type)
+        name = "iter[{}->{}],{}".format(iterable.parent, yield_type,
+                                        iterable.name)
         super(DictIteratorType, self).__init__(name, yield_type)

typed.Dict values() returns wrong results when dict key_type is np.int64
Hi,

I noticed the following issue in Numba typed.Dict: when using dict with key_type=np.int64 getting the values from it using corresponding view might return keys instead. The following simple test works as a reproducer for me:

```
    def test_numba_dict2(self):
        import numpy as np
        from collections import OrderedDict
        import numba
        from numba.typed import Dict
        def test_impl(data):

            value_counts_dict = Dict.empty(
                key_type=np.int64,
                value_type=types.intp
            )
            for key in data:
                value_counts_dict[key] = value_counts_dict.get(key, 0) + 1

            return value_counts_dict, list(value_counts_dict.keys()), list(value_counts_dict.values())
        jitted_func = numba.njit(test_impl)

        data_to_test = np.asarray([0, 1, -1], dtype=np.int64)
        results = jitted_func(data_to_test)
        expected_dict = OrderedDict([(0, 1), (1, 1), (-1, 1)])
        print("DEBUG: results=", results)
        self.assertEqual(results[0], expected_dict)
        self.assertEqual(results[1], list(expected_dict.keys()))
        self.assertEqual(results[2], list(expected_dict.values()))
```
producing the following output:

> DEBUG: results= (DictType[int64,int64]({0: 1, 1: 1, -1: 1}), [0, 1, -1], [0, 1, -1])
> FAIL: test_numba_dict2 (sdc.tests.test_numba.TestNumba)
> Traceback (most recent call last):
>   File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\hpat\sdc\tests\test_numba.py", l
> ine 308, in test_numba_dict2
>     self.assertEqual(results[2], list(expected_dict.values()))
> AssertionError: Lists differ: [0, 1, -1] != [1, 1, 1]
> 

At the same time if key_type and dtype of data_to_test are np.int32 the test passes:

> DEBUG: results= (DictType[int32,int64]({0: 1, 1: 1, -1: 1}), [0, 1, -1], [1, 1, 1])
> Ran 1 test in 0.994s
> 
> OK
> 

I suspect some memory corruption, since it's not always a case of obtaining incorrect values from the correct dictionary, but it might also be that the computed dictionary itself is corrupted:
```
    def test_numba_dict3(self):
        import numpy as np
        from collections import OrderedDict
        import numba
        from numba.typed import Dict
        def test_impl(data):

            value_counts_dict = Dict.empty(
                key_type=np.int64,
                value_type=types.intp
            )
            for key in data:
                value_counts_dict[key] = value_counts_dict.get(key, 0) + 1

            dict_values = list(value_counts_dict.values())
            return value_counts_dict, dict_values
        jitted_func = numba.njit(test_impl)

        data_to_test = np.asarray([0, 1, -1], dtype=np.int64)
        results = jitted_func(data_to_test)
        expected_dict = OrderedDict([(0, 1), (1, 1), (-1, 1)])
        print("DEBUG: results=", results)
        self.assertEqual(results[0], expected_dict)
        self.assertEqual(results[1], list(expected_dict.values()))
```

gives:

> DEBUG: results= (DictType[int64,int64]({1: 1, 1: 1, 1: 1}), [1, 1, 1])
> FAIL: test_numba_dict3 (sdc.tests.test_numba.TestNumba)
> Traceback (most recent call last):
>   File "C:\Users\akozlov\AppData\Local\Continuum\anaconda3\hpat\sdc\tests\test_numba.py", l
> ine 333, in test_numba_dict3
>     self.assertEqual(results[0], expected_dict)
> AssertionError: DictType[int64,int64]({1: 1, 1: 1, 1: 1}) != OrderedDict([(0, 1), (1, 1), (
> -1, 1)])
> 
> Ran 1 test in 1.017s
> 
> FAILED (failures=1)


I was using Numba:
# Name                    Version                   Build  Channel
numba                     0.47.0.dev0+710.g18fe91598           dev_0    <develop>

Specifically the following commit:
commit 18fe9159849a0d512f1fb284d7cdc6bbf72ceab3 (HEAD -> sdc/latest)

Best Regards,
Alexey.
diff --git a/numba/tests/test_dictobject.py b/numba/tests/test_dictobject.py
index daaaf559c..90bf3cbec 100644
--- a/numba/tests/test_dictobject.py
+++ b/numba/tests/test_dictobject.py
@@ -1599,3 +1599,33 @@ class TestNoJit(TestCase):
             with forbid_codegen():
                 d = Dict.empty(types.int32, types.float32)
                 self.assertEqual(type(d), dict)
+
+
+class TestDictIterator(TestCase):
+    def test_dict_iterator(self):
+        @njit
+        def fun1():
+            dd = Dict.empty(key_type=types.intp,
+                            value_type=types.intp)
+            dd[0] = 10
+            dd[1] = 20
+            dd[2] = 30
+
+            return list(dd.keys()), list(dd.values())
+
+        @njit
+        def fun2():
+            dd = Dict.empty(key_type=types.intp,
+                            value_type=types.intp)
+            dd[4] = 77
+            dd[5] = 88
+            dd[6] = 99
+
+            return list(dd.keys()), list(dd.values())
+        res1 = fun1()
+        res2 = fun2()
+
+        self.assertEqual([0,1,2], res1[0])
+        self.assertEqual([10,20,30], res1[1])
+        self.assertEqual([4,5,6], res2[0])
+        self.assertEqual([77,88,99], res2[1])

pip install -e .
parse_log_pytest
requirements.txt
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
exceptiongroup==1.2.2
importlib-metadata==6.7.0
iniconfig==2.0.0
llvmlite==0.31.0
-e git+https://github.com/numba/numba.git@0aaf62d830e7a9d1dc5ffbf710a7cd38caa52d1a#egg=numba
numpy==1.21.6
packaging==24.0
pluggy==1.2.0
pytest==7.4.4
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
      - exceptiongroup==1.2.2
      - importlib-metadata==6.7.0
      - iniconfig==2.0.0
      - llvmlite==0.31.0
      - numpy==1.21.6
      - packaging==24.0
      - pluggy==1.2.0
      - pytest==7.4.4
      - tomli==2.0.1
      - typing-extensions==4.7.1
      - zipp==3.15.0
prefix: /opt/conda/envs/numba

numba/tests/test_dictobject.py::TestDictIterator::test_dict_iterator
numba/tests/test_dictobject.py::TestDictObject::test_007_collision_checks
numba/tests/test_dictobject.py::TestDictObject::test_001_cannot_downcast_key numba/tests/test_dictobject.py::TestDictObject::test_002_cannot_downcast_default numba/tests/test_dictobject.py::TestDictObject::test_003_cannot_downcast_key numba/tests/test_dictobject.py::TestDictObject::test_004_cannot_downcast_key numba/tests/test_dictobject.py::TestDictObject::test_005_cannot_downcast_value numba/tests/test_dictobject.py::TestDictObject::test_006_cannot_downcast_key numba/tests/test_dictobject.py::TestDictObject::test_008_lifo_popitem numba/tests/test_dictobject.py::TestDictObject::test_010_cannot_downcast_default numba/tests/test_dictobject.py::TestDictObject::test_011_cannot_downcast_key numba/tests/test_dictobject.py::TestDictObject::test_012_cannot_downcast_key numba/tests/test_dictobject.py::TestDictObject::test_013_contains_empty_dict numba/tests/test_dictobject.py::TestDictObject::test_014_not_contains_empty_dict numba/tests/test_dictobject.py::TestDictObject::test_015_dict_clear numba/tests/test_dictobject.py::TestDictObject::test_016_cannot_downcast_key numba/tests/test_dictobject.py::TestDictObject::test_017_cannot_downcast_default numba/tests/test_dictobject.py::TestDictObject::test_018_keys_iter_are_views numba/tests/test_dictobject.py::TestDictObject::test_020_string_key numba/tests/test_dictobject.py::TestDictObject::test_021_long_str_key numba/tests/test_dictobject.py::TestDictObject::test_022_references_juggle numba/tests/test_dictobject.py::TestDictObject::test_023_closure numba/tests/test_dictobject.py::TestDictObject::test_dict_bool numba/tests/test_dictobject.py::TestDictObject::test_dict_clear numba/tests/test_dictobject.py::TestDictObject::test_dict_contains numba/tests/test_dictobject.py::TestDictObject::test_dict_copy numba/tests/test_dictobject.py::TestDictObject::test_dict_create numba/tests/test_dictobject.py::TestDictObject::test_dict_delitem numba/tests/test_dictobject.py::TestDictObject::test_dict_equality numba/tests/test_dictobject.py::TestDictObject::test_dict_equality_diff_type numba/tests/test_dictobject.py::TestDictObject::test_dict_equality_more numba/tests/test_dictobject.py::TestDictObject::test_dict_get numba/tests/test_dictobject.py::TestDictObject::test_dict_get_with_default numba/tests/test_dictobject.py::TestDictObject::test_dict_getitem numba/tests/test_dictobject.py::TestDictObject::test_dict_items numba/tests/test_dictobject.py::TestDictObject::test_dict_iter numba/tests/test_dictobject.py::TestDictObject::test_dict_keys numba/tests/test_dictobject.py::TestDictObject::test_dict_pop numba/tests/test_dictobject.py::TestDictObject::test_dict_pop_many numba/tests/test_dictobject.py::TestDictObject::test_dict_popitem numba/tests/test_dictobject.py::TestDictObject::test_dict_popitem_many numba/tests/test_dictobject.py::TestDictObject::test_dict_setdefault numba/tests/test_dictobject.py::TestDictObject::test_dict_to_from_meminfo numba/tests/test_dictobject.py::TestDictObject::test_dict_values numba/tests/test_dictobject.py::TestDictTypeCasting::test_cast_bool_to numba/tests/test_dictobject.py::TestDictTypeCasting::test_cast_float_to numba/tests/test_dictobject.py::TestDictTypeCasting::test_cast_int_to numba/tests/test_dictobject.py::TestTypedDict::test_basic numba/tests/test_dictobject.py::TestTypedDict::test_compiled numba/tests/test_dictobject.py::TestTypedDict::test_copy_from_dict numba/tests/test_dictobject.py::TestTypedDict::test_repr numba/tests/test_dictobject.py::TestTypedDict::test_str numba/tests/test_dictobject.py::TestDictRefctTypes::test_delitem numba/tests/test_dictobject.py::TestDictRefctTypes::test_dict_of_dict_int_keyval numba/tests/test_dictobject.py::TestDictRefctTypes::test_dict_of_dict_npm numba/tests/test_dictobject.py::TestDictRefctTypes::test_getitem_return_type numba/tests/test_dictobject.py::TestDictRefctTypes::test_storage_model_mismatch numba/tests/test_dictobject.py::TestDictRefctTypes::test_str_key numba/tests/test_dictobject.py::TestDictRefctTypes::test_str_key_array_value numba/tests/test_dictobject.py::TestDictRefctTypes::test_str_val numba/tests/test_dictobject.py::TestDictForbiddenTypes::test_disallow_list numba/tests/test_dictobject.py::TestDictForbiddenTypes::test_disallow_set numba/tests/test_dictobject.py::TestDictInferred::test_conflict_key_type_non_number numba/tests/test_dictobject.py::TestDictInferred::test_conflicting_key_type numba/tests/test_dictobject.py::TestDictInferred::test_conflicting_value_type numba/tests/test_dictobject.py::TestDictInferred::test_define_after_use numba/tests/test_dictobject.py::TestDictInferred::test_dict_of_dict numba/tests/test_dictobject.py::TestDictInferred::test_ifelse_empty_one_branch numba/tests/test_dictobject.py::TestDictInferred::test_ifelse_filled_both_branches numba/tests/test_dictobject.py::TestDictInferred::test_loop numba/tests/test_dictobject.py::TestDictInferred::test_simple_args numba/tests/test_dictobject.py::TestDictInferred::test_simple_literal numba/tests/test_dictobject.py::TestDictInferred::test_simple_upcast numba/tests/test_dictobject.py::TestDictInferred::test_unused numba/tests/test_dictobject.py::TestNonCompiledInfer::test_check_untyped_dict_ops numba/tests/test_dictobject.py::TestNonCompiledInfer::test_getitem numba/tests/test_dictobject.py::TestNonCompiledInfer::test_setdefault numba/tests/test_dictobject.py::TestDictWithJitclass::test_jitclass_as_value numba/tests/test_dictobject.py::TestNoJit::test_dict_create_no_jit_using_Dict numba/tests/test_dictobject.py::TestNoJit::test_dict_create_no_jit_using_empty numba/tests/test_dictobject.py::TestNoJit::test_dict_create_no_jit_using_new_dict
numba/core/types/containers.py
numba/core/types/containers.py