AZ
Size: a a a
AZ
r
for<T: ?Sized> <T as Object>::Output: 'static , так как есть blanket implementation. С другой стороны <dyn Object<Output=&'a u64> as Object>::Output == 'a, потому что так сказали. То, что конкретных типов, подходящих под dyn Object<Output=&'a u64> быть не может, не учитывается.Ct
Ct
transmute_lifetimer
trait Object {
type Output: 'static;
}dyn Object<Output = ...> вообще не проверяется, что-ли?Ct
P
S.repeatM (T.hGetLine iHandle)вот нетормозящий вариант
>>= splitColumns
& S.fold (SF.drainBy $ T.hPutStr oHandle)
& serially
& S.drain
& handleEof
where
splitColumns = S.fromList . fmap (<> "\n") . T.split (== ',')
λ
P
λ
λ
a,b,c
d,e,f
->
a
b
c
d
e
f
λ
λ
P
λ
fmap (<> "\n")λ
map (<> "\n"), ибо там обычный списокAZ
fmap (<> "\n")P
fmap (<> "\n")λ
String -> String -> String, а String тормозной, его никто не используетAZ
String -> String -> String, а String тормозной, его никто не использует