bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6b110e578d24b2a99c4c1b158433327a0a43ce1a

commit 6b110e578d24b2a99c4c1b158433327a0a43ce1a
Author: Cedric BAIL <cedric.b...@free.fr>
Date:   Thu Jan 2 15:41:36 2020 -0800

    eolian: enforce that list<> can only be used with @beta API.
    
    Reviewed-by: Daniel Kolesa <dan...@octaforge.org>
    Differential Revision: https://phab.enlightenment.org/D11050
---
 src/lib/eolian/Eolian.h            | 5 +++++
 src/lib/eolian/database_validate.c | 4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index db0421634a..7f19ff93e7 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -336,7 +336,12 @@ typedef enum
    EOLIAN_TYPE_BUILTIN_ARRAY,
    EOLIAN_TYPE_BUILTIN_FUTURE,
    EOLIAN_TYPE_BUILTIN_ITERATOR,
+#ifdef EFL_BETA_API_SUPPORT
    EOLIAN_TYPE_BUILTIN_LIST,
+#else
+   // Placeholder when using release API only. Done to prevent offseting the 
value below.
+   EOLIAN_TYPE_BUILTIN_BETA_PLACEHOLDER1,
+#endif
 
    EOLIAN_TYPE_BUILTIN_ANY_VALUE,
    EOLIAN_TYPE_BUILTIN_ANY_VALUE_REF,
diff --git a/src/lib/eolian/database_validate.c 
b/src/lib/eolian/database_validate.c
index b1af2185ef..1e7b072c9d 100644
--- a/src/lib/eolian/database_validate.c
+++ b/src/lib/eolian/database_validate.c
@@ -400,9 +400,9 @@ _validate_type(Validate_State *vals, Eolian_Type *tp, 
Eina_Bool by_ref,
                 int kwid = eo_lexer_keyword_str_to_id(tp->base.name);
                 if (kwid > KW_void)
                   tp->ownable = EINA_TRUE;
-                if (kwid == KW_hash && vals->stable)
+                if ((kwid == KW_hash || kwid == KW_list) && vals->stable)
                   {
-                     _eo_parser_log(&tp->base, "hashes not allowed in stable 
context");
+                     _eo_parser_log(&tp->base, "hashes and lists not allowed 
in stable context");
                      return EINA_FALSE;
                   }
                 Eolian_Type *itp = tp->base_type;

-- 


Reply via email to