spec detects error in -inc macro

Description

As reported on the Clojure mailing list by Burt:

with "1.9.0-alpha10" and core.logic "0.8.10":

(ns lwb.nd.rules
(:refer-clojure :exclude [==])
(:require [clojure.core.logic :refer :all]))
=> nil

with "1.9.0-alpha12" and core.logic "0.8.10":

(ns lwb.nd.rules
(:refer-clojure :exclude [==])
(:require [clojure.core.logic :refer :all]))
CompilerException clojure.lang.ExceptionInfo: Call to clojure.core/fn did not conform to spec:
In: [0] val: clojure.core.logic/-inc fails spec: :clojure.core.specs/arg-list at: [:args :bs :arity-1 :args] predicate: vector?
In: [0] val: clojure.core.logic/-inc fails spec: :clojure.core.specs/args+body at: [:args :bs :arity-n] predicate: (cat :args :clojure.core.specs/arg-list repost (? map?) :body (* any?))
:clojure.spec/args (clojure.core.logic/-inc [] (bind (this) g))
#:clojure.spec{roblems ({ath [:args :bs :arity-1 :args], red vector?, :val clojure.core.logic/-inc, :via [:clojure.core.specs/args+body :clojure.core.specs/arg-list :clojure.core.specs/arg-list], :in [0]} {ath [:args :bs :arity-n], red (cat :args :clojure.core.specs/arg-list repost (? map?) :body (* any?)), :val clojure.core.logic/-inc, :via [:clojure.core.specs/args+body :clojure.core.specs/args+body], :in [0]}), :args (clojure.core.logic/-inc [] (bind (this) g))}, compilingclojure/core/logic.clj:1130:5)

Environment

Clojure 1.9.0-alpha12

Assignee

David Nolen

Reporter

Steve Miner

Labels

None

Approval

None

Patch

Code

Priority

Major
Configure