diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2026-01-30 12:15:53 +0000 |
|---|---|---|
| committer | gingerBill <gingerBill@users.noreply.github.com> | 2026-01-30 12:15:53 +0000 |
| commit | dfda1b28570fbe214712ebbd39ac0aecebf7d341 (patch) | |
| tree | 44ba57f52c8920b58d4ce307dc8929f79b855568 /src/check_type.cpp | |
| parent | 2397633618d4cc06a8e72164d2db77b317f983b4 (diff) | |
| parent | c4952c0b7e91e4e10195593e322c1259d2c9ab33 (diff) | |
Merge branch 'master' of https://github.com/odin-lang/Odin
Diffstat (limited to 'src/check_type.cpp')
| -rw-r--r-- | src/check_type.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/check_type.cpp b/src/check_type.cpp index 41c5f48d1..b1d0045e9 100644 --- a/src/check_type.cpp +++ b/src/check_type.cpp @@ -1845,11 +1845,14 @@ gb_internal Type *check_get_params(CheckerContext *ctx, Scope *scope, Ast *_para Type *specialization = nullptr; bool is_using = (p->flags&FieldFlag_using) != 0; - if ((check_vet_flags(param) & VetFlag_UsingParam) && is_using) { - ERROR_BLOCK(); - error(param, "'using' on a procedure parameter is not allowed when '-vet' or '-vet-using-param' is applied"); - error_line("\t'using' is considered bad practice to use as a statement/procedure parameter outside of immediate refactoring\n"); + + u64 feature_flags = check_feature_flags(ctx, param); + + if (is_using && (feature_flags & OptInFeatureFlag_UsingStmt) == 0) { + ERROR_BLOCK(); + error(param, "'using' has been disallowed as it is considered bad practice to use as a statement/procedure parameter outside of immediate refactoring"); + error_line("\tIt you do require it for refactoring purposes or legacy code, it can be enabled on a per-file basis with '#+feature using-stmt'\n"); } if (type_expr == nullptr) { |