in ctxtool/merge.go [177:189]
func MergeDeadline(ctx context.Context, deadliner deadliner) context.Context {
deadline, ok := deadliner.Deadline()
if !ok {
return ctx
}
ctxDeadline, ok := ctx.Deadline()
if ok && ctxDeadline.Before(deadline) {
return ctx
}
return &mergedDeadlineCtx{ctx, deadline}
}