lib/core: fix `Iterator::to_a` not calling `finish`
[nit.git] / lib / core / stream.nit
index ecfc77e..19ed842 100644 (file)
@@ -207,12 +207,12 @@ abstract class Reader
                        # if this is the best size or not
                        var chunksz = 129
                        if chunksz > remsp then
-                               rets += new FlatString.with_infos(sits, remsp, pos, pos + remsp - 1)
+                               rets += new FlatString.with_infos(sits, remsp, pos)
                                break
                        end
                        var st = sits.find_beginning_of_char_at(pos + chunksz - 1)
                        var bytelen = st - pos
-                       rets += new FlatString.with_infos(sits, bytelen, pos, st - 1)
+                       rets += new FlatString.with_infos(sits, bytelen, pos)
                        pos = st
                        remsp -= bytelen
                end
@@ -445,6 +445,13 @@ interface Writable
        end
 end
 
+redef class Bytes
+       super Writable
+       redef fun write_to(s) do s.write_bytes(self)
+
+       redef fun write_to_string do return to_s
+end
+
 redef class Text
        super Writable
        redef fun write_to(stream) do stream.write(self)