Accumulation points / Cluster points / Closed sets In a topological space $X$, call $x\in X$ an accumulation point if $\forall$ open set $U\ni x$, $U \cap A \neq \emptyset$, and $y\in X$ a cluster point if $\forall$ open set $U\ni y$, $U\cap A\setminus \{y\} \neq \emptyset$. (These are the terminologies used by my lecturer. I'm aware that different ones exist.)
Call a set $A\subseteq X$ closed if its complement is open.
My lecturer gave us a proof that $A$ is closed iff $A$ contains all of its accumulation points (see below). However, I managed to modify it to show that $A$ is closed iff $A$ contains all of its cluster points (see below, marked with []). What went wrong here? If the latter is false in general, in what special cases is it true (I heard it's true in metric spaces)?
The proof: 
($\Rightarrow$): Suppose $A$ is closed and $x_0 \in X \setminus A$. Take $U:= X\setminus A$, an open set containing $x_0$. Now  $U\cap A =\emptyset$, so $x_0$ is not an accumulation point.
[$x_0$ is not an accumulation point and so it is not a cluster point either.]
($\Leftarrow$): Suppose $A$ is not closed, then $X\setminus A$ is not open. $\exists x_0 \in X\setminus A$ such that no open set $U\ni x_0$ is contained in $X\setminus A$, i.e. any open set $U\ni x_0$ satisfies $U\cap A \neq \emptyset$. So $x_0$ is an accumulation point of $A$ but not in $A$.
[For this $x_0$, note that $x_0 \notin U\cap A$ because $x_0 \notin A$. So any open set $U\ni x_0$ satisfies $U\cap A \setminus \{x_0\} \neq \emptyset$, i.e. $x_0$ is a cluster point of $A$ but not in $A$.]
 A: Your result is correct, as is your argument. You can even prove directly that if $A$ contains all of its cluster points, then it contains all of its accumulation points. Suppose that a set $A$ contains all of its cluster points but fails to contain its accumulation point $x$. Then $x$ is not a cluster point, so $x$ has an open nbhd $U$ such that $U\cap A\subseteq\{x\}$. But $x\notin A$, so $U\cap A=\varnothing$, contradicting the assumption that $x$ was an accumulation point of $A$.
Added: Your lecturer could have proved a stronger result. Let $\operatorname{cl}A$ be the set of accumulation points of $A$; then $A$ is closed iff $A=\operatorname{cl}A$. Suppose first that $A$ is closed. You’ve already proved that $A\supseteq\operatorname{cl}A$, and it’s clear that every point of $A$ is an accumulation point of $A$, so $A=\operatorname{cl}A$. Conversely, if $A$ is not closed, you already know that it fails to contain some accumulation point, so $A\ne\operatorname{cl}A$. 
This stronger result fails for cluster points. Let $X$ be any $T_1$-space with at least two points, and let $x\in X$. Then $\{x\}$ is closed, but it has no cluster points, so it can’t be equal to the set of its cluster points.
