mirror of
				https://github.com/janet-lang/janet
				synced 2025-10-31 07:33:01 +00:00 
			
		
		
		
	Registering an abstract type is idemptotent.
This commit is contained in:
		| @@ -449,7 +449,8 @@ void janet_cfuns(JanetTable *env, const char *regprefix, const JanetReg *cfuns) | |||||||
|  |  | ||||||
| void janet_register_abstract_type(const JanetAbstractType *at) { | void janet_register_abstract_type(const JanetAbstractType *at) { | ||||||
|     Janet sym = janet_csymbolv(at->name); |     Janet sym = janet_csymbolv(at->name); | ||||||
|     if (!(janet_checktype(janet_table_get(janet_vm_abstract_registry, sym), JANET_NIL))) { |     Janet check = janet_table_get(janet_vm_abstract_registry, sym); | ||||||
|  |     if (!janet_checktype(check, JANET_NIL) && at != janet_unwrap_pointer(check)) { | ||||||
|         janet_panicf("cannot register abstract type %s, " |         janet_panicf("cannot register abstract type %s, " | ||||||
|                      "a type with the same name exists", at->name); |                      "a type with the same name exists", at->name); | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Calvin Rose
					Calvin Rose