Răsfoiți Sursa

Merge pull request #4376 from andyli/extern-field-name

Allow extern to have field name that is used for both static and instance
Simon Krajewski 10 ani în urmă
părinte
comite
b753b1b041
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      typeload.ml

+ 1 - 1
typeload.ml

@@ -2707,7 +2707,7 @@ module ClassInitializer = struct
 					()
 				| FKNormal ->
 					let dup = if fctx.is_static then PMap.exists cf.cf_name c.cl_fields || has_field cf.cf_name c.cl_super else PMap.exists cf.cf_name c.cl_statics in
-					if not cctx.is_native && dup then error ("Same field name can't be use for both static and instance : " ^ cf.cf_name) p;
+					if not cctx.is_native && not c.cl_extern && dup then error ("Same field name can't be use for both static and instance : " ^ cf.cf_name) p;
 					if List.mem AOverride f.cff_access then c.cl_overrides <- cf :: c.cl_overrides;
 					let is_var f = match cf.cf_kind with | Var _ -> true | _ -> false in
 					if PMap.mem cf.cf_name (if fctx.is_static then c.cl_statics else c.cl_fields) then