Browse Source

lang: Add a sanity check for unimplemented token extensions (#3090)

acheron 1 year ago
parent
commit
0dd6b4e57d
2 changed files with 4 additions and 1 deletions
  1. 1 0
      CHANGELOG.md
  2. 3 1
      lang/syn/src/codegen/accounts/constraints.rs

+ 1 - 0
CHANGELOG.md

@@ -26,6 +26,7 @@ The minor version will be incremented upon a breaking change and the patch versi
 - lang: Remove `getrandom` dependency ([#3072](https://github.com/coral-xyz/anchor/pull/3072)).
 - lang: Make `InitSpace` support unnamed & unit structs ([#3084](https://github.com/coral-xyz/anchor/pull/3084)).
 - lang: Fix using `owner` constraint with `Box`ed accounts ([#3087](https://github.com/coral-xyz/anchor/pull/3087)).
+- lang: Add a sanity check for unimplemented token extensions ([#3090](https://github.com/coral-xyz/anchor/pull/3090)).
 
 ### Breaking
 

+ 3 - 1
lang/syn/src/codegen/accounts/constraints.rs

@@ -937,7 +937,9 @@ fn generate_constraint_init_group(
                                             mint: #field.to_account_info(),
                                         }), #permanent_delegate.unwrap())?;
                                     },
-                                    _ => {} // do nothing
+                                    // All extensions specified by the user should be implemented.
+                                    // If this line runs, it means there is a bug in the codegen.
+                                    _ => unimplemented!("{e:?}"),
                                 }
                             };
                         }