Why doesn't `io::stdin().lock().lines().count()` work?

Ah, thanks for the reference to the drop check rule. That makes a lot of sense. It seems, then, that this example doesn't need RFC 66; it would only need temporary values to have distinct, nested lifetimes—a smaller change. ...Right?

In any case the current error message is not great. There's no good place for the "temporary value dropped here" message to point to.