Rudin's proof that 'every neighbourhood is open' goes as follows:
By the supposition, for some metric space $X$ with metric d, there exists a neighborhood $N_r$ around $p$ with some radius $r$.
For all points $q \in N_r,\;d(p,q)=r-\varepsilon<r$ for some positve $\varepsilon$. Consider a point $s$ in $X$ such that $d(s,q)<\varepsilon$. Then:
$$d(p,s)\leq d(p,q)+d(q,s)<r-\varepsilon\;+\varepsilon$$ $$\implies d(p,s)<r$$
Such an argument applies for all points in the neighbourhood $N_\varepsilon$ around point $q$. So all points in $N_r$ are interior points and thus $N_r$ is open.
My question originates on whether we know for certain that such a point $s$ exists. Consider for example the subset of $\mathbb{R}$:
$$X=\{0, 0.2, 0.9\}$$
With $p=0$, $q=0.9$, $r=1$ and $\varepsilon=0.1$. There is no point $s$ in the neighborhood such that $d(q,s)<\varepsilon$.
My question: How does the proof hold if the proposed neighborhood $N_\varepsilon$ around $q$ can be empty (note by Rudin's definition, a neighborhood around a point doesn't include the point itself)?
Definitions:
A neighborhood with radius $r$, $N_r$ around $p$, is the set: $\,N_r=\{q\;|\;d(p,q)<r\}$ for some $r>0$.
An interior point of set E is one such that a neighborhood exists around it that is a subset of E.
An open point is a set such that all points within it are interior points.