tuddman / priority-map-test

0 stars 0 forks source link

protojure 1.5.1 causes compilation error with clojure.data.priority-map 1.0.0 #1

Open tuddman opened 4 years ago

tuddman commented 4 years ago

merely including [protojure "1.5.1"] in a project :dependencies with clojure.data.priority-map is enough to cause the error below.

If protojure is not included in the project (protojure dependency removed), the example code in priority-map-test.core namespace works fine.

$ cd priority-map-test
$ lein clean && lein deps && lein repl

#error {
 :cause subseq does not exist
 :via
 [{:type clojure.lang.Compiler$CompilerException
   :message Syntax error compiling at (priority_map_test/core.clj:1:1).
   :data #:clojure.error{:phase :compile-syntax-check, :line 1, :column 1, :source priority_map_test/core.clj}
   :at [clojure.lang.Compiler load Compiler.java 7648]}
  {:type java.lang.IllegalAccessError
   :message subseq does not exist
   :at [clojure.core$refer invokeStatic core.clj 4249]}]
 :trace
 [[clojure.core$refer invokeStatic core.clj 4249]
  [clojure.core$refer doInvoke core.clj 4217]
  [clojure.lang.RestFn applyTo RestFn.java 139]
  [clojure.core$apply invokeStatic core.clj 667]
  [clojure.core$load_lib invokeStatic core.clj 5966]
  [clojure.core$load_lib doInvoke core.clj 5928]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invokeStatic core.clj 667]
  [clojure.core$load_libs invokeStatic core.clj 5985]
  [clojure.core$load_libs doInvoke core.clj 5969]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invokeStatic core.clj 667]
  [clojure.core$require invokeStatic core.clj 6007]
  [clojure.core$require doInvoke core.clj 6007]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [priority_map_test.core$eval149$loading__6721__auto____150 invoke core.clj 1]
  [priority_map_test.core$eval149 invokeStatic core.clj 1]
  [priority_map_test.core$eval149 invoke core.clj 1]
  [clojure.lang.Compiler eval Compiler.java 7177]
  [clojure.lang.Compiler eval Compiler.java 7166]
  [clojure.lang.Compiler load Compiler.java 7636]
  [clojure.lang.RT loadResourceScript RT.java 381]
  [clojure.lang.RT loadResourceScript RT.java 372]
  [clojure.lang.RT load RT.java 459]
  [clojure.lang.RT load RT.java 424]
  [clojure.core$load$fn__6839 invoke core.clj 6126]
  [clojure.core$load invokeStatic core.clj 6125]
  [clojure.core$load doInvoke core.clj 6109]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invokeStatic core.clj 5908]
  [clojure.core$load_one invoke core.clj 5903]
  [clojure.core$load_lib$fn__6780 invoke core.clj 5948]
  [clojure.core$load_lib invokeStatic core.clj 5947]
  [clojure.core$load_lib doInvoke core.clj 5928]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invokeStatic core.clj 667]
  [clojure.core$load_libs invokeStatic core.clj 5985]
  [clojure.core$load_libs doInvoke core.clj 5969]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invokeStatic core.clj 667]
  [clojure.core$require invokeStatic core.clj 6007]
  [clojure.core$require doInvoke core.clj 6007]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [user$eval5 invokeStatic form-init3038316899948549798.clj 1]
  [user$eval5 invoke form-init3038316899948549798.clj 1]
  [clojure.lang.Compiler eval Compiler.java 7177]
  [clojure.lang.Compiler eval Compiler.java 7166]
  [clojure.lang.Compiler eval Compiler.java 7166]
  [clojure.lang.Compiler load Compiler.java 7636]
  [clojure.lang.Compiler loadFile Compiler.java 7574]
  [clojure.main$load_script invokeStatic main.clj 475]
  [clojure.main$init_opt invokeStatic main.clj 477]
  [clojure.main$init_opt invoke main.clj 477]
  [clojure.main$initialize invokeStatic main.clj 508]
  [clojure.main$null_opt invokeStatic main.clj 542]
  [clojure.main$null_opt invoke main.clj 539]
  [clojure.main$main invokeStatic main.clj 664]
  [clojure.main$main doInvoke main.clj 616]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.lang.Var applyTo Var.java 705]
  [clojure.main main main.java 40]]}
tuddman commented 4 years ago

temporary workaround is to inline (and rename) subseq definition here

tuddman commented 4 years ago

that workaround only works if you inline the entire namespace as a local project ns. not ideal.