Skip to content

Stream.transform regression #14989

@epinault

Description

@epinault

repro_standalone.sh

Elixir and Erlang/OTP versions

I am seeing a regression in 1.19.x with Stream.transform. I have a attached a repro script to demo it easily. I thought it was nimble CSV possibly but when I look at it, it just calling stream function. So maybe it is possibly something Nimble is misusing but feels like an Elixir problem instead

I have attached a repro script to make it easy to see. See the current behavior setup vs the expected behavior based on 1.18 abnd OTP27

Operating system

OSX 15.7.2 (24G325)

Current behavior

When setup with Elixir 1.19.3 and OTP 28.1.1

❯ ./repro_standalone.exs
Elixir version: 1.19.3
OTP version: 28

Testing stream consumption with to_line_stream()...

ERROR: TryClauseError caught!
Message: no try clause matching:

    {:suspended, [["John Doe"], ["WrongHeader\n"]],
     #Function<0.3469407/1 in Enumerable.Stream.do_done/2>}

Expected behavior

I am on OSX Sequoia 15.7.2 (24G325) and here are the 2 setup I ran the attached script with

When set up with elixir 1.18.3 and OTP 27

❯ ./repro_standalone.exs
Resolving Hex dependencies...
Resolution completed in 0.007s
New:
  nimble_csv 1.3.0
* Getting nimble_csv (Hex package)
==> nimble_csv
Compiling 1 file (.ex)
Generated nimble_csv app
Elixir version: 1.18.3
OTP version: 27

Testing stream consumption with to_line_stream()...

SUCCESS: Stream processed without error
Result: ["WrongHeader\n", "John Doe"]

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions