Skip to content

Releasing v3.2 #457

Description

@kazu-yamamoto

Breaking changes may include:

Activity

  1. kazu-yamamoto commented on May 19, 2020

    @kazu-yamamoto
    CollaboratorAuthor

    SinceStrict changes behavior, we need the following to pass tests:

    diff --git a/Network/Socket/Types.hsc b/Network/Socket/Types.hsc
    index 8cbe9fc..853ad0c 100644
    --- a/Network/Socket/Types.hsc
    +++ b/Network/Socket/Types.hsc
    @@ -935,6 +935,7 @@ class SocketAddress sa where
     sockaddrStorageLen :: Int
     sockaddrStorageLen = 128
     
    +{-# NOINLINE withSocketAddress #-}
     withSocketAddress :: SocketAddress sa => sa -> (Ptr sa -> Int -> IO a) -> IO a
     withSocketAddress addr f = do
         let sz = sizeOfSocketAddress addr
    @@ -1050,6 +1051,9 @@ sizeOfSockAddr SockAddrUnix{}  = error "sizeOfSockAddr: not supported"
     sizeOfSockAddr SockAddrInet{}  = #const sizeof(struct sockaddr_in)
     sizeOfSockAddr SockAddrInet6{} = #const sizeof(struct sockaddr_in6)
     
    +-- The combination of "-XString" and inlining results in a bug where
    +-- "sz" is always 0.
    +{-# NOINLINE withSockAddr #-}
     -- | Use a 'SockAddr' with a function requiring a pointer to a
     -- 'SockAddr' and the length of that 'SockAddr'.
     withSockAddr :: SockAddr -> (Ptr SockAddr -> Int -> IO a) -> IO a
    
  2. kazu-yamamoto commented on May 19, 2020

    @kazu-yamamoto
    CollaboratorAuthor

    For Strict, Storable instances should be defined with lazy bindings.

  3. eborden commented on May 20, 2020

    @eborden
    Collaborator

    I created a project for tracking progress on 3.2.0.0.

    https://github.com/haskell/network/projects/5

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions