Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't define Semigroup Binary.Builder instance with binary-0.8.3 and later #66

Merged
merged 1 commit into from
May 29, 2016
Merged

Don't define Semigroup Binary.Builder instance with binary-0.8.3 and later #66

merged 1 commit into from
May 29, 2016

Conversation

RyanGlScott
Copy link
Collaborator

binary-0.8.3 changes its Builder representation to be a synonym for bytestring's Builder, which already has a Semigroup instance. To avoid instance conflicts, this PR guards the Semigroup Binary.Builder instance with CPP.

Fixes #65.

@hvr
Copy link
Collaborator

hvr commented Apr 28, 2016

@RyanGlScott any suggestion for cabal-edits on hackage? (I haven't given this any thought at all yet)

/cc @bergmark @phadej

@RyanGlScott
Copy link
Collaborator Author

@hvr, would it suffice to retroactively change the version bounds for the binary dependency to < 0.8.3? Luckily, semigroups-0.18.1 is the only release to have the Semigroup Binary.Builder instance.

@RyanGlScott
Copy link
Collaborator Author

Urgh, Travis is failing because of a binary issue: kolmodin/binary#113

@RyanGlScott
Copy link
Collaborator Author

@kolmodin
Copy link

kolmodin commented May 3, 2016

I think the proposed fix in this PR is the correct fix.

Currently semigroups-0.18.1 has the constraint binary < 0.8.3.0 which makes binary's dependencies unable to depend on semigroups! Currently that means that I can run the benchmarks for binary.

$ cabal new-configure 
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: binary-0.8.3.0 (user goal)
trying: semigroups-0.18.1 (dependency of aeson-0.11.2.0)
trying: semigroups-0.18.1:+transformers
trying: semigroups-0.18.1:+hashable
trying: semigroups-0.18.1:+unordered-containers
trying: semigroups-0.18.1:+text
trying: semigroups-0.18.1:+tagged
trying: semigroups-0.18.1:+deepseq
trying: semigroups-0.18.1:+containers
trying: semigroups-0.18.1:+bytestring
rejecting: semigroups-0.18.1:+binary (conflict: binary==0.8.3.0,
semigroups-0.18.1:binary => binary<0.8.3)
rejecting: semigroups-0.18.1:-binary (manual flag can only be changed
explicitly)
Backjump limit reached (currently 2000, change with --max-backjumps or try to
run with --reorder-goals).

@glguy glguy merged commit ef1a256 into ekmett:master May 29, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants