rust-lang / rust-lang/rust-analyzer

Use Bindgen Generate Rust Code And UNC Path Crash

Open
#20,360 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-bug
Dominant language
Rust
Stars
16.9k
Forks
2.2k
Avg merge
1d 12h
Merged PRs (30d)
72

Description

[Extension Info] Version 0.3.2555, Server Version 0.3.2555-standalone (db02cdc7fc 2025-07-27)

rustc version: (eg. output of rustc -V)
rustc 1.90.0-nightly (706f244db 2025-06-23)

editor or extension: (eg. VSCode, Vim, Emacs, etc. For VSCode users, specify your extension version; for users of other editors, provide the distribution if applicable)

relevant settings: (eg. client settings, or environment variables like CARGO, RUSTC, RUSTUP_HOME or CARGO_HOME)
Windows Default

repository link (if public, optional): (eg. rust-analyzer)

code snippet to reproduce:

/* automatically generated by rust-bindgen 0.72.0 */

pub const SQTrue: u32 = 1;
pub const SQFalse: u32 = 0;
pub const SQ_ALIGNMENT: u32 = 8;
pub const MAX_CHAR: u32 = 255;
pub const SQUIRREL_VERSION_NUMBER: u32 = 310;
pub const SQ_VMSTATE_IDLE: u32 = 0;
pub const SQ_VMSTATE_RUNNING: u32 = 1;
pub const SQ_VMSTATE_SUSPENDED: u32 = 2;
pub const SQUIRREL_EOB: u32 = 0;
pub const SQ_BYTECODE_STREAM_TAG: u32 = 64250;
pub const SQOBJECT_REF_COUNTED: u32 = 134217728;
pub const SQOBJECT_NUMERIC: u32 = 67108864;
pub const SQOBJECT_DELEGABLE: u32 = 33554432;
pub const SQOBJECT_CANBEFALSE: u32 = 16777216;
pub const SQ_MATCHTYPEMASKSTRING: i32 = -99999;
pub const _RT_MASK: u32 = 16777215;
pub const _RT_NULL: u32 = 1;
pub const _RT_INTEGER: u32 = 2;
pub const _RT_FLOAT: u32 = 4;
pub const _RT_BOOL: u32 = 8;
pub const _RT_STRING: u32 = 16;
pub const _RT_TABLE: u32 = 32;
pub const _RT_ARRAY: u32 = 64;
pub const _RT_USERDATA: u32 = 128;
pub const _RT_CLOSURE: u32 = 256;
pub const _RT_NATIVECLOSURE: u32 = 512;
pub const _RT_GENERATOR: u32 = 1024;
pub const _RT_USERPOINTER: u32 = 2048;
pub const _RT_THREAD: u32 = 4096;
pub const _RT_FUNCPROTO: u32 = 8192;
pub const _RT_CLASS: u32 = 16384;
pub const _RT_INSTANCE: u32 = 32768;
pub const _RT_WEAKREF: u32 = 65536;
pub const _RT_OUTER: u32 = 131072;
pub const SQ_OK: u32 = 0;
pub const SQ_ERROR: i32 = -1;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQVM {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQTable {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQArray {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQString {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQClosure {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQGenerator {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQNativeClosure {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQUserData {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQFunctionProto {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQRefCounted {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQClass {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQInstance {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQDelegable {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQOuter {
    _unused: [u8; 0],
}
pub type SQInteger = ::std::os::raw::c_longlong;
pub type SQUnsignedInteger = ::std::os::raw::c_ulonglong;
pub type SQHash = ::std::os::raw::c_ulonglong;
pub type SQInt32 = ::std::os::raw::c_int;
pub type SQUnsignedInteger32 = ::std::os::raw::c_uint;
pub type SQFloat = f32;
pub type SQRawObjectVal = ::std::os::raw::c_longlong;
pub type SQUserPointer = *mut ::std::os::raw::c_void;
pub type SQBool = SQUnsignedInteger;
pub type SQRESULT = SQInteger;
pub type SQChar = ::std::os::raw::c_char;
pub const tagSQObjectType_OT_NULL: tagSQObjectType = 16777217;
pub const tagSQObjectType_OT_INTEGER: tagSQObjectType = 83886082;
pub const tagSQObjectType_OT_FLOAT: tagSQObjectType = 83886084;
pub const tagSQObjectType_OT_BOOL: tagSQObjectType = 16777224;
pub const tagSQObjectType_OT_STRING: tagSQObjectType = 134217744;
pub const tagSQObjectType_OT_TABLE: tagSQObjectType = 167772192;
pub const tagSQObjectType_OT_ARRAY: tagSQObjectType = 134217792;
pub const tagSQObjectType_OT_USERDATA: tagSQObjectType = 167772288;
pub const tagSQObjectType_OT_CLOSURE: tagSQObjectType = 134217984;
pub const tagSQObjectType_OT_NATIVECLOSURE: tagSQObjectType = 134218240;
pub const tagSQObjectType_OT_GENERATOR: tagSQObjectType = 134218752;
pub const tagSQObjectType_OT_USERPOINTER: tagSQObjectType = 2048;
pub const tagSQObjectType_OT_THREAD: tagSQObjectType = 134221824;
pub const tagSQObjectType_OT_FUNCPROTO: tagSQObjectType = 134225920;
pub const tagSQObjectType_OT_CLASS: tagSQObjectType = 134234112;
pub const tagSQObjectType_OT_INSTANCE: tagSQObjectType = 167804928;
pub const tagSQObjectType_OT_WEAKREF: tagSQObjectType = 134283264;
pub const tagSQObjectType_OT_OUTER: tagSQObjectType = 134348800;
pub type tagSQObjectType = ::std::os::raw::c_int;
pub use self::tagSQObjectType as SQObjectType;
#[repr(C)]
#[derive(Copy, Clone)]
pub union tagSQObjectValue {
    pub pTable: *mut SQTable,
    pub pArray: *mut SQArray,
    pub pClosure: *mut SQClosure,
    pub pOuter: *mut SQOuter,
    pub pGenerator: *mut SQGenerator,
    pub pNativeClosure: *mut SQNativeClosure,
    pub pString: *mut SQString,
    pub pUserData: *mut SQUserData,
    pub nInteger: SQInteger,
    pub fFloat: SQFloat,
    pub pUserPointer: SQUserPointer,
    pub pFunctionProto: *mut SQFunctionProto,
    pub pRefCounted: *mut SQRefCounted,
    pub pDelegable: *mut SQDelegable,
    pub pThread: *mut SQVM,
    pub pClass: *mut SQClass,
    pub pInstance: *mut SQInstance,
    pub pWeakRef: *mut SQWeakRef,
    pub raw: SQRawObjectVal,
}
pub type SQObjectValue = tagSQObjectValue;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct tagSQObject {
    pub _type: SQObjectType,
    pub _unVal: SQObjectValue,
}
pub type SQObject = tagSQObject;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tagSQMemberHandle {
    pub _static: SQBool,
    pub _index: SQInteger,
}
pub type SQMemberHandle = tagSQMemberHandle;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tagSQStackInfos {
    pub funcname: *const SQChar,
    pub source: *const SQChar,
    pub line: SQInteger,
}
pub type SQStackInfos = tagSQStackInfos;
pub type HSQUIRRELVM = *mut SQVM;
pub type HSQOBJECT = SQObject;
pub type HSQMEMBERHANDLE = SQMemberHandle;
pub type SQFUNCTION = ::std::option::Option<unsafe extern "C" fn(arg1: HSQUIRRELVM) -> SQInteger>;
pub type SQRELEASEHOOK =
    ::std::option::Option<unsafe extern "C" fn(arg1: SQUserPointer, size: SQInteger) -> SQInteger>;
pub type SQCOMPILERERROR = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: HSQUIRRELVM,
        arg2: *const SQChar,
        arg3: *const SQChar,
        arg4: SQInteger,
        arg5: SQInteger,
    ),
>;
pub type SQPRINTFUNCTION =
    ::std::option::Option<unsafe extern "C" fn(arg1: HSQUIRRELVM, arg2: *const SQChar, ...)>;
pub type SQDEBUGHOOK = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: HSQUIRRELVM,
        arg2: SQInteger,
        arg3: *const SQChar,
        arg4: SQInteger,
        arg5: *const SQChar,
    ),
>;
pub type SQWRITEFUNC = ::std::option::Option<
    unsafe extern "C" fn(arg1: SQUserPointer, arg2: SQUserPointer, arg3: SQInteger) -> SQInteger,
>;
pub type SQREADFUNC = ::std::option::Option<
    unsafe extern "C" fn(arg1: SQUserPointer, arg2: SQUserPointer, arg3: SQInteger) -> SQInteger,
>;
pub type SQLEXREADFUNC =
    ::std::option::Option<unsafe extern "C" fn(arg1: SQUserPointer) -> SQInteger>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tagSQRegFunction {
    pub name: *const SQChar,
    pub f: SQFUNCTION,
    pub nparamscheck: SQInteger,
    pub typemask: *const SQChar,
}
pub type SQRegFunction = tagSQRegFunction;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tagSQFunctionInfo {
    pub funcid: SQUserPointer,
    pub name: *const SQChar,
    pub source: *const SQChar,
    pub line: SQInteger,
}
pub type SQFunctionInfo = tagSQFunctionInfo;
unsafe extern "C" {
    pub fn sq_open(initialstacksize: SQInteger) -> HSQUIRRELVM;
}
unsafe extern "C" {
    pub fn sq_newthread(friendvm: HSQUIRRELVM, initialstacksize: SQInteger) -> HSQUIRRELVM;
}
unsafe extern "C" {
    pub fn sq_seterrorhandler(v: HSQUIRRELVM);
}
unsafe extern "C" {
    pub fn sq_close(v: HSQUIRRELVM);
}
unsafe extern "C" {
    pub fn sq_setforeignptr(v: HSQUIRRELVM, p: SQUserPointer);
}
unsafe extern "C" {
    pub fn sq_getforeignptr(v: HSQUIRRELVM) -> SQUserPointer;
}
unsafe extern "C" {
    pub fn sq_setsharedforeignptr(v: HSQUIRRELVM, p: SQUserPointer);
}
unsafe extern "C" {
    pub fn sq_getsharedforeignptr(v: HSQUIRRELVM) -> SQUserPointer;
}
unsafe extern "C" {
    pub fn sq_setvmreleasehook(v: HSQUIRRELVM, hook: SQRELEASEHOOK);
}
unsafe extern "C" {
    pub fn sq_getvmreleasehook(v: HSQUIRRELVM) -> SQRELEASEHOOK;
}
unsafe extern "C" {
    pub fn sq_setsharedreleasehook(v: HSQUIRRELVM, hook: SQRELEASEHOOK);
}
unsafe extern "C" {
    pub fn sq_getsharedreleasehook(v: HSQUIRRELVM) -> SQRELEASEHOOK;
}
unsafe extern "C" {
    pub fn sq_setprintfunc(v: HSQUIRRELVM, printfunc: SQPRINTFUNCTION, errfunc: SQPRINTFUNCTION);
}
unsafe extern "C" {
    pub fn sq_getprintfunc(v: HSQUIRRELVM) -> SQPRINTFUNCTION;
}
unsafe extern "C" {
    pub fn sq_geterrorfunc(v: HSQUIRRELVM) -> SQPRINTFUNCTION;
}
unsafe extern "C" {
    pub fn sq_suspendvm(v: HSQUIRRELVM) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_wakeupvm(
        v: HSQUIRRELVM,
        resumedret: SQBool,
        retval: SQBool,
        raiseerror: SQBool,
        throwerror: SQBool,
    ) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getvmstate(v: HSQUIRRELVM) -> SQInteger;
}
unsafe extern "C" {
    pub fn sq_getversion() -> SQInteger;
}
unsafe extern "C" {
    pub fn sq_compile(
        v: HSQUIRRELVM,
        read: SQLEXREADFUNC,
        p: SQUserPointer,
        sourcename: *const SQChar,
        raiseerror: SQBool,
    ) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_compilebuffer(
        v: HSQUIRRELVM,
        s: *const SQChar,
        size: SQInteger,
        sourcename: *const SQChar,
        raiseerror: SQBool,
    ) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_enabledebuginfo(v: HSQUIRRELVM, enable: SQBool);
}
unsafe extern "C" {
    pub fn sq_notifyallexceptions(v: HSQUIRRELVM, enable: SQBool);
}
unsafe extern "C" {
    pub fn sq_setcompilererrorhandler(v: HSQUIRRELVM, f: SQCOMPILERERROR);
}
unsafe extern "C" {
    pub fn sq_push(v: HSQUIRRELVM, idx: SQInteger);
}
unsafe extern "C" {
    pub fn sq_pop(v: HSQUIRRELVM, nelemstopop: SQInteger);
}
unsafe extern "C" {
    pub fn sq_poptop(v: HSQUIRRELVM);
}
unsafe extern "C" {
    pub fn sq_remove(v: HSQUIRRELVM, idx: SQInteger);
}
unsafe extern "C" {
    pub fn sq_gettop(v: HSQUIRRELVM) -> SQInteger;
}
unsafe extern "C" {
    pub fn sq_settop(v: HSQUIRRELVM, newtop: SQInteger);
}
unsafe extern "C" {
    pub fn sq_reservestack(v: HSQUIRRELVM, nsize: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_cmp(v: HSQUIRRELVM) -> SQInteger;
}
unsafe extern "C" {
    pub fn sq_move(dest: HSQUIRRELVM, src: HSQUIRRELVM, idx: SQInteger);
}
unsafe extern "C" {
    pub fn sq_newuserdata(v: HSQUIRRELVM, size: SQUnsignedInteger) -> SQUserPointer;
}
unsafe extern "C" {
    pub fn sq_newtable(v: HSQUIRRELVM);
}
unsafe extern "C" {
    pub fn sq_newtableex(v: HSQUIRRELVM, initialcapacity: SQInteger);
}
unsafe extern "C" {
    pub fn sq_newarray(v: HSQUIRRELVM, size: SQInteger);
}
unsafe extern "C" {
    pub fn sq_newclosure(v: HSQUIRRELVM, func: SQFUNCTION, nfreevars: SQUnsignedInteger);
}
unsafe extern "C" {
    pub fn sq_setparamscheck(
        v: HSQUIRRELVM,
        nparamscheck: SQInteger,
        typemask: *const SQChar,
    ) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_bindenv(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_setclosureroot(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getclosureroot(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_pushstring(v: HSQUIRRELVM, s: *const SQChar, len: SQInteger);
}
unsafe extern "C" {
    pub fn sq_pushfloat(v: HSQUIRRELVM, f: SQFloat);
}
unsafe extern "C" {
    pub fn sq_pushinteger(v: HSQUIRRELVM, n: SQInteger);
}
unsafe extern "C" {
    pub fn sq_pushbool(v: HSQUIRRELVM, b: SQBool);
}
unsafe extern "C" {
    pub fn sq_pushuserpointer(v: HSQUIRRELVM, p: SQUserPointer);
}
unsafe extern "C" {
    pub fn sq_pushnull(v: HSQUIRRELVM);
}
unsafe extern "C" {
    pub fn sq_gettype(v: HSQUIRRELVM, idx: SQInteger) -> SQObjectType;
}
unsafe extern "C" {
    pub fn sq_typeof(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getsize(v: HSQUIRRELVM, idx: SQInteger) -> SQInteger;
}
unsafe extern "C" {
    pub fn sq_gethash(v: HSQUIRRELVM, idx: SQInteger) -> SQHash;
}
unsafe extern "C" {
    pub fn sq_getbase(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_instanceof(v: HSQUIRRELVM) -> SQBool;
}
unsafe extern "C" {
    pub fn sq_tostring(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_tobool(v: HSQUIRRELVM, idx: SQInteger, b: *mut SQBool);
}
unsafe extern "C" {
    pub fn sq_getstring(v: HSQUIRRELVM, idx: SQInteger, c: *mut *const SQChar) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getinteger(v: HSQUIRRELVM, idx: SQInteger, i: *mut SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getfloat(v: HSQUIRRELVM, idx: SQInteger, f: *mut SQFloat) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getbool(v: HSQUIRRELVM, idx: SQInteger, b: *mut SQBool) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getthread(v: HSQUIRRELVM, idx: SQInteger, thread: *mut HSQUIRRELVM) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getuserpointer(v: HSQUIRRELVM, idx: SQInteger, p: *mut SQUserPointer) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getuserdata(
        v: HSQUIRRELVM,
        idx: SQInteger,
        p: *mut SQUserPointer,
        typetag: *mut SQUserPointer,
    ) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_settypetag(v: HSQUIRRELVM, idx: SQInteger, typetag: SQUserPointer) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_gettypetag(v: HSQUIRRELVM, idx: SQInteger, typetag: *mut SQUserPointer) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_setreleasehook(v: HSQUIRRELVM, idx: SQInteger, hook: SQRELEASEHOOK);
}
unsafe extern "C" {
    pub fn sq_getscratchpad(v: HSQUIRRELVM, minsize: SQInteger) -> *mut SQChar;
}
unsafe extern "C" {
    pub fn sq_getfunctioninfo(
        v: HSQUIRRELVM,
        level: SQInteger,
        fi: *mut SQFunctionInfo,
    ) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getclosureinfo(
        v: HSQUIRRELVM,
        idx: SQInteger,
        nparams: *mut SQUnsignedInteger,
        nfreevars: *mut SQUnsignedInteger,
    ) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getclosurename(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_setnativeclosurename(v: HSQUIRRELVM, idx: SQInteger, name: *const SQChar)
    -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_setinstanceup(v: HSQUIRRELVM, idx: SQInteger, p: SQUserPointer) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getinstanceup(
        v: HSQUIRRELVM,
        idx: SQInteger,
        p: *mut SQUserPointer,
        typetag: SQUserPointer,
    ) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_setclassudsize(v: HSQUIRRELVM, idx: SQInteger, udsize: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_newclass(v: HSQUIRRELVM, hasbase: SQBool) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_createinstance(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_setattributes(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getattributes(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getclass(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_weakref(v: HSQUIRRELVM, idx: SQInteger);
}
unsafe extern "C" {
    pub fn sq_getdefaultdelegate(v: HSQUIRRELVM, t: SQObjectType) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getmemberhandle(
        v: HSQUIRRELVM,
        idx: SQInteger,
        handle: *mut HSQMEMBERHANDLE,
    ) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getbyhandle(
        v: HSQUIRRELVM,
        idx: SQInteger,
        handle: *const HSQMEMBERHANDLE,
    ) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_setbyhandle(
        v: HSQUIRRELVM,
        idx: SQInteger,
        handle: *const HSQMEMBERHANDLE,
    ) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_pushroottable(v: HSQUIRRELVM);
}
unsafe extern "C" {
    pub fn sq_pushregistrytable(v: HSQUIRRELVM);
}
unsafe extern "C" {
    pub fn sq_pushconsttable(v: HSQUIRRELVM);
}
unsafe extern "C" {
    pub fn sq_setroottable(v: HSQUIRRELVM) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_setconsttable(v: HSQUIRRELVM) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_newslot(v: HSQUIRRELVM, idx: SQInteger, bstatic: SQBool) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_deleteslot(v: HSQUIRRELVM, idx: SQInteger, pushval: SQBool) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_set(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_get(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_rawget(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_rawset(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_rawdeleteslot(v: HSQUIRRELVM, idx: SQInteger, pushval: SQBool) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_newmember(v: HSQUIRRELVM, idx: SQInteger, bstatic: SQBool) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_rawnewmember(v: HSQUIRRELVM, idx: SQInteger, bstatic: SQBool) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_arrayappend(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_arraypop(v: HSQUIRRELVM, idx: SQInteger, pushval: SQBool) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_arrayresize(v: HSQUIRRELVM, idx: SQInteger, newsize: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_arrayreverse(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_arrayremove(v: HSQUIRRELVM, idx: SQInteger, itemidx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_arrayinsert(v: HSQUIRRELVM, idx: SQInteger, destpos: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_setdelegate(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getdelegate(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_clone(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_setfreevariable(v: HSQUIRRELVM, idx: SQInteger, nval: SQUnsignedInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_next(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getweakrefval(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_clear(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_call(
        v: HSQUIRRELVM,
        params: SQInteger,
        retval: SQBool,
        raiseerror: SQBool,
    ) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_resume(v: HSQUIRRELVM, retval: SQBool, raiseerror: SQBool) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getlocal(
        v: HSQUIRRELVM,
        level: SQUnsignedInteger,
        idx: SQUnsignedInteger,
    ) -> *const SQChar;
}
unsafe extern "C" {
    pub fn sq_getcallee(v: HSQUIRRELVM) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_getfreevariable(
        v: HSQUIRRELVM,
        idx: SQInteger,
        nval: SQUnsignedInteger,
    ) -> *const SQChar;
}
unsafe extern "C" {
    pub fn sq_throwerror(v: HSQUIRRELVM, err: *const SQChar) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_throwobject(v: HSQUIRRELVM) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_reseterror(v: HSQUIRRELVM);
}
unsafe extern "C" {
    pub fn sq_getlasterror(v: HSQUIRRELVM);
}
unsafe extern "C" {
    pub fn sq_getstackobj(v: HSQUIRRELVM, idx: SQInteger, po: *mut HSQOBJECT) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_pushobject(v: HSQUIRRELVM, obj: HSQOBJECT);
}
unsafe extern "C" {
    pub fn sq_addref(v: HSQUIRRELVM, po: *mut HSQOBJECT);
}
unsafe extern "C" {
    pub fn sq_release(v: HSQUIRRELVM, po: *mut HSQOBJECT) -> SQBool;
}
unsafe extern "C" {
    pub fn sq_getrefcount(v: HSQUIRRELVM, po: *mut HSQOBJECT) -> SQUnsignedInteger;
}
unsafe extern "C" {
    pub fn sq_resetobject(po: *mut HSQOBJECT);
}
unsafe extern "C" {
    pub fn sq_objtostring(o: *const HSQOBJECT) -> *const SQChar;
}
unsafe extern "C" {
    pub fn sq_objtobool(o: *const HSQOBJECT) -> SQBool;
}
unsafe extern "C" {
    pub fn sq_objtointeger(o: *const HSQOBJECT) -> SQInteger;
}
unsafe extern "C" {
    pub fn sq_objtofloat(o: *const HSQOBJECT) -> SQFloat;
}
unsafe extern "C" {
    pub fn sq_objtouserpointer(o: *const HSQOBJECT) -> SQUserPointer;
}
unsafe extern "C" {
    pub fn sq_getobjtypetag(o: *const HSQOBJECT, typetag: *mut SQUserPointer) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_collectgarbage(v: HSQUIRRELVM) -> SQInteger;
}
unsafe extern "C" {
    pub fn sq_resurrectunreachable(v: HSQUIRRELVM) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_writeclosure(vm: HSQUIRRELVM, writef: SQWRITEFUNC, up: SQUserPointer) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_readclosure(vm: HSQUIRRELVM, readf: SQREADFUNC, up: SQUserPointer) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_malloc(size: SQUnsignedInteger) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn sq_realloc(
        p: *mut ::std::os::raw::c_void,
        oldsize: SQUnsignedInteger,
        newsize: SQUnsignedInteger,
    ) -> *mut ::std::os::raw::c_void;
}
unsafe extern "C" {
    pub fn sq_free(p: *mut ::std::os::raw::c_void, size: SQUnsignedInteger);
}
unsafe extern "C" {
    pub fn sq_stackinfos(v: HSQUIRRELVM, level: SQInteger, si: *mut SQStackInfos) -> SQRESULT;
}
unsafe extern "C" {
    pub fn sq_setdebughook(v: HSQUIRRELVM);
}
unsafe extern "C" {
    pub fn sq_setnativedebughook(v: HSQUIRRELVM, hook: SQDEBUGHOOK);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sq_api {
    pub open: extern "C" fn(initialstacksize: SQInteger) -> HSQUIRRELVM,
    pub newthread: extern "C" fn(friendvm: HSQUIRRELVM, initialstacksize: SQInteger) -> HSQUIRRELVM,
    pub seterrorhandler: extern "C" fn(v: HSQUIRRELVM),
    pub close: extern "C" fn(v: HSQUIRRELVM),
    pub setforeignptr: extern "C" fn(v: HSQUIRRELVM, p: SQUserPointer),
    pub getforeignptr: extern "C" fn(v: HSQUIRRELVM) -> SQUserPointer,
    pub setprintfunc:
        extern "C" fn(v: HSQUIRRELVM, printfunc: SQPRINTFUNCTION, arg1: SQPRINTFUNCTION),
    pub getprintfunc: extern "C" fn(v: HSQUIRRELVM) -> SQPRINTFUNCTION,
    pub suspendvm: extern "C" fn(v: HSQUIRRELVM) -> SQRESULT,
    pub wakeupvm: extern "C" fn(
        v: HSQUIRRELVM,
        resumedret: SQBool,
        retval: SQBool,
        raiseerror: SQBool,
        throwerror: SQBool,
    ) -> SQRESULT,
    pub getvmstate: extern "C" fn(v: HSQUIRRELVM) -> SQInteger,
    pub compile: extern "C" fn(
        v: HSQUIRRELVM,
        read: SQLEXREADFUNC,
        p: SQUserPointer,
        sourcename: *const SQChar,
        raiseerror: SQBool,
    ) -> SQRESULT,
    pub compilebuffer: extern "C" fn(
        v: HSQUIRRELVM,
        s: *const SQChar,
        size: SQInteger,
        sourcename: *const SQChar,
        raiseerror: SQBool,
    ) -> SQRESULT,
    pub enabledebuginfo: extern "C" fn(v: HSQUIRRELVM, enable: SQBool),
    pub notifyallexceptions: extern "C" fn(v: HSQUIRRELVM, enable: SQBool),
    pub setcompilererrorhandler: extern "C" fn(v: HSQUIRRELVM, f: SQCOMPILERERROR),
    pub push: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger),
    pub pop: extern "C" fn(v: HSQUIRRELVM, nelemstopop: SQInteger),
    pub poptop: extern "C" fn(v: HSQUIRRELVM),
    pub remove: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger),
    pub gettop: extern "C" fn(v: HSQUIRRELVM) -> SQInteger,
    pub settop: extern "C" fn(v: HSQUIRRELVM, newtop: SQInteger),
    pub reservestack: extern "C" fn(v: HSQUIRRELVM, nsize: SQInteger) -> SQRESULT,
    pub cmp: extern "C" fn(v: HSQUIRRELVM) -> SQInteger,
    pub move_: extern "C" fn(dest: HSQUIRRELVM, src: HSQUIRRELVM, idx: SQInteger),
    pub newuserdata: extern "C" fn(v: HSQUIRRELVM, size: SQUnsignedInteger) -> SQUserPointer,
    pub newtable: extern "C" fn(v: HSQUIRRELVM),
    pub newarray: extern "C" fn(v: HSQUIRRELVM, size: SQInteger),
    pub newclosure: extern "C" fn(v: HSQUIRRELVM, func: SQFUNCTION, nfreevars: SQUnsignedInteger),
    pub setparamscheck:
        extern "C" fn(v: HSQUIRRELVM, nparamscheck: SQInteger, typemask: *const SQChar) -> SQRESULT,
    pub bindenv: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub pushstring: extern "C" fn(v: HSQUIRRELVM, s: *const SQChar, len: SQInteger),
    pub pushfloat: extern "C" fn(v: HSQUIRRELVM, f: SQFloat),
    pub pushinteger: extern "C" fn(v: HSQUIRRELVM, n: SQInteger),
    pub pushbool: extern "C" fn(v: HSQUIRRELVM, b: SQBool),
    pub pushuserpointer: extern "C" fn(v: HSQUIRRELVM, p: SQUserPointer),
    pub pushnull: extern "C" fn(v: HSQUIRRELVM),
    pub gettype: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQObjectType,
    pub getsize: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQInteger,
    pub getbase: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub instanceof: extern "C" fn(v: HSQUIRRELVM) -> SQBool,
    pub tostring: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub tobool: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, b: *mut SQBool),
    pub getstring: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, c: *mut *const SQChar) -> SQRESULT,
    pub getinteger: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, i: *mut SQInteger) -> SQRESULT,
    pub getfloat: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, f: *mut SQFloat) -> SQRESULT,
    pub getbool: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, b: *mut SQBool) -> SQRESULT,
    pub getthread:
        extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, thread: *mut HSQUIRRELVM) -> SQRESULT,
    pub getuserpointer:
        extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, p: *mut SQUserPointer) -> SQRESULT,
    pub getuserdata: extern "C" fn(
        v: HSQUIRRELVM,
        idx: SQInteger,
        p: *mut SQUserPointer,
        typetag: *mut SQUserPointer,
    ) -> SQRESULT,
    pub settypetag:
        extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, typetag: SQUserPointer) -> SQRESULT,
    pub gettypetag:
        extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, typetag: *mut SQUserPointer) -> SQRESULT,
    pub setreleasehook: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, hook: SQRELEASEHOOK),
    pub getscratchpad: extern "C" fn(v: HSQUIRRELVM, minsize: SQInteger) -> *mut SQChar,
    pub getclosureinfo: extern "C" fn(
        v: HSQUIRRELVM,
        idx: SQInteger,
        nparams: *mut SQUnsignedInteger,
        nfreevars: *mut SQUnsignedInteger,
    ) -> SQRESULT,
    pub setnativeclosurename:
        extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, name: *const SQChar) -> SQRESULT,
    pub setinstanceup: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, p: SQUserPointer) -> SQRESULT,
    pub getinstanceup: extern "C" fn(
        v: HSQUIRRELVM,
        idx: SQInteger,
        p: *mut SQUserPointer,
        typetag: SQUserPointer,
    ) -> SQRESULT,
    pub setclassudsize:
        extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, udsize: SQInteger) -> SQRESULT,
    pub newclass: extern "C" fn(v: HSQUIRRELVM, hasbase: SQBool) -> SQRESULT,
    pub createinstance: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub setattributes: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub getattributes: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub getclass: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub weakref: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger),
    pub getdefaultdelegate: extern "C" fn(v: HSQUIRRELVM, t: SQObjectType) -> SQRESULT,
    pub pushroottable: extern "C" fn(v: HSQUIRRELVM),
    pub pushregistrytable: extern "C" fn(v: HSQUIRRELVM),
    pub pushconsttable: extern "C" fn(v: HSQUIRRELVM),
    pub setroottable: extern "C" fn(v: HSQUIRRELVM) -> SQRESULT,
    pub setconsttable: extern "C" fn(v: HSQUIRRELVM) -> SQRESULT,
    pub newslot: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, bstatic: SQBool) -> SQRESULT,
    pub deleteslot: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, pushval: SQBool) -> SQRESULT,
    pub set: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub get: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub rawget: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub rawset: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub rawdeleteslot: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, pushval: SQBool) -> SQRESULT,
    pub arrayappend: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub arraypop: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, pushval: SQBool) -> SQRESULT,
    pub arrayresize: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, newsize: SQInteger) -> SQRESULT,
    pub arrayreverse: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub arrayremove: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, itemidx: SQInteger) -> SQRESULT,
    pub arrayinsert: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, destpos: SQInteger) -> SQRESULT,
    pub setdelegate: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub getdelegate: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub clone: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub setfreevariable:
        extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, nval: SQUnsignedInteger) -> SQRESULT,
    pub next: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub getweakrefval: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub clear: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger) -> SQRESULT,
    pub call: extern "C" fn(
        v: HSQUIRRELVM,
        params: SQInteger,
        retval: SQBool,
        raiseerror: SQBool,
    ) -> SQRESULT,
    pub resume: extern "C" fn(v: HSQUIRRELVM, retval: SQBool, raiseerror: SQBool) -> SQRESULT,
    pub getlocal: extern "C" fn(
        v: HSQUIRRELVM,
        level: SQUnsignedInteger,
        idx: SQUnsignedInteger,
    ) -> *const SQChar,
    pub getfreevariable:
        extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, nval: SQUnsignedInteger) -> *const SQChar,
    pub throwerror: extern "C" fn(v: HSQUIRRELVM, err: *const SQChar) -> SQRESULT,
    pub reseterror: extern "C" fn(v: HSQUIRRELVM),
    pub getlasterror: extern "C" fn(v: HSQUIRRELVM),
    pub getstackobj: extern "C" fn(v: HSQUIRRELVM, idx: SQInteger, po: *mut HSQOBJECT) -> SQRESULT,
    pub pushobject: extern "C" fn(v: HSQUIRRELVM, obj: HSQOBJECT),
    pub addref: extern "C" fn(v: HSQUIRRELVM, po: *mut HSQOBJECT),
    pub release: extern "C" fn(v: HSQUIRRELVM, po: *mut HSQOBJECT) -> SQBool,
    pub resetobject: extern "C" fn(po: *mut HSQOBJECT),
    pub objtostring: extern "C" fn(o: *const HSQOBJECT) -> *const SQChar,
    pub objtobool: extern "C" fn(o: *const HSQOBJECT) -> SQBool,
    pub objtointeger: extern "C" fn(o: *const HSQOBJECT) -> SQInteger,
    pub objtofloat: extern "C" fn(o: *const HSQOBJECT) -> SQFloat,
    pub getobjtypetag: extern "C" fn(o: *const HSQOBJECT, typetag: *mut SQUserPointer) -> SQRESULT,
    pub collectgarbage: extern "C" fn(v: HSQUIRRELVM) -> SQInteger,
    pub writeclosure:
        extern "C" fn(vm: HSQUIRRELVM, writef: SQWRITEFUNC, up: SQUserPointer) -> SQRESULT,
    pub readclosure:
        extern "C" fn(vm: HSQUIRRELVM, readf: SQREADFUNC, up: SQUserPointer) -> SQRESULT,
    pub malloc: extern "C" fn(size: SQUnsignedInteger) -> *mut ::std::os::raw::c_void,
    pub realloc: extern "C" fn(
        p: *mut ::std::os::raw::c_void,
        oldsize: SQUnsignedInteger,
        newsize: SQUnsignedInteger,
    ) -> *mut ::std::os::raw::c_void,
    pub free: extern "C" fn(p: *mut ::std::os::raw::c_void, size: SQUnsignedInteger),
    pub stackinfos:
        extern "C" fn(v: HSQUIRRELVM, level: SQInteger, si: *mut SQStackInfos) -> SQRESULT,
    pub setdebughook: extern "C" fn(v: HSQUIRRELVM),
}
pub type HSQAPI = *mut sq_api;
pub type Sq_GetSquirrelAPI = unsafe extern "C" fn() -> *mut HSQAPI;
pub type Sq_GetSquirrelVM = unsafe extern "C" fn() -> *mut HSQUIRRELVM;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SquirrelImports {
    pub uStructSize: ::std::os::raw::c_uint,
    pub GetSquirrelAPI: Sq_GetSquirrelAPI,
    pub GetSquirrelVM: Sq_GetSquirrelVM,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SQWeakRef {
    pub _address: u8,
}

logs

true
[Error - 1:50:00 PM] Server process exited with code 101.

thread 'LspServer' panicked at crates\rust-analyzer\src\handlers\dispatch.rs:417:17:
Invalid request
Method: textDocument/didOpen
 error: invalid international domain name: "file://%3F/UNC/192.168.2.254/workspace/rust/vcmp-python-plugin/crates/squirrel_ffi/src/raw.rs"
stack backtrace:
   0: std::panicking::begin_panic_handler
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library\std\src\panicking.rs:697
   1: core::panicking::panic_fmt
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library\core\src\panicking.rs:75
   2: rust_analyzer::handlers::dispatch::NotificationDispatcher::on_sync_mut
   3: rust_analyzer::main_loop::<impl rust_analyzer::global_state::GlobalState>::run
   4: rust_analyzer::main_loop::<impl rust_analyzer::global_state::GlobalState>::run
   5: rust_analyzer::main_loop::main_loop
   6: rust_analyzer::run_server
   7: std::sys::thread_local::native::eager::destroy
   8: std::thread::Builder::spawn_unchecked
   9: alloc::boxed::impl$28::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library\alloc\src\boxed.rs:1966
  10: alloc::boxed::impl$28::call_once
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library\alloc\src\boxed.rs:1966
  11: std::sys::pal::windows::thread::impl$0::new::thread_start
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library\std\src\sys\pal\windows\thread.rs:56
  12: BaseThreadInitThunk
  13: RtlUserThreadStart
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

thread 'main' panicked at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\jod-thread-1.0.0\src\lib.rs:33:22:
called `Result::unwrap()` on an `Err` value: Any { .. }
stack backtrace:
   0: std::panicking::begin_panic_handler
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library\std\src\panicking.rs:697
   1: core::panicking::panic_fmt
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library\core\src\panicking.rs:75
   2: core::result::unwrap_failed
             at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library\core\src\result.rs:1732
   3: stdx::thread::JoinHandle<T>::join
   4: <std::sync::lazy_lock::LazyLock<T,F> as core::ops::drop::Drop>::drop
   5: <salsa::interned::IngredientImpl<C> as salsa::ingredient::Ingredient>::memo_table_types
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[Info  - 1:50:00 PM] Connection to server got closed. Server will restart.
true

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the crash on Windows with the supplied rust-bindgen 0.72.0 generated Rust code and a UNC path, using the listed rustc nightly version and default settings. Trace the failure from the reproduction and add or update coverage for this case; done means the UNC-path workflow no longer crashes.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.