title: the trait `From<Errors>` is not implemented for `anchor_lang::prelude::ProgramError`
body: <p>I am trying to write errors enum in a solana smart contract:</p>
  <pre><code>use anchor_lang::prelude::*;
  
  #[error]
  pub enum Errors {
      #[msg(&quot;User cannot be created, missing data&quot;)]
      CannotCreateUser,
  
      #[msg(&quot;Cannot have more than 5 likes&quot;)]
      ReachedMaxLikes,
  
  }
  </code></pre>
  <p>I used it like this</p>
  <pre><code>if image.likes == NUMBER_OF_ALLOWED_LIKES_SPACE  {
              return Err(Errors::ReachedMaxLikes.into());
          }
  </code></pre>
  <p>I get this error</p>
  <pre><code>return Err(Errors::ReachedMaxLikes.into());
     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From&lt;Errors&gt;` is not implemented for `anchor_lang::prelude::ProgramError`
     |
  </code></pre>
  <p>Instead of <code>[error]</code>, I used <code>[ProgramError]</code> and <code>#[derive(ProgramError)]</code> but error message still exists</p>