Zefram wrote:
transitioning on a leap second would further require that the authority defining the timezone specifically intends it to be used with leap seconds
No, typically transitions are legally specified in terms of local time before the transition. I suppose it's theoretically possible that an authority currently using some sort of mean time could say "we change at 02:00 local time", and this is the start of, or in the middle of, a leap second. Not that the mapping between leap seconds and things like BMT are well-defined -- how does one insert a leap second at (say) 01:59:59.9 local time? I wouldn't worry about this much, as it's never happened in the past and is unlikely to occur in the future.
it is sensible to represent a timezone's behaviour in a way that's independent of the local interpretation of time_t. Decoding time_t to a UTC time should be a separate step from converting a UTC time to local time.
Ah, so the local authority says "we change our time zone at 02:30 local time", but due to a daylight-saving transition there are two instants of time labeled 02:30 local time, and the law states somewhere else which of the two instants they mean, but the tz format gives no way to specify which local time is meant. This would set a new record for legal cluelessness about time. It isn't going to happen, but the current zic input format could model it with the "s" or "u" suffix, I suppose.