My boyfriend used to be a heavy drug addict and he says he is clean, even though I find him lying to me and hiding his occasional drug use from me. I can't ever talk to him about anything because he gets mad and tells me to grow up and keeps on lying. How do I talk to him about how I feel about this and how do I get him to be honest with me instead of hiding everything from me?
What will it take to get you out of the fantasy world that you are living in? A drug user is not clean if he is occasionally using drugs. Though you have caught him a few times, the reality is that you have only caught a few occasions. He is probably using them far more often than you know.
Of course, he is getting mad. You are standing between him and his habit and everyone else knows which is more important to him. I'm wondering why you are refusing to see it. Talking, especially about your feelings, is definitely not going to get him to change.
Drug users lie. They have to maintain their habit. They lie about their use. They lie about where they have been. They lie so often that they forget what is the truth and what is not. Even if he promised to marry you, could you believe him? If he made wedding vows, could you trust him to keep them?
The fact is that you can't make him change. He might change because he is motivated to do so, but you can't force him to change. He is a lying drug addict. So why do you want to have a liar and a drug addict for a husband and the father of your children?
The purpose of dating is to find a person to marry, not to latch on to the first person who looks moonstruck at you. In this case, it probably was the drugs anyway. You need to leave him; you should have left him a long time ago. As long as you stay he has no reason to change; he has everything he wants: a girlfriend (who provides him sex for free?) and drugs.
"Blessed is the man who walks not in the counsel of the ungodly, nor stands in the path of sinners, nor sits in the seat of the scornful" (Psalm 1:1).