Instead of things like var ErrFoo = errors.New("foo") or return fmt.Errorf("foo: %d", n) I would like a shorthand
syntax that allows to define a new error type.
| package bulkinsert | |
| import ( | |
| "context" | |
| "database/sql" | |
| "errors" | |
| "fmt" | |
| "strings" | |
| ) |
| package mysql | |
| import ( | |
| "bytes" | |
| "context" | |
| "database/sql" | |
| "encoding/csv" | |
| "errors" | |
| "fmt" | |
| "io" |
| package xsync | |
| import "sync" | |
| type TryLocker interface { | |
| sync.Locker // Lock(); Unlock() | |
| TryLock() bool | |
| } | |
| // LockAndDo will acquire the lock l and execute fn. |
| package batchgetter | |
| type Getter[I, T any] interface { | |
| Get(context.Context, []I) ([]T, error) | |
| } | |
| type BatchGetter[I, T any] struct { | |
| parent Getter[I, T] | |
| batchWait time.Duration | |
| package main | |
| import "fmt" | |
| func genOptIface(name string, opt ...string) { | |
| if len(opt) == 0 { | |
| panic("zero opt types") | |
| } | |
| if len(opt) > 10 { | |
| panic("too many opt types") |
| #include <immintrin.h> | |
| #include <stdint.h> | |
| int getIndexOf(__m512i const *values, int64_t target) | |
| { | |
| __m512i valuesSimd = _mm512_loadu_si512(values); | |
| __m512i targetSplatted = _mm512_set1_epi64(target); | |
| __mmask8 equalMask = _mm512_cmpeq_epi64_mask(valuesSimd, targetSplatted); | |
| uint32_t equalMaskInt = _cvtmask8_u32(equalMask); | |
| int index = _tzcnt_u32(equalMaskInt); |
| %%{ | |
| utf8 = | |
| ( 0..127 | 192..223 128..191 | 224..239 128..191 128..191 | 240..247 128..191 128..191 128..191 ) | |
| - ( 244 144..191 any any | 245..247 any any any ) # over U+10FFFF | |
| - ( 0xC0..0xC1 any ) # overlong 2-byte encodings | |
| - ( 224 128..159 any ) # overlong 3-byte encodings | |
| - ( 240 128..143 any any ) # overlong 4-byte encodings | |
| - ( 237 160..191 any ) # invalid utf-16 surrogate pairs | |
| ; | |
| main := utf8* ; |
| // libdivide.h - Optimized integer division | |
| // https://libdivide.com | |
| // | |
| // Copyright (C) 2010 - 2021 ridiculous_fish, <libdivide@ridiculousfish.com> | |
| // Copyright (C) 2016 - 2021 Kim Walisch, <kim.walisch@gmail.com> | |
| // | |
| // libdivide is dual-licensed under the Boost or zlib licenses. | |
| // You may use libdivide under the terms of either of these. | |
| // See LICENSE.txt for more details. |
| package main | |
| import ( | |
| "encoding" | |
| "fmt" | |
| "reflect" | |
| "regexp" | |
| "strconv" | |
| "time" | |
| ) |