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

exceptions-0.9.0 out of bounds #3315

Closed
33 of 68 tasks
mihaimaruseac opened this issue Feb 25, 2018 · 27 comments
Closed
33 of 68 tasks

exceptions-0.9.0 out of bounds #3315

mihaimaruseac opened this issue Feb 25, 2018 · 27 comments

Comments

@mihaimaruseac
Copy link
Contributor

mihaimaruseac commented Feb 25, 2018

exceptions-0.9.0 (Edward Kmett ekmett@gmail.com @ekmett) is out of bounds for:

@RyanGlScott
Copy link
Contributor

Note to authors: exceptions-0.9 introduces a new generalBracket method to MonadMask, which functions like bracket and finally are now implemented in terms of. There's no way to make a default implementation for generalBracket that would work in all cases, so if your library defines a MonadMask instance, you will need to define your own generalBracket implementation. Refer to the documentation for generalBracket for examples of how to do this.

(Also, I've revised the upper version bounds on exceptions accordingly for criterion-1.2.6.0 on Hackage.)

@mrkkrp
Copy link
Contributor

mrkkrp commented Feb 26, 2018

Fixed for:

  • cue-sheet-1.0.1 (revision 1)
  • flac-0.1.2 (revision 1)
  • lame-0.1.1 (revision 1)

Gabriella439 added a commit to Gabriella439/Haskell-Errors-Library that referenced this issue Feb 26, 2018
Gabriella439 added a commit to Gabriella439/turtle that referenced this issue Feb 26, 2018
@Gabriella439
Copy link
Contributor

@RyanGlScott: You said that there is no default implementation of generalBracket, but it seems like this would be a sensible default for an implementation that already defines mask:

    generalBracket acquire release clean use = mask $ \unmasked -> do
      resource <- acquire
      result <- unmasked (use resource) `catch` (\e -> do
        _ <- clean resource e
        throwM e )
      _ <- release resource
      return result

Is there something unsafe about that?

@RyanGlScott
Copy link
Contributor

See @snoyberg's comments here. The implementation you propose does not work for monad transformers with multiple exit points, such as ExceptT.

@barrucadu
Copy link
Contributor

Fixed in concurrency-1.4.0.1, dejafu-1.1.0.1, hunit-dejafu-1.0.1.2, and irc-client-1.0.1.1

@parsonsmatt
Copy link
Contributor

Fixed in monad-logger-prefix-0.1.8

@valderman
Copy link
Contributor

Fixed for:

  • selda-0.1.12 (revision 1)
  • selda-sqlite-0.1.6.0 (revision 1)
  • selda-postgresql-0.1.7.1 (revision 1)

@mrkkrp
Copy link
Contributor

mrkkrp commented Feb 27, 2018

Fixed for:

  • modern-uri-0.2.0.0 (revision 2)
  • pagination-0.2.1 (revision 1)
  • path-io-1.3.3 (revision 1)
  • plan-b-0.2.1 (revision 2)
  • slug-0.1.7 (revision 1)

tarleb added a commit to hslua/hslua that referenced this issue Feb 27, 2018
@tarleb
Copy link
Contributor

tarleb commented Feb 27, 2018

Fixed in hslua-0.9.5.1.

@mrkkrp
Copy link
Contributor

mrkkrp commented Feb 28, 2018

Fixed for:

  • zip-0.2.0 (revision 2)

Gabriella439 added a commit to Gabriella439/turtle that referenced this issue Feb 28, 2018
@parsonsmatt
Copy link
Contributor

Fixed in monad-metrics-0.2.1.1

@PierreR
Copy link
Contributor

PierreR commented Mar 1, 2018

Fixed in language-puppet-1.3.16

@jgm
Copy link
Contributor

jgm commented Mar 3, 2018 via email

@MichelBoucey
Copy link
Contributor

Fixed in cayley-client-0.4.4

@freizl
Copy link
Contributor

freizl commented Mar 4, 2018

hoauth-1.7.1

@psibi
Copy link
Member

psibi commented Mar 6, 2018

Fixed in shelly-1.7.1

@Ferdinand-vW
Copy link
Contributor

Fixed for:

  • sessiontypes-0.1.2 (revision 1)
  • sessiontypes-distributed-0.1.1 (revision 1)

@jship
Copy link
Contributor

jship commented Mar 10, 2018

Fixed in logging-effect-extra-handler-1.1.3.

@ocharles also fixed in logging-effect-1.2.4.

@polarina
Copy link
Contributor

Fixed in sdl2-2.4.0

@phadej
Copy link
Contributor

phadej commented Mar 11, 2018

Note: there might be exceptions-0.10 soon: ekmett/exceptions#64 (comment)

@RyanGlScott
Copy link
Contributor

Indeed. I've just uploaded exceptions-0.10.0 to Hackage.

The reason I had to crank out a new major release so shortly after the most recent one is because 0.9.0 inadvertently introduced a regression in which non-IO effects in bracket's "use" action become no longer visible to the "release" action. Unfortunately, fixing this required generalizing the type of generalBracket even further, which means you'll have to update your MonadMask implementations again. (I've went ahead and deprecated exceptions-0.9.0 so that folks won't be expected to support it through CPP.)

I apologize for the major version churn, but this was a bit of an exceptional situation (har har).

@snoyberg
Copy link
Contributor

snoyberg commented Mar 11, 2018 via email

@jacobstanley
Copy link
Contributor

Fixed in hedgehog-0.5.3

@CristhianMotoche
Copy link
Contributor

We updated dotenv-hs to dotenv-hs-0.5.2.4. The problem must be solved now. 😄

@harendra-kumar
Copy link
Contributor

Uploaded new versions of streamly and monad-recorder.

@jship
Copy link
Contributor

jship commented Mar 20, 2018

Uploaded logging-effect-extra-handler-1.1.4 to allow exceptions-0.10.

@DanBurton
Copy link
Contributor

This issue has been superseded by #3615

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests