SwiftUI ForEach asks that items are Hashable and Equatable for some reason?

I am following the CS193P Stanford class, in which we are supposed to build a ForEach view with an array of this type of element :

struct Card : Identifiable {
    var isFaceUp : Bool = true
    var isMatched : Bool = false
    var content : CardContent
    var id: Int

As you can see, this struct conforms to the Identifiable protocol, which according to the documentation should be enough for it to work in a ForEach (Provided the type of id is Hashable, which Int is)

Yet I get the following error :

Generic struct 'ForEach' requires that 'MemoryGame<String>.Card' conform to 'Hashable'

Why is it asking that ? The only thing the docs say is that the type of id should be Hashable, nothing about the entire struct being Hashable 😡

The error hints also want me to add Equatable but I can't seem to understand why, there is no reported error linked to that

NB : I am building in XCode 13 on macOS Monterey 12.0.1 with iOS 15 as a target

How many English words
do you know?
Test your English vocabulary size, and measure
how many words do you know
Online Test
Powered by Examplum