From e88ef747affb3c5d6108a7f8eaf1a6d1b12d6597 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 26 Mar 2026 23:59:47 +0000 Subject: [PATCH 1/6] =?UTF-8?q?chore:=20clean=20root=20directory=20?= =?UTF-8?q?=E2=80=94=20remove=20build=20artifacts,=20relocate=20configs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Delete clippy_round9.txt, test_round9.txt, sample.mhtml, verify_fix.sh - Move POLICY_CPU.toml, POLICY_VRAM.toml to docs/policies/ - Move wrangler.toml to web/ (Cloudflare Pages config) - Move SOUL.md to docs/agent-personas/CUDACLAW.md - Remove .wrangler/ build cache from tracking - Update .gitignore: add .wrangler/, node_modules/, *.mhtml https://claude.ai/code/session_01GaTFACsLyjr4f3qM9woEYm --- .gitignore | 9 + .wrangler/cache/cf.json | 1 - .wrangler/tmp/bundle-4OOgwL/checked-fetch.js | 30 - .../middleware-insertion-facade.js | 11 - .../bundle-4OOgwL/middleware-loader.entry.ts | 134 - .wrangler/tmp/dev-hD4Jm0/pages-shim.js | 211 - .wrangler/tmp/dev-hD4Jm0/pages-shim.js.map | 8 - clippy_round9.txt | 2710 --- .../target/.rustc_info.json | 2 +- SOUL.md => docs/agent-personas/CUDACLAW.md | 0 .../policies/POLICY_CPU.toml | 0 .../policies/POLICY_VRAM.toml | 0 sample.mhtml | 13883 ---------------- test_round9.txt | 3503 ---- verify_fix.sh | 36 - wrangler.toml => web/wrangler.toml | 0 16 files changed, 10 insertions(+), 20528 deletions(-) delete mode 100644 .wrangler/cache/cf.json delete mode 100644 .wrangler/tmp/bundle-4OOgwL/checked-fetch.js delete mode 100644 .wrangler/tmp/bundle-4OOgwL/middleware-insertion-facade.js delete mode 100644 .wrangler/tmp/bundle-4OOgwL/middleware-loader.entry.ts delete mode 100644 .wrangler/tmp/dev-hD4Jm0/pages-shim.js delete mode 100644 .wrangler/tmp/dev-hD4Jm0/pages-shim.js.map delete mode 100644 clippy_round9.txt rename SOUL.md => docs/agent-personas/CUDACLAW.md (100%) rename POLICY_CPU.toml => docs/policies/POLICY_CPU.toml (100%) rename POLICY_VRAM.toml => docs/policies/POLICY_VRAM.toml (100%) delete mode 100644 sample.mhtml delete mode 100644 test_round9.txt delete mode 100644 verify_fix.sh rename wrangler.toml => web/wrangler.toml (100%) diff --git a/.gitignore b/.gitignore index 408ffd7..47c822a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,12 @@ target/ **/target/ Cargo.lock +# Cloudflare +.wrangler/ + +# Node +node_modules/ + # Python __pycache__/ *.py[cod] @@ -56,3 +62,6 @@ out/ .pytest_cache/ .coverage .coverage.* + +# Misc artifacts +*.mhtml diff --git a/.wrangler/cache/cf.json b/.wrangler/cache/cf.json deleted file mode 100644 index 9cdcb03..0000000 --- a/.wrangler/cache/cf.json +++ /dev/null @@ -1 +0,0 @@ -{"httpProtocol":"HTTP/1.1","clientAcceptEncoding":"gzip, deflate, br","requestPriority":"","edgeRequestKeepAliveStatus":1,"requestHeaderNames":{},"clientTcpRtt":0,"colo":"SEA","asn":13335,"asOrganization":"Cloudflare, Inc.","country":"US","isEUCountry":false,"city":"Anchorage","continent":"NA","region":"Alaska","regionCode":"AK","timezone":"America/Anchorage","longitude":"-149.90028","latitude":"61.21806","postalCode":"99509","metroCode":"743","tlsVersion":"TLSv1.3","tlsCipher":"AEAD-AES256-GCM-SHA384","tlsClientRandom":"ujD6jvvhIOtgaP0+RVtRyQWHp+aD8EioXLofoJ4dDfQ=","tlsClientCiphersSha1":"kXrN3VEKDdzz2cPKTQaKzpxVTxQ=","tlsClientExtensionsSha1":"1eY97BUYYO8vDaTfHQywB1pcNdM=","tlsClientExtensionsSha1Le":"u4wtEMFQBY18l3BzHAvORm+KGRw=","tlsExportedAuthenticator":{"clientHandshake":"bcca9a92bd3b82b4fc20763ed885500e650081cfb85de84e9f3158e444e597210ed28328284bd841cd80ed8be3ab67e2","serverHandshake":"4968469fcc2141903caed249808e5f4e3a02e0880c9e8d568fadb53a44d5175740434a26ddfb174414e6e989d698a840","clientFinished":"404f863013ae0ede50aa6fe5af976ad6295e4dd29ba5f8c6fe3dcab67f655f626a3faae79f2aee182f1df772db725597","serverFinished":"60da822d70355b0a683e468e81edbd352d90690d58f0bf5b8b86cc238c950c570f8fd2e25aeebef344564e299de2091f"},"tlsClientHelloLength":"1605","tlsClientAuth":{"certPresented":"0","certVerified":"NONE","certRevoked":"0","certIssuerDN":"","certSubjectDN":"","certIssuerDNRFC2253":"","certSubjectDNRFC2253":"","certIssuerDNLegacy":"","certSubjectDNLegacy":"","certSerial":"","certIssuerSerial":"","certSKI":"","certIssuerSKI":"","certFingerprintSHA1":"","certFingerprintSHA256":"","certNotBefore":"","certNotAfter":""},"verifiedBotCategory":"","botManagement":{"corporateProxy":false,"verifiedBot":false,"jsDetection":{"passed":false},"staticResource":false,"detectionIds":{},"score":99}} \ No newline at end of file diff --git a/.wrangler/tmp/bundle-4OOgwL/checked-fetch.js b/.wrangler/tmp/bundle-4OOgwL/checked-fetch.js deleted file mode 100644 index 8c007fd..0000000 --- a/.wrangler/tmp/bundle-4OOgwL/checked-fetch.js +++ /dev/null @@ -1,30 +0,0 @@ -const urls = new Set(); - -function checkURL(request, init) { - const url = - request instanceof URL - ? request - : new URL( - (typeof request === "string" - ? new Request(request, init) - : request - ).url - ); - if (url.port && url.port !== "443" && url.protocol === "https:") { - if (!urls.has(url.toString())) { - urls.add(url.toString()); - console.warn( - `WARNING: known issue with \`fetch()\` requests to custom HTTPS ports in published Workers:\n` + - ` - ${url.toString()} - the custom port will be ignored when the Worker is published using the \`wrangler deploy\` command.\n` - ); - } - } -} - -globalThis.fetch = new Proxy(globalThis.fetch, { - apply(target, thisArg, argArray) { - const [request, init] = argArray; - checkURL(request, init); - return Reflect.apply(target, thisArg, argArray); - }, -}); diff --git a/.wrangler/tmp/bundle-4OOgwL/middleware-insertion-facade.js b/.wrangler/tmp/bundle-4OOgwL/middleware-insertion-facade.js deleted file mode 100644 index a720bd2..0000000 --- a/.wrangler/tmp/bundle-4OOgwL/middleware-insertion-facade.js +++ /dev/null @@ -1,11 +0,0 @@ - import worker, * as OTHER_EXPORTS from "C:\\Users\\casey\\AppData\\Roaming\\npm\\node_modules\\wrangler\\templates\\pages-shim.ts"; - import * as __MIDDLEWARE_0__ from "C:\\Users\\casey\\AppData\\Roaming\\npm\\node_modules\\wrangler\\templates\\middleware\\middleware-ensure-req-body-drained.ts"; -import * as __MIDDLEWARE_1__ from "C:\\Users\\casey\\AppData\\Roaming\\npm\\node_modules\\wrangler\\templates\\middleware\\middleware-miniflare3-json-error.ts"; - - export * from "C:\\Users\\casey\\AppData\\Roaming\\npm\\node_modules\\wrangler\\templates\\pages-shim.ts"; - const MIDDLEWARE_TEST_INJECT = "__INJECT_FOR_TESTING_WRANGLER_MIDDLEWARE__"; - export const __INTERNAL_WRANGLER_MIDDLEWARE__ = [ - - __MIDDLEWARE_0__.default,__MIDDLEWARE_1__.default - ] - export default worker; \ No newline at end of file diff --git a/.wrangler/tmp/bundle-4OOgwL/middleware-loader.entry.ts b/.wrangler/tmp/bundle-4OOgwL/middleware-loader.entry.ts deleted file mode 100644 index b7a122d..0000000 --- a/.wrangler/tmp/bundle-4OOgwL/middleware-loader.entry.ts +++ /dev/null @@ -1,134 +0,0 @@ -// This loads all middlewares exposed on the middleware object and then starts -// the invocation chain. The big idea is that we can add these to the middleware -// export dynamically through wrangler, or we can potentially let users directly -// add them as a sort of "plugin" system. - -import ENTRY, { __INTERNAL_WRANGLER_MIDDLEWARE__ } from "C:\\Users\\casey\\polln\\constrainttheory\\.wrangler\\tmp\\bundle-4OOgwL\\middleware-insertion-facade.js"; -import { __facade_invoke__, __facade_register__, Dispatcher } from "C:\\Users\\casey\\AppData\\Roaming\\npm\\node_modules\\wrangler\\templates\\middleware\\common.ts"; -import type { WorkerEntrypointConstructor } from "C:\\Users\\casey\\polln\\constrainttheory\\.wrangler\\tmp\\bundle-4OOgwL\\middleware-insertion-facade.js"; - -// Preserve all the exports from the worker -export * from "C:\\Users\\casey\\polln\\constrainttheory\\.wrangler\\tmp\\bundle-4OOgwL\\middleware-insertion-facade.js"; - -class __Facade_ScheduledController__ implements ScheduledController { - readonly #noRetry: ScheduledController["noRetry"]; - - constructor( - readonly scheduledTime: number, - readonly cron: string, - noRetry: ScheduledController["noRetry"] - ) { - this.#noRetry = noRetry; - } - - noRetry() { - if (!(this instanceof __Facade_ScheduledController__)) { - throw new TypeError("Illegal invocation"); - } - // Need to call native method immediately in case uncaught error thrown - this.#noRetry(); - } -} - -function wrapExportedHandler(worker: ExportedHandler): ExportedHandler { - // If we don't have any middleware defined, just return the handler as is - if ( - __INTERNAL_WRANGLER_MIDDLEWARE__ === undefined || - __INTERNAL_WRANGLER_MIDDLEWARE__.length === 0 - ) { - return worker; - } - // Otherwise, register all middleware once - for (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) { - __facade_register__(middleware); - } - - const fetchDispatcher: ExportedHandlerFetchHandler = function ( - request, - env, - ctx - ) { - if (worker.fetch === undefined) { - throw new Error("Handler does not export a fetch() function."); - } - return worker.fetch(request, env, ctx); - }; - - return { - ...worker, - fetch(request, env, ctx) { - const dispatcher: Dispatcher = function (type, init) { - if (type === "scheduled" && worker.scheduled !== undefined) { - const controller = new __Facade_ScheduledController__( - Date.now(), - init.cron ?? "", - () => {} - ); - return worker.scheduled(controller, env, ctx); - } - }; - return __facade_invoke__(request, env, ctx, dispatcher, fetchDispatcher); - }, - }; -} - -function wrapWorkerEntrypoint( - klass: WorkerEntrypointConstructor -): WorkerEntrypointConstructor { - // If we don't have any middleware defined, just return the handler as is - if ( - __INTERNAL_WRANGLER_MIDDLEWARE__ === undefined || - __INTERNAL_WRANGLER_MIDDLEWARE__.length === 0 - ) { - return klass; - } - // Otherwise, register all middleware once - for (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) { - __facade_register__(middleware); - } - - // `extend`ing `klass` here so other RPC methods remain callable - return class extends klass { - #fetchDispatcher: ExportedHandlerFetchHandler> = ( - request, - env, - ctx - ) => { - this.env = env; - this.ctx = ctx; - if (super.fetch === undefined) { - throw new Error("Entrypoint class does not define a fetch() function."); - } - return super.fetch(request); - }; - - #dispatcher: Dispatcher = (type, init) => { - if (type === "scheduled" && super.scheduled !== undefined) { - const controller = new __Facade_ScheduledController__( - Date.now(), - init.cron ?? "", - () => {} - ); - return super.scheduled(controller); - } - }; - - fetch(request: Request) { - return __facade_invoke__( - request, - this.env, - this.ctx, - this.#dispatcher, - this.#fetchDispatcher - ); - } - }; -} - -let WRAPPED_ENTRY: ExportedHandler | WorkerEntrypointConstructor | undefined; -if (typeof ENTRY === "object") { - WRAPPED_ENTRY = wrapExportedHandler(ENTRY); -} else if (typeof ENTRY === "function") { - WRAPPED_ENTRY = wrapWorkerEntrypoint(ENTRY); -} -export default WRAPPED_ENTRY; diff --git a/.wrangler/tmp/dev-hD4Jm0/pages-shim.js b/.wrangler/tmp/dev-hD4Jm0/pages-shim.js deleted file mode 100644 index 1e626ab..0000000 --- a/.wrangler/tmp/dev-hD4Jm0/pages-shim.js +++ /dev/null @@ -1,211 +0,0 @@ -var __defProp = Object.defineProperty; -var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); - -// .wrangler/tmp/bundle-4OOgwL/checked-fetch.js -var urls = /* @__PURE__ */ new Set(); -function checkURL(request, init) { - const url = request instanceof URL ? request : new URL( - (typeof request === "string" ? new Request(request, init) : request).url - ); - if (url.port && url.port !== "443" && url.protocol === "https:") { - if (!urls.has(url.toString())) { - urls.add(url.toString()); - console.warn( - `WARNING: known issue with \`fetch()\` requests to custom HTTPS ports in published Workers: - - ${url.toString()} - the custom port will be ignored when the Worker is published using the \`wrangler deploy\` command. -` - ); - } - } -} -__name(checkURL, "checkURL"); -globalThis.fetch = new Proxy(globalThis.fetch, { - apply(target, thisArg, argArray) { - const [request, init] = argArray; - checkURL(request, init); - return Reflect.apply(target, thisArg, argArray); - } -}); - -// ../../AppData/Roaming/npm/node_modules/wrangler/templates/pages-shim.ts -var pages_shim_default = { - async fetch(request, env, context) { - const response = await env.ASSETS.fetch(request.url, request); - return new Response(response.body, response); - } -}; - -// ../../AppData/Roaming/npm/node_modules/wrangler/templates/middleware/middleware-ensure-req-body-drained.ts -var drainBody = /* @__PURE__ */ __name(async (request, env, _ctx, middlewareCtx) => { - try { - return await middlewareCtx.next(request, env); - } finally { - try { - if (request.body !== null && !request.bodyUsed) { - const reader = request.body.getReader(); - while (!(await reader.read()).done) { - } - } - } catch (e) { - console.error("Failed to drain the unused request body.", e); - } - } -}, "drainBody"); -var middleware_ensure_req_body_drained_default = drainBody; - -// ../../AppData/Roaming/npm/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts -function reduceError(e) { - return { - name: e?.name, - message: e?.message ?? String(e), - stack: e?.stack, - cause: e?.cause === void 0 ? void 0 : reduceError(e.cause) - }; -} -__name(reduceError, "reduceError"); -var jsonError = /* @__PURE__ */ __name(async (request, env, _ctx, middlewareCtx) => { - try { - return await middlewareCtx.next(request, env); - } catch (e) { - const error = reduceError(e); - return Response.json(error, { - status: 500, - headers: { "MF-Experimental-Error-Stack": "true" } - }); - } -}, "jsonError"); -var middleware_miniflare3_json_error_default = jsonError; - -// .wrangler/tmp/bundle-4OOgwL/middleware-insertion-facade.js -var __INTERNAL_WRANGLER_MIDDLEWARE__ = [ - middleware_ensure_req_body_drained_default, - middleware_miniflare3_json_error_default -]; -var middleware_insertion_facade_default = pages_shim_default; - -// ../../AppData/Roaming/npm/node_modules/wrangler/templates/middleware/common.ts -var __facade_middleware__ = []; -function __facade_register__(...args) { - __facade_middleware__.push(...args.flat()); -} -__name(__facade_register__, "__facade_register__"); -function __facade_invokeChain__(request, env, ctx, dispatch, middlewareChain) { - const [head, ...tail] = middlewareChain; - const middlewareCtx = { - dispatch, - next(newRequest, newEnv) { - return __facade_invokeChain__(newRequest, newEnv, ctx, dispatch, tail); - } - }; - return head(request, env, ctx, middlewareCtx); -} -__name(__facade_invokeChain__, "__facade_invokeChain__"); -function __facade_invoke__(request, env, ctx, dispatch, finalMiddleware) { - return __facade_invokeChain__(request, env, ctx, dispatch, [ - ...__facade_middleware__, - finalMiddleware - ]); -} -__name(__facade_invoke__, "__facade_invoke__"); - -// .wrangler/tmp/bundle-4OOgwL/middleware-loader.entry.ts -var __Facade_ScheduledController__ = class ___Facade_ScheduledController__ { - constructor(scheduledTime, cron, noRetry) { - this.scheduledTime = scheduledTime; - this.cron = cron; - this.#noRetry = noRetry; - } - static { - __name(this, "__Facade_ScheduledController__"); - } - #noRetry; - noRetry() { - if (!(this instanceof ___Facade_ScheduledController__)) { - throw new TypeError("Illegal invocation"); - } - this.#noRetry(); - } -}; -function wrapExportedHandler(worker) { - if (__INTERNAL_WRANGLER_MIDDLEWARE__ === void 0 || __INTERNAL_WRANGLER_MIDDLEWARE__.length === 0) { - return worker; - } - for (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) { - __facade_register__(middleware); - } - const fetchDispatcher = /* @__PURE__ */ __name(function(request, env, ctx) { - if (worker.fetch === void 0) { - throw new Error("Handler does not export a fetch() function."); - } - return worker.fetch(request, env, ctx); - }, "fetchDispatcher"); - return { - ...worker, - fetch(request, env, ctx) { - const dispatcher = /* @__PURE__ */ __name(function(type, init) { - if (type === "scheduled" && worker.scheduled !== void 0) { - const controller = new __Facade_ScheduledController__( - Date.now(), - init.cron ?? "", - () => { - } - ); - return worker.scheduled(controller, env, ctx); - } - }, "dispatcher"); - return __facade_invoke__(request, env, ctx, dispatcher, fetchDispatcher); - } - }; -} -__name(wrapExportedHandler, "wrapExportedHandler"); -function wrapWorkerEntrypoint(klass) { - if (__INTERNAL_WRANGLER_MIDDLEWARE__ === void 0 || __INTERNAL_WRANGLER_MIDDLEWARE__.length === 0) { - return klass; - } - for (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) { - __facade_register__(middleware); - } - return class extends klass { - #fetchDispatcher = /* @__PURE__ */ __name((request, env, ctx) => { - this.env = env; - this.ctx = ctx; - if (super.fetch === void 0) { - throw new Error("Entrypoint class does not define a fetch() function."); - } - return super.fetch(request); - }, "#fetchDispatcher"); - #dispatcher = /* @__PURE__ */ __name((type, init) => { - if (type === "scheduled" && super.scheduled !== void 0) { - const controller = new __Facade_ScheduledController__( - Date.now(), - init.cron ?? "", - () => { - } - ); - return super.scheduled(controller); - } - }, "#dispatcher"); - fetch(request) { - return __facade_invoke__( - request, - this.env, - this.ctx, - this.#dispatcher, - this.#fetchDispatcher - ); - } - }; -} -__name(wrapWorkerEntrypoint, "wrapWorkerEntrypoint"); -var WRAPPED_ENTRY; -if (typeof middleware_insertion_facade_default === "object") { - WRAPPED_ENTRY = wrapExportedHandler(middleware_insertion_facade_default); -} else if (typeof middleware_insertion_facade_default === "function") { - WRAPPED_ENTRY = wrapWorkerEntrypoint(middleware_insertion_facade_default); -} -var middleware_loader_entry_default = WRAPPED_ENTRY; -export { - __INTERNAL_WRANGLER_MIDDLEWARE__, - middleware_loader_entry_default as default -}; -//# sourceMappingURL=pages-shim.js.map diff --git a/.wrangler/tmp/dev-hD4Jm0/pages-shim.js.map b/.wrangler/tmp/dev-hD4Jm0/pages-shim.js.map deleted file mode 100644 index b7f5ec1..0000000 --- a/.wrangler/tmp/dev-hD4Jm0/pages-shim.js.map +++ /dev/null @@ -1,8 +0,0 @@ -{ - "version": 3, - "sources": ["../bundle-4OOgwL/checked-fetch.js", "../../../../../AppData/Roaming/npm/node_modules/wrangler/templates/pages-shim.ts", "../../../../../AppData/Roaming/npm/node_modules/wrangler/templates/middleware/middleware-ensure-req-body-drained.ts", "../../../../../AppData/Roaming/npm/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts", "../bundle-4OOgwL/middleware-insertion-facade.js", "../../../../../AppData/Roaming/npm/node_modules/wrangler/templates/middleware/common.ts", "../bundle-4OOgwL/middleware-loader.entry.ts"], - "sourceRoot": "C:\\Users\\casey\\polln\\constrainttheory\\.wrangler\\tmp\\dev-hD4Jm0", - "sourcesContent": ["const urls = new Set();\n\nfunction checkURL(request, init) {\n\tconst url =\n\t\trequest instanceof URL\n\t\t\t? request\n\t\t\t: new URL(\n\t\t\t\t\t(typeof request === \"string\"\n\t\t\t\t\t\t? new Request(request, init)\n\t\t\t\t\t\t: request\n\t\t\t\t\t).url\n\t\t\t\t);\n\tif (url.port && url.port !== \"443\" && url.protocol === \"https:\") {\n\t\tif (!urls.has(url.toString())) {\n\t\t\turls.add(url.toString());\n\t\t\tconsole.warn(\n\t\t\t\t`WARNING: known issue with \\`fetch()\\` requests to custom HTTPS ports in published Workers:\\n` +\n\t\t\t\t\t` - ${url.toString()} - the custom port will be ignored when the Worker is published using the \\`wrangler deploy\\` command.\\n`\n\t\t\t);\n\t\t}\n\t}\n}\n\nglobalThis.fetch = new Proxy(globalThis.fetch, {\n\tapply(target, thisArg, argArray) {\n\t\tconst [request, init] = argArray;\n\t\tcheckURL(request, init);\n\t\treturn Reflect.apply(target, thisArg, argArray);\n\t},\n});\n", "// This Worker is used as a default when no Pages Functions are present.\n// It proxies the request directly on to the asset server binding.\n\nexport default >{\n\tasync fetch(request, env, context) {\n\t\tconst response = await env.ASSETS.fetch(request.url, request);\n\t\treturn new Response(response.body, response);\n\t},\n};\n", "import type { Middleware } from \"./common\";\n\nconst drainBody: Middleware = async (request, env, _ctx, middlewareCtx) => {\n\ttry {\n\t\treturn await middlewareCtx.next(request, env);\n\t} finally {\n\t\ttry {\n\t\t\tif (request.body !== null && !request.bodyUsed) {\n\t\t\t\tconst reader = request.body.getReader();\n\t\t\t\twhile (!(await reader.read()).done) {}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Failed to drain the unused request body.\", e);\n\t\t}\n\t}\n};\n\nexport default drainBody;\n", "import type { Middleware } from \"./common\";\n\ninterface JsonError {\n\tmessage?: string;\n\tname?: string;\n\tstack?: string;\n\tcause?: JsonError;\n}\n\nfunction reduceError(e: any): JsonError {\n\treturn {\n\t\tname: e?.name,\n\t\tmessage: e?.message ?? String(e),\n\t\tstack: e?.stack,\n\t\tcause: e?.cause === undefined ? undefined : reduceError(e.cause),\n\t};\n}\n\n// See comment in `bundle.ts` for details on why this is needed\nconst jsonError: Middleware = async (request, env, _ctx, middlewareCtx) => {\n\ttry {\n\t\treturn await middlewareCtx.next(request, env);\n\t} catch (e: any) {\n\t\tconst error = reduceError(e);\n\t\treturn Response.json(error, {\n\t\t\tstatus: 500,\n\t\t\theaders: { \"MF-Experimental-Error-Stack\": \"true\" },\n\t\t});\n\t}\n};\n\nexport default jsonError;\n", "\t\t\t\timport worker, * as OTHER_EXPORTS from \"C:\\\\Users\\\\casey\\\\AppData\\\\Roaming\\\\npm\\\\node_modules\\\\wrangler\\\\templates\\\\pages-shim.ts\";\n\t\t\t\timport * as __MIDDLEWARE_0__ from \"C:\\\\Users\\\\casey\\\\AppData\\\\Roaming\\\\npm\\\\node_modules\\\\wrangler\\\\templates\\\\middleware\\\\middleware-ensure-req-body-drained.ts\";\nimport * as __MIDDLEWARE_1__ from \"C:\\\\Users\\\\casey\\\\AppData\\\\Roaming\\\\npm\\\\node_modules\\\\wrangler\\\\templates\\\\middleware\\\\middleware-miniflare3-json-error.ts\";\n\n\t\t\t\texport * from \"C:\\\\Users\\\\casey\\\\AppData\\\\Roaming\\\\npm\\\\node_modules\\\\wrangler\\\\templates\\\\pages-shim.ts\";\n\t\t\t\tconst MIDDLEWARE_TEST_INJECT = \"__INJECT_FOR_TESTING_WRANGLER_MIDDLEWARE__\";\n\t\t\t\texport const __INTERNAL_WRANGLER_MIDDLEWARE__ = [\n\t\t\t\t\t\n\t\t\t\t\t__MIDDLEWARE_0__.default,__MIDDLEWARE_1__.default\n\t\t\t\t]\n\t\t\t\texport default worker;", "export type Awaitable = T | Promise;\n// TODO: allow dispatching more events?\nexport type Dispatcher = (\n\ttype: \"scheduled\",\n\tinit: { cron?: string }\n) => Awaitable;\n\nexport type IncomingRequest = Request<\n\tunknown,\n\tIncomingRequestCfProperties\n>;\n\nexport interface MiddlewareContext {\n\tdispatch: Dispatcher;\n\tnext(request: IncomingRequest, env: any): Awaitable;\n}\n\nexport type Middleware = (\n\trequest: IncomingRequest,\n\tenv: any,\n\tctx: ExecutionContext,\n\tmiddlewareCtx: MiddlewareContext\n) => Awaitable;\n\nconst __facade_middleware__: Middleware[] = [];\n\n// The register functions allow for the insertion of one or many middleware,\n// We register internal middleware first in the stack, but have no way of controlling\n// the order that addMiddleware is run in service workers so need an internal function.\nexport function __facade_register__(...args: (Middleware | Middleware[])[]) {\n\t__facade_middleware__.push(...args.flat());\n}\nexport function __facade_registerInternal__(\n\t...args: (Middleware | Middleware[])[]\n) {\n\t__facade_middleware__.unshift(...args.flat());\n}\n\nfunction __facade_invokeChain__(\n\trequest: IncomingRequest,\n\tenv: any,\n\tctx: ExecutionContext,\n\tdispatch: Dispatcher,\n\tmiddlewareChain: Middleware[]\n): Awaitable {\n\tconst [head, ...tail] = middlewareChain;\n\tconst middlewareCtx: MiddlewareContext = {\n\t\tdispatch,\n\t\tnext(newRequest, newEnv) {\n\t\t\treturn __facade_invokeChain__(newRequest, newEnv, ctx, dispatch, tail);\n\t\t},\n\t};\n\treturn head(request, env, ctx, middlewareCtx);\n}\n\nexport function __facade_invoke__(\n\trequest: IncomingRequest,\n\tenv: any,\n\tctx: ExecutionContext,\n\tdispatch: Dispatcher,\n\tfinalMiddleware: Middleware\n): Awaitable {\n\treturn __facade_invokeChain__(request, env, ctx, dispatch, [\n\t\t...__facade_middleware__,\n\t\tfinalMiddleware,\n\t]);\n}\n", "// This loads all middlewares exposed on the middleware object and then starts\n// the invocation chain. The big idea is that we can add these to the middleware\n// export dynamically through wrangler, or we can potentially let users directly\n// add them as a sort of \"plugin\" system.\n\nimport ENTRY, { __INTERNAL_WRANGLER_MIDDLEWARE__ } from \"C:\\\\Users\\\\casey\\\\polln\\\\constrainttheory\\\\.wrangler\\\\tmp\\\\bundle-4OOgwL\\\\middleware-insertion-facade.js\";\nimport { __facade_invoke__, __facade_register__, Dispatcher } from \"C:\\\\Users\\\\casey\\\\AppData\\\\Roaming\\\\npm\\\\node_modules\\\\wrangler\\\\templates\\\\middleware\\\\common.ts\";\nimport type { WorkerEntrypointConstructor } from \"C:\\\\Users\\\\casey\\\\polln\\\\constrainttheory\\\\.wrangler\\\\tmp\\\\bundle-4OOgwL\\\\middleware-insertion-facade.js\";\n\n// Preserve all the exports from the worker\nexport * from \"C:\\\\Users\\\\casey\\\\polln\\\\constrainttheory\\\\.wrangler\\\\tmp\\\\bundle-4OOgwL\\\\middleware-insertion-facade.js\";\n\nclass __Facade_ScheduledController__ implements ScheduledController {\n\treadonly #noRetry: ScheduledController[\"noRetry\"];\n\n\tconstructor(\n\t\treadonly scheduledTime: number,\n\t\treadonly cron: string,\n\t\tnoRetry: ScheduledController[\"noRetry\"]\n\t) {\n\t\tthis.#noRetry = noRetry;\n\t}\n\n\tnoRetry() {\n\t\tif (!(this instanceof __Facade_ScheduledController__)) {\n\t\t\tthrow new TypeError(\"Illegal invocation\");\n\t\t}\n\t\t// Need to call native method immediately in case uncaught error thrown\n\t\tthis.#noRetry();\n\t}\n}\n\nfunction wrapExportedHandler(worker: ExportedHandler): ExportedHandler {\n\t// If we don't have any middleware defined, just return the handler as is\n\tif (\n\t\t__INTERNAL_WRANGLER_MIDDLEWARE__ === undefined ||\n\t\t__INTERNAL_WRANGLER_MIDDLEWARE__.length === 0\n\t) {\n\t\treturn worker;\n\t}\n\t// Otherwise, register all middleware once\n\tfor (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) {\n\t\t__facade_register__(middleware);\n\t}\n\n\tconst fetchDispatcher: ExportedHandlerFetchHandler = function (\n\t\trequest,\n\t\tenv,\n\t\tctx\n\t) {\n\t\tif (worker.fetch === undefined) {\n\t\t\tthrow new Error(\"Handler does not export a fetch() function.\");\n\t\t}\n\t\treturn worker.fetch(request, env, ctx);\n\t};\n\n\treturn {\n\t\t...worker,\n\t\tfetch(request, env, ctx) {\n\t\t\tconst dispatcher: Dispatcher = function (type, init) {\n\t\t\t\tif (type === \"scheduled\" && worker.scheduled !== undefined) {\n\t\t\t\t\tconst controller = new __Facade_ScheduledController__(\n\t\t\t\t\t\tDate.now(),\n\t\t\t\t\t\tinit.cron ?? \"\",\n\t\t\t\t\t\t() => {}\n\t\t\t\t\t);\n\t\t\t\t\treturn worker.scheduled(controller, env, ctx);\n\t\t\t\t}\n\t\t\t};\n\t\t\treturn __facade_invoke__(request, env, ctx, dispatcher, fetchDispatcher);\n\t\t},\n\t};\n}\n\nfunction wrapWorkerEntrypoint(\n\tklass: WorkerEntrypointConstructor\n): WorkerEntrypointConstructor {\n\t// If we don't have any middleware defined, just return the handler as is\n\tif (\n\t\t__INTERNAL_WRANGLER_MIDDLEWARE__ === undefined ||\n\t\t__INTERNAL_WRANGLER_MIDDLEWARE__.length === 0\n\t) {\n\t\treturn klass;\n\t}\n\t// Otherwise, register all middleware once\n\tfor (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) {\n\t\t__facade_register__(middleware);\n\t}\n\n\t// `extend`ing `klass` here so other RPC methods remain callable\n\treturn class extends klass {\n\t\t#fetchDispatcher: ExportedHandlerFetchHandler> = (\n\t\t\trequest,\n\t\t\tenv,\n\t\t\tctx\n\t\t) => {\n\t\t\tthis.env = env;\n\t\t\tthis.ctx = ctx;\n\t\t\tif (super.fetch === undefined) {\n\t\t\t\tthrow new Error(\"Entrypoint class does not define a fetch() function.\");\n\t\t\t}\n\t\t\treturn super.fetch(request);\n\t\t};\n\n\t\t#dispatcher: Dispatcher = (type, init) => {\n\t\t\tif (type === \"scheduled\" && super.scheduled !== undefined) {\n\t\t\t\tconst controller = new __Facade_ScheduledController__(\n\t\t\t\t\tDate.now(),\n\t\t\t\t\tinit.cron ?? \"\",\n\t\t\t\t\t() => {}\n\t\t\t\t);\n\t\t\t\treturn super.scheduled(controller);\n\t\t\t}\n\t\t};\n\n\t\tfetch(request: Request) {\n\t\t\treturn __facade_invoke__(\n\t\t\t\trequest,\n\t\t\t\tthis.env,\n\t\t\t\tthis.ctx,\n\t\t\t\tthis.#dispatcher,\n\t\t\t\tthis.#fetchDispatcher\n\t\t\t);\n\t\t}\n\t};\n}\n\nlet WRAPPED_ENTRY: ExportedHandler | WorkerEntrypointConstructor | undefined;\nif (typeof ENTRY === \"object\") {\n\tWRAPPED_ENTRY = wrapExportedHandler(ENTRY);\n} else if (typeof ENTRY === \"function\") {\n\tWRAPPED_ENTRY = wrapWorkerEntrypoint(ENTRY);\n}\nexport default WRAPPED_ENTRY;\n"], - "mappings": ";;;;AAAA,IAAM,OAAO,oBAAI,IAAI;AAErB,SAAS,SAAS,SAAS,MAAM;AAChC,QAAM,MACL,mBAAmB,MAChB,UACA,IAAI;AAAA,KACH,OAAO,YAAY,WACjB,IAAI,QAAQ,SAAS,IAAI,IACzB,SACD;AAAA,EACH;AACH,MAAI,IAAI,QAAQ,IAAI,SAAS,SAAS,IAAI,aAAa,UAAU;AAChE,QAAI,CAAC,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG;AAC9B,WAAK,IAAI,IAAI,SAAS,CAAC;AACvB,cAAQ;AAAA,QACP;AAAA,KACO,IAAI,SAAS,CAAC;AAAA;AAAA,MACtB;AAAA,IACD;AAAA,EACD;AACD;AAnBS;AAqBT,WAAW,QAAQ,IAAI,MAAM,WAAW,OAAO;AAAA,EAC9C,MAAM,QAAQ,SAAS,UAAU;AAChC,UAAM,CAAC,SAAS,IAAI,IAAI;AACxB,aAAS,SAAS,IAAI;AACtB,WAAO,QAAQ,MAAM,QAAQ,SAAS,QAAQ;AAAA,EAC/C;AACD,CAAC;;;AC1BD,IAAO,qBAA8C;AAAA,EACpD,MAAM,MAAM,SAAS,KAAK,SAAS;AAClC,UAAM,WAAW,MAAM,IAAI,OAAO,MAAM,QAAQ,KAAK,OAAO;AAC5D,WAAO,IAAI,SAAS,SAAS,MAAM,QAAQ;AAAA,EAC5C;AACD;;;ACNA,IAAM,YAAwB,8BAAO,SAAS,KAAK,MAAM,kBAAkB;AAC1E,MAAI;AACH,WAAO,MAAM,cAAc,KAAK,SAAS,GAAG;AAAA,EAC7C,UAAE;AACD,QAAI;AACH,UAAI,QAAQ,SAAS,QAAQ,CAAC,QAAQ,UAAU;AAC/C,cAAM,SAAS,QAAQ,KAAK,UAAU;AACtC,eAAO,EAAE,MAAM,OAAO,KAAK,GAAG,MAAM;AAAA,QAAC;AAAA,MACtC;AAAA,IACD,SAAS,GAAG;AACX,cAAQ,MAAM,4CAA4C,CAAC;AAAA,IAC5D;AAAA,EACD;AACD,GAb8B;AAe9B,IAAO,6CAAQ;;;ACRf,SAAS,YAAY,GAAmB;AACvC,SAAO;AAAA,IACN,MAAM,GAAG;AAAA,IACT,SAAS,GAAG,WAAW,OAAO,CAAC;AAAA,IAC/B,OAAO,GAAG;AAAA,IACV,OAAO,GAAG,UAAU,SAAY,SAAY,YAAY,EAAE,KAAK;AAAA,EAChE;AACD;AAPS;AAUT,IAAM,YAAwB,8BAAO,SAAS,KAAK,MAAM,kBAAkB;AAC1E,MAAI;AACH,WAAO,MAAM,cAAc,KAAK,SAAS,GAAG;AAAA,EAC7C,SAAS,GAAQ;AAChB,UAAM,QAAQ,YAAY,CAAC;AAC3B,WAAO,SAAS,KAAK,OAAO;AAAA,MAC3B,QAAQ;AAAA,MACR,SAAS,EAAE,+BAA+B,OAAO;AAAA,IAClD,CAAC;AAAA,EACF;AACD,GAV8B;AAY9B,IAAO,2CAAQ;;;ACzBJ,IAAM,mCAAmC;AAAA,EAE9B;AAAA,EAAyB;AAC3C;AACA,IAAO,sCAAQ;;;ACcnB,IAAM,wBAAsC,CAAC;AAKtC,SAAS,uBAAuB,MAAqC;AAC3E,wBAAsB,KAAK,GAAG,KAAK,KAAK,CAAC;AAC1C;AAFgB;AAShB,SAAS,uBACR,SACA,KACA,KACA,UACA,iBACsB;AACtB,QAAM,CAAC,MAAM,GAAG,IAAI,IAAI;AACxB,QAAM,gBAAmC;AAAA,IACxC;AAAA,IACA,KAAK,YAAY,QAAQ;AACxB,aAAO,uBAAuB,YAAY,QAAQ,KAAK,UAAU,IAAI;AAAA,IACtE;AAAA,EACD;AACA,SAAO,KAAK,SAAS,KAAK,KAAK,aAAa;AAC7C;AAfS;AAiBF,SAAS,kBACf,SACA,KACA,KACA,UACA,iBACsB;AACtB,SAAO,uBAAuB,SAAS,KAAK,KAAK,UAAU;AAAA,IAC1D,GAAG;AAAA,IACH;AAAA,EACD,CAAC;AACF;AAXgB;;;AC3ChB,IAAM,iCAAN,MAAM,gCAA8D;AAAA,EAGnE,YACU,eACA,MACT,SACC;AAHQ;AACA;AAGT,SAAK,WAAW;AAAA,EACjB;AAAA,EArBD,OAYoE;AAAA;AAAA;AAAA,EAC1D;AAAA,EAUT,UAAU;AACT,QAAI,EAAE,gBAAgB,kCAAiC;AACtD,YAAM,IAAI,UAAU,oBAAoB;AAAA,IACzC;AAEA,SAAK,SAAS;AAAA,EACf;AACD;AAEA,SAAS,oBAAoB,QAA0C;AAEtE,MACC,qCAAqC,UACrC,iCAAiC,WAAW,GAC3C;AACD,WAAO;AAAA,EACR;AAEA,aAAW,cAAc,kCAAkC;AAC1D,wBAAoB,UAAU;AAAA,EAC/B;AAEA,QAAM,kBAA+C,gCACpD,SACA,KACA,KACC;AACD,QAAI,OAAO,UAAU,QAAW;AAC/B,YAAM,IAAI,MAAM,6CAA6C;AAAA,IAC9D;AACA,WAAO,OAAO,MAAM,SAAS,KAAK,GAAG;AAAA,EACtC,GATqD;AAWrD,SAAO;AAAA,IACN,GAAG;AAAA,IACH,MAAM,SAAS,KAAK,KAAK;AACxB,YAAM,aAAyB,gCAAU,MAAM,MAAM;AACpD,YAAI,SAAS,eAAe,OAAO,cAAc,QAAW;AAC3D,gBAAM,aAAa,IAAI;AAAA,YACtB,KAAK,IAAI;AAAA,YACT,KAAK,QAAQ;AAAA,YACb,MAAM;AAAA,YAAC;AAAA,UACR;AACA,iBAAO,OAAO,UAAU,YAAY,KAAK,GAAG;AAAA,QAC7C;AAAA,MACD,GAT+B;AAU/B,aAAO,kBAAkB,SAAS,KAAK,KAAK,YAAY,eAAe;AAAA,IACxE;AAAA,EACD;AACD;AAxCS;AA0CT,SAAS,qBACR,OAC8B;AAE9B,MACC,qCAAqC,UACrC,iCAAiC,WAAW,GAC3C;AACD,WAAO;AAAA,EACR;AAEA,aAAW,cAAc,kCAAkC;AAC1D,wBAAoB,UAAU;AAAA,EAC/B;AAGA,SAAO,cAAc,MAAM;AAAA,IAC1B,mBAAyE,wBACxE,SACA,KACA,QACI;AACJ,WAAK,MAAM;AACX,WAAK,MAAM;AACX,UAAI,MAAM,UAAU,QAAW;AAC9B,cAAM,IAAI,MAAM,sDAAsD;AAAA,MACvE;AACA,aAAO,MAAM,MAAM,OAAO;AAAA,IAC3B,GAXyE;AAAA,IAazE,cAA0B,wBAAC,MAAM,SAAS;AACzC,UAAI,SAAS,eAAe,MAAM,cAAc,QAAW;AAC1D,cAAM,aAAa,IAAI;AAAA,UACtB,KAAK,IAAI;AAAA,UACT,KAAK,QAAQ;AAAA,UACb,MAAM;AAAA,UAAC;AAAA,QACR;AACA,eAAO,MAAM,UAAU,UAAU;AAAA,MAClC;AAAA,IACD,GAT0B;AAAA,IAW1B,MAAM,SAAwD;AAC7D,aAAO;AAAA,QACN;AAAA,QACA,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,MACN;AAAA,IACD;AAAA,EACD;AACD;AAnDS;AAqDT,IAAI;AACJ,IAAI,OAAO,wCAAU,UAAU;AAC9B,kBAAgB,oBAAoB,mCAAK;AAC1C,WAAW,OAAO,wCAAU,YAAY;AACvC,kBAAgB,qBAAqB,mCAAK;AAC3C;AACA,IAAO,kCAAQ;", - "names": [] -} diff --git a/clippy_round9.txt b/clippy_round9.txt deleted file mode 100644 index e391ba1..0000000 --- a/clippy_round9.txt +++ /dev/null @@ -1,2710 +0,0 @@ - Blocking waiting for file lock on build directory -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\executor.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\executor.cu" -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\main.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\main.cu" -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\smart_crdt_demo.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\smart_crdt_demo.cu" - Checking cudaclaw v0.1.0 (C:\Users\casey) -error: `<` is interpreted as a start of generic arguments for `f64`, not a comparison - --> tests\latency_test.rs:273:65 - | -273 | if result.below_target as f64 / result.total_samples as f64 < 0.5 { - | ^ ----- interpreted as generic arguments - | | - | not interpreted as comparison - | -help: try comparing the cast value - | -273 | if result.below_target as f64 / (result.total_samples as f64) < 0.5 { - | + + - -error[E0433]: failed to resolve: there are too many leading `super` keywords - --> tests\alignment_test.rs:5:16 - | -5 | use super::super::*; - | ^^^^^ there are too many leading `super` keywords - -error: cannot find macro `offset_of` in this scope - --> tests\alignment_test.rs:29:20 - | -29 | assert_eq!(offset_of!(Command, cmd_type), 0); - | ^^^^^^^^^ - | - = help: have you added the `#[macro_use]` on the module/import? -help: consider importing this macro - | - 5 + use std::mem::offset_of; - | - -error: cannot find macro `offset_of` in this scope - --> tests\alignment_test.rs:30:20 - | -30 | assert_eq!(offset_of!(Command, id), 4); - | ^^^^^^^^^ - | - = help: have you added the `#[macro_use]` on the module/import? -help: consider importing this macro - | - 5 + use std::mem::offset_of; - | - -error: cannot find macro `offset_of` in this scope - --> tests\alignment_test.rs:31:20 - | -31 | assert_eq!(offset_of!(Command, timestamp), 8); - | ^^^^^^^^^ - | - = help: have you added the `#[macro_use]` on the module/import? -help: consider importing this macro - | - 5 + use std::mem::offset_of; - | - -error[E0412]: cannot find type `LatencyResult` in this scope - --> tests\latency_test.rs:257:51 - | -257 | fn generate_optimization_recommendations(result: &LatencyResult) -> Vec { - | ^^^^^^^^^^^^^ not found in this scope - | -note: struct `crate::latency_tests::LatencyResult` exists but is inaccessible - --> tests\latency_test.rs:24:5 - | - 24 | struct LatencyResult { - | ^^^^^^^^^^^^^^^^^^^^ not accessible - -error[E0425]: cannot find value `TARGET_LATENCY_US` in this scope - --> tests\latency_test.rs:279:25 - | -279 | if result.mean_us > TARGET_LATENCY_US as f64 { - | ^^^^^^^^^^^^^^^^^ not found in this scope - | -note: constant `crate::latency_tests::TARGET_LATENCY_US` exists but is inaccessible - --> tests\latency_test.rs:19:5 - | - 19 | const TARGET_LATENCY_US: u64 = 10; // Target: 10 microseconds - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible - -error[E0425]: cannot find value `TARGET_LATENCY_US` in this scope - --> tests\latency_test.rs:282:29 - | -282 | result.mean_us, TARGET_LATENCY_US - | ^^^^^^^^^^^^^^^^^ not found in this scope - | -note: constant `crate::latency_tests::TARGET_LATENCY_US` exists but is inaccessible - --> tests\latency_test.rs:19:5 - | - 19 | const TARGET_LATENCY_US: u64 = 10; // Target: 10 microseconds - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible - -error: cannot find macro `offset_of` in this scope - --> tests\alignment_test.rs:33:20 - | -33 | assert_eq!(offset_of!(Command, data_a), 16); - | ^^^^^^^^^ - | - = help: have you added the `#[macro_use]` on the module/import? -help: consider importing this macro - | - 5 + use std::mem::offset_of; - | - -error[E0425]: cannot find function `simulate_cell_update` in this scope - --> tests\latency_test.rs:359:21 - | -359 | let _ = simulate_cell_update(); - | ^^^^^^^^^^^^^^^^^^^^ not found in this scope - | -note: function `crate::latency_tests::simulate_cell_update` exists but is inaccessible - --> tests\latency_test.rs:148:5 - | -148 | fn simulate_cell_update() -> Duration { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible - -error: cannot find macro `offset_of` in this scope - --> tests\alignment_test.rs:34:20 - | -34 | assert_eq!(offset_of!(Command, data_b), 20); - | ^^^^^^^^^ - | - = help: have you added the `#[macro_use]` on the module/import? -help: consider importing this macro - | - 5 + use std::mem::offset_of; - | - -error: cannot find macro `offset_of` in this scope - --> tests\alignment_test.rs:35:20 - | -35 | assert_eq!(offset_of!(Command, result), 24); - | ^^^^^^^^^ - | - = help: have you added the `#[macro_use]` on the module/import? -help: consider importing this macro - | - 5 + use std::mem::offset_of; - | - -error: cannot find macro `offset_of` in this scope - --> tests\alignment_test.rs:36:20 - | -36 | assert_eq!(offset_of!(Command, batch_data), 28); - | ^^^^^^^^^ - | - = help: have you added the `#[macro_use]` on the module/import? -help: consider importing this macro - | - 5 + use std::mem::offset_of; - | - -error: cannot find macro `offset_of` in this scope - --> tests\alignment_test.rs:37:20 - | -37 | assert_eq!(offset_of!(Command, batch_count), 36); - | ^^^^^^^^^ - | - = help: have you added the `#[macro_use]` on the module/import? -help: consider importing this macro - | - 5 + use std::mem::offset_of; - | - -warning: unused imports: `Arc` and `Mutex` - --> tests\latency_test.rs:5:17 - | -5 | use std::sync::{Arc, Mutex}; - | ^^^ ^^^^^ - | - = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default - -error: cannot find macro `offset_of` in this scope - --> tests\alignment_test.rs:39:20 - | -39 | assert_eq!(offset_of!(Command, _padding), 40); - | ^^^^^^^^^ - | - = help: have you added the `#[macro_use]` on the module/import? -help: consider importing this macro - | - 5 + use std::mem::offset_of; - | - -error: cannot find macro `offset_of` in this scope - --> tests\alignment_test.rs:40:20 - | -40 | assert_eq!(offset_of!(Command, result_code), 44); - | ^^^^^^^^^ - | - = help: have you added the `#[macro_use]` on the module/import? -help: consider importing this macro - | - 5 + use std::mem::offset_of; - | - -warning: unused import: `super::*` - --> tests\latency_test.rs:304:9 - | -304 | use super::*; - | ^^^^^^^^ - -error[E0412]: cannot find type `Command` in this scope - --> tests\alignment_test.rs:9:40 - | -9 | let size = std::mem::size_of::(); - | ^^^^^^^ not found in this scope - | -help: consider importing one of these structs - | -5 + use std::process::Command; - | -5 + use tokio::process::Command; - | - -error[E0412]: cannot find type `Command` in this scope - --> tests\alignment_test.rs:19:42 - | -19 | let align = std::mem::align_of::(); - | ^^^^^^^ not found in this scope - | -help: consider importing one of these structs - | - 5 + use std::process::Command; - | - 5 + use tokio::process::Command; - | - -error[E0412]: cannot find type `CommandQueueHost` in this scope - --> tests\alignment_test.rs:45:40 - | -45 | let size = std::mem::size_of::(); - | ^^^^^^^^^^^^^^^^ not found in this scope - | -help: you might be missing a type parameter - | -44 | fn test_command_queue_size() { - | ++++++++++++++++++ - -error[E0412]: cannot find type `CommandQueueHost` in this scope - --> tests\alignment_test.rs:69:42 - | -69 | let align = std::mem::align_of::(); - | ^^^^^^^^^^^^^^^^ not found in this scope - | -help: you might be missing a type parameter - | -68 | fn test_command_queue_alignment() { - | ++++++++++++++++++ - -warning: unused macro definition: `offset_of` - --> tests\alignment_test.rs:78:14 - | -78 | macro_rules! offset_of { - | ^^^^^^^^^ - | - = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default - -error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand` - --> tests\latency_test.rs:162:23 - | -162 | let jitter = (rand::random::() - 0.5) * 3.0; // ±1.5 µs jitter - | ^^^^ use of unresolved module or unlinked crate `rand` - | - = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml` - -error[E0425]: cannot find function `create_executor` in this scope - --> tests\integration_test.rs:32:28 - | -32 | let mut executor = create_executor(); - | ^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | -10 + use crate::create_executor; - | - -error[E0425]: cannot find function `create_no_op_command` in this scope - --> tests\integration_test.rs:39:37 - | -39 | executor.submit_command(create_no_op_command()); - | ^^^^^^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | -10 + use crate::create_no_op_command; - | - -error[E0425]: cannot find function `create_cell_update_command` in this scope - --> tests\integration_test.rs:47:37 - | -47 | executor.submit_command(create_cell_update_command()); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | -10 + use crate::create_cell_update_command; - | - -error[E0425]: cannot find function `analyze_latencies` in this scope - --> tests\integration_test.rs:54:22 - | -54 | let result = analyze_latencies(&latencies); - | ^^^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | -10 + use crate::analyze_latencies; - | - -error[E0425]: cannot find function `print_latency_results` in this scope - --> tests\integration_test.rs:55:9 - | -55 | print_latency_results(&result); - | ^^^^^^^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | -10 + use crate::print_latency_results; - | - -error[E0425]: cannot find function `create_executor_with_variant` in this scope - --> tests\integration_test.rs:74:28 - | -74 | let mut executor = create_executor_with_variant(KernelVariant::Adaptive); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | -10 + use crate::create_executor_with_variant; - | - -error[E0425]: cannot find function `create_no_op_command` in this scope - --> tests\integration_test.rs:80:37 - | -80 | executor.submit_command(create_no_op_command()); - | ^^^^^^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | -10 + use crate::create_no_op_command; - | - -error[E0425]: cannot find function `create_no_op_command` in this scope - --> tests\integration_test.rs:91:37 - | -91 | executor.submit_command(create_no_op_command()); - | ^^^^^^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | -10 + use crate::create_no_op_command; - | - -error[E0425]: cannot find function `create_executor_with_variant` in this scope - --> tests\integration_test.rs:120:32 - | -120 | let mut executor = create_executor_with_variant(variant); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | - 10 + use crate::create_executor_with_variant; - | - -error[E0425]: cannot find function `measure_latency` in this scope - --> tests\integration_test.rs:123:29 - | -123 | let latencies = measure_latency(&mut executor, 1000); - | ^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | - 10 + use crate::measure_latency; - | - -error[E0425]: cannot find function `analyze_latencies` in this scope - --> tests\integration_test.rs:124:26 - | -124 | let result = analyze_latencies(&latencies); - | ^^^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | - 10 + use crate::analyze_latencies; - | - -error[E0425]: cannot find function `create_executor` in this scope - --> tests\integration_test.rs:158:36 - | -158 | let mut executor = create_executor(); - | ^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | - 10 + use crate::create_executor; - | - -error[E0425]: cannot find function `create_cell_update_at` in this scope - --> tests\integration_test.rs:166:31 - | -166 | let cmd = create_cell_update_at(thread_id, i); - | ^^^^^^^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | - 10 + use crate::create_cell_update_at; - | - -error[E0425]: cannot find function `analyze_latencies` in this scope - --> tests\integration_test.rs:173:17 - | -173 | analyze_latencies(&latencies) - | ^^^^^^^^^^^^^^^^^ not found in this scope - | -help: consider importing this function - | - 10 + use crate::analyze_latencies; - | - -error[E0412]: cannot find type `Duration` in this scope - --> tests\integration_test.rs:211:35 - | -211 | fn analyze_latencies(latencies: &[Duration]) -> LatencyResult { - | ^^^^^^^^ not found in this scope - | -help: consider importing one of these structs - | - 8 + use std::time::Duration; - | - 8 + use tokio::time::Duration; - | - -error[E0425]: cannot find value `TARGET_LATENCY_US` in this scope - --> tests\integration_test.rs:234:27 - | -234 | .filter(|&&x| x < TARGET_LATENCY_US as f64) - | ^^^^^^^^^^^^^^^^^ not found in this scope - | -note: constant `crate::integration_tests::TARGET_LATENCY_US` exists but is inaccessible - --> tests\integration_test.rs:15:5 - | - 15 | const TARGET_LATENCY_US: u64 = 10; // Target: 10 microseconds - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible - -error[E0425]: cannot find value `TARGET_LATENCY_US` in this scope - --> tests\integration_test.rs:267:82 - | -267 | println!("│ P95 │ {:8.2} µs │ < {:4} µs │", result.p95_us, TARGET_LATENCY_US); - | ^^^^^^^^^^^^^^^^^ not found in this scope - | -note: constant `crate::integration_tests::TARGET_LATENCY_US` exists but is inaccessible - --> tests\integration_test.rs:15:5 - | - 15 | const TARGET_LATENCY_US: u64 = 10; // Target: 10 microseconds - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible - -error[E0425]: cannot find value `TARGET_LATENCY_US` in this scope - --> tests\integration_test.rs:280:24 - | -280 | if result.p95_us < TARGET_LATENCY_US as f64 { - | ^^^^^^^^^^^^^^^^^ not found in this scope - | -note: constant `crate::integration_tests::TARGET_LATENCY_US` exists but is inaccessible - --> tests\integration_test.rs:15:5 - | - 15 | const TARGET_LATENCY_US: u64 = 10; // Target: 10 microseconds - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible - -error[E0425]: cannot find value `TARGET_LATENCY_US` in this scope - --> tests\integration_test.rs:282:31 - | -282 | } else if result.p95_us < TARGET_LATENCY_US as f64 * 1.5 { - | ^^^^^^^^^^^^^^^^^ not found in this scope - | -note: constant `crate::integration_tests::TARGET_LATENCY_US` exists but is inaccessible - --> tests\integration_test.rs:15:5 - | - 15 | const TARGET_LATENCY_US: u64 = 10; // Target: 10 microseconds - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible - -error[E0425]: cannot find value `TARGET_LATENCY_US` in this scope - --> tests\integration_test.rs:284:31 - | -284 | } else if result.p95_us < TARGET_LATENCY_US as f64 * 2.0 { - | ^^^^^^^^^^^^^^^^^ not found in this scope - | -note: constant `crate::integration_tests::TARGET_LATENCY_US` exists but is inaccessible - --> tests\integration_test.rs:15:5 - | - 15 | const TARGET_LATENCY_US: u64 = 10; // Target: 10 microseconds - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible - -error[E0412]: cannot find type `Duration` in this scope - --> tests\integration_test.rs:320:70 - | -320 | fn measure_latency(executor: &mut MockExecutor, count: usize) -> Vec { - | ^^^^^^^^ not found in this scope - | -help: consider importing one of these structs - | - 8 + use std::time::Duration; - | - 8 + use tokio::time::Duration; - | - -error[E0433]: failed to resolve: use of undeclared type `Duration` - --> tests\integration_test.rs:321:10 - | -321 | vec![Duration::from_micros(5); count] - | ^^^^^^^^ use of undeclared type `Duration` - | -help: consider importing one of these structs - | - 8 + use std::time::Duration; - | - 8 + use tokio::time::Duration; - | - -Some errors have detailed explanations: E0412, E0433. -For more information about an error, try `rustc --explain E0412`. -warning: unused import: `QueueStatus` - --> src\agent.rs:11:50 - | -11 | pub use crate::cuda_claw::{Command, CommandType, QueueStatus}; - | ^^^^^^^^^^^ - | - = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default - -error[E0689]: can't call method `max` on ambiguous numeric type `{float}` - --> tests\latency_test.rs:165:39 - | -165 | Duration::from_secs_f64(total.max(0.0) / 1_000_000.0) - | ^^^ - | -help: you must specify a type for this binding, like `f32` - | -163 | let total: f32 = base_latency + jitter; - | +++++ - -warning: `cudaclaw` (test "alignment_test") generated 1 warning -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\executor.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\executor.cu" -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\main.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\main.cu" -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\smart_crdt_demo.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\smart_crdt_demo.cu" -error: could not compile `cudaclaw` (test "alignment_test") due to 15 previous errors; 1 warning emitted -warning: build failed, waiting for other jobs to finish... -warning: unnecessary parentheses around assigned value - --> src\agent.rs:565:26 - | -565 | let _queue_ref = (*queue); // Access the unified memory - | ^ ^ - | - = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default -help: remove these parentheses - | -565 - let _queue_ref = (*queue); // Access the unified memory -565 + let _queue_ref = *queue; // Access the unified memory - | - -warning: unused macro definition: `check_offset` - --> src\alignment.rs:46:18 - | -46 | macro_rules! check_offset { - | ^^^^^^^^^^^^ - | - = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default - -warning: unused import: `std::ptr` - --> src\bridge.rs:34:5 - | -34 | use std::ptr; - | ^^^^^^^^ - -warning: empty line after doc comment - --> src\bridge.rs:213:5 - | -213 | / /// ============================================================ -214 | | - | |_^ -... -238 | pub fn as_device_ptr(&self) -> *mut T { - | -------------------- the comment documents this function - | - = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#empty_line_after_doc_comments - = note: `-W clippy::empty-line-after-doc-comments` implied by `-W clippy::all` - = help: to override `-W clippy::all` add `#[allow(clippy::empty_line_after_doc_comments)]` - = help: if the empty line is unintentional, remove it -help: if the documentation should include the empty line include it in the comment - | -214 | /// - | - -warning: empty line after doc comment - --> src\bridge.rs:259:5 - | -259 | / /// ============================================================ -260 | | - | |_^ -... -282 | pub fn get_cpu_mut(&mut self) -> &mut T { - | ------------------ the comment documents this function - | - = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#empty_line_after_doc_comments - = help: if the empty line is unintentional, remove it -help: if the documentation should include the empty line include it in the comment - | -260 | /// - | - -warning: empty line after doc comment - --> src\bridge.rs:348:5 - | -348 | / /// ============================================================ -349 | | - | |_^ -... -358 | pub fn size_bytes(&self) -> usize { - | ----------------- the comment documents this function - | - = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#empty_line_after_doc_comments - = help: if the empty line is unintentional, remove it -help: if the documentation should include the empty line include it in the comment - | -349 | /// - | - -warning: unused macro definition: `offset_of` - --> src\cuda_claw.rs:29:14 - | -29 | macro_rules! offset_of { - | ^^^^^^^^^ - -warning: unused imports: `AtomicU32` and `Ordering` - --> src\cuda_claw.rs:439:33 - | -439 | use std::sync::atomic::{AtomicU32, Ordering}; - | ^^^^^^^^^ ^^^^^^^^ - -warning: empty line after doc comment - --> src\dispatcher.rs:197:5 - | -197 | / /// ============================================================ -198 | | - | |_^ -... -216 | pub fn dispatch_sync(&mut self, cmd: Command) -> Result> { - | -------------------- the comment documents this function - | - = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#empty_line_after_doc_comments - = help: if the empty line is unintentional, remove it -help: if the documentation should include the empty line include it in the comment - | -198 | /// - | - -warning: empty line after doc comment - --> src\dispatcher.rs:245:5 - | -245 | / /// ============================================================ -246 | | - | |_^ -... -273 | pub fn dispatch_batch( - | --------------------- the comment documents this function - | - = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#empty_line_after_doc_comments - = help: if the empty line is unintentional, remove it -help: if the documentation should include the empty line include it in the comment - | -246 | /// - | - -warning: empty line after doc comment - --> src\dispatcher.rs:314:5 - | -314 | / /// ============================================================ -315 | | - | |_^ -316 | /// Submit command to queue with backpressure handling -317 | fn submit_to_queue(&mut self, mut cmd: Command, cmd_id: u32) -> Result<(), Box> { - | ------------------ the comment documents this function - | - = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#empty_line_after_doc_comments - = help: if the empty line is unintentional, remove it -help: if the documentation should include the empty line include it in the comment - | -315 | /// - | - -warning: empty line after doc comment - --> src\dispatcher.rs:441:5 - | -441 | / /// ============================================================ -442 | | - | |_^ -443 | /// Wait for command completion with timeout -444 | fn wait_for_completion( - | ---------------------- the comment documents this function - | - = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#empty_line_after_doc_comments - = help: if the empty line is unintentional, remove it -help: if the documentation should include the empty line include it in the comment - | -442 | /// - | - -warning: empty line after doc comment - --> src\dispatcher.rs:512:5 - | -512 | / /// ============================================================ -513 | | - | |_^ -514 | /// Update peak queue depth -515 | fn update_peak_queue_depth(&self, depth: u32) { - | -------------------------- the comment documents this function - | - = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#empty_line_after_doc_comments - = help: if the empty line is unintentional, remove it -help: if the documentation should include the empty line include it in the comment - | -513 | /// - | - -warning: unused import: `std::ptr` - --> src\lock_free_queue.rs:20:5 - | -20 | use std::ptr; - | ^^^^^^^^ - -warning: unused import: `CommandType` - --> src\lock_free_queue.rs:21:64 - | -21 | use crate::cuda_claw::{Command, CommandQueueHost, QueueStatus, CommandType}; - | ^^^^^^^^^^^ - -warning: empty line after doc comment - --> src\lock_free_queue.rs:99:1 - | - 99 | / /// ============================================================ -100 | | - | |_^ -101 | /// Queue capacity (must match QUEUE_SIZE in CUDA) -102 | pub const QUEUE_SIZE: u32 = 16; - | -------------------- the comment documents this constant item - | - = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#empty_line_after_doc_comments - = help: if the empty line is unintentional, remove it -help: if the documentation should include the empty line include it in the comment - | -100 | /// - | - -warning: unused variable: `update_time` - --> tests\latency_test.rs:134:17 - | -134 | let update_time = simulate_cell_update(); - | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_time` - | - = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default - -warning: unused imports: `CellID` and `CellValueType` - --> src\volatile_dispatcher.rs:19:94 - | -19 | use crate::cuda_claw::{Command, CommandQueueHost, CommandType, QueueStatus, SpreadsheetEdit, CellID, CellValueType}; - | ^^^^^^ ^^^^^^^^^^^^^ - -warning: empty line after doc comment - --> src\volatile_dispatcher.rs:124:5 - | -124 | / /// ============================================================ -125 | | - | |_^ -... -157 | pub fn submit_volatile(&mut self, mut cmd: Command) -> Result> { - | ---------------------- the comment documents this function - | - = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#empty_line_after_doc_comments - = help: if the empty line is unintentional, remove it -help: if the documentation should include the empty line include it in the comment - | -125 | /// - | - -warning: empty line after doc comment - --> src\volatile_dispatcher.rs:245:5 - | -245 | / /// ============================================================ -246 | | - | |_^ -... -269 | pub fn submit_spreadsheet_edit( - | ------------------------------ the comment documents this function - | - = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#empty_line_after_doc_comments - = help: if the empty line is unintentional, remove it -help: if the documentation should include the empty line include it in the comment - | -246 | /// - | - -warning: empty line after doc comment - --> src\volatile_dispatcher.rs:287:5 - | -287 | / /// ============================================================ -288 | | - | |_^ -289 | /// Get current queue status (non-volatile read) -290 | pub fn get_status(&self) -> Result> { - | ----------------- the comment documents this function - | - = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#empty_line_after_doc_comments - = help: if the empty line is unintentional, remove it -help: if the documentation should include the empty line include it in the comment - | -288 | /// - | - -warning: unused imports: `RoundTripBenchmark` and `VolatileDispatcher` - --> src\main.rs:18:27 - | -18 | use volatile_dispatcher::{VolatileDispatcher, RoundTripBenchmark}; - | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ - -warning: unused import: `QueueStatus` - --> src\main.rs:325:43 - | -325 | use cuda_claw::{Command, CommandType, QueueStatus}; - | ^^^^^^^^^^^ - -warning: unused import: `QueueStatus` - --> src\main.rs:647:39 - | -647 | use cuda_claw::{CommandQueueHost, QueueStatus}; - | ^^^^^^^^^^^ - -warning: unused variable: `interval_ns` - --> tests\latency_test.rs:317:20 - | -317 | for (name, interval_ns) in strategies { - | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interval_ns` - -error[E0433]: failed to resolve: use of undeclared type `KernelVariant` - --> tests\integration_test.rs:74:57 - | -74 | let mut executor = create_executor_with_variant(KernelVariant::Adaptive); - | ^^^^^^^^^^^^^ use of undeclared type `KernelVariant` - -Some errors have detailed explanations: E0412, E0425, E0433, E0689. -warning: `cudaclaw` (test "latency_test") generated 4 warnings -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\executor.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\executor.cu" -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\main.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\main.cu" -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\smart_crdt_demo.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\smart_crdt_demo.cu" -error: could not compile `cudaclaw` (test "latency_test") due to 7 previous errors; 4 warnings emitted -error[E0277]: cannot divide `{integer}` by `f64` - --> tests\integration_test.rs:95:50 - | -95 | println!(" Throughput: {} ops/sec", 100 / elapsed.as_secs_f64()); - | ^ no implementation for `{integer} / f64` - | - = help: the trait `std::ops::Div` is not implemented for `{integer}` - = help: the following other types implement trait `std::ops::Div`: - `&f128` implements `std::ops::Div` - `&f128` implements `std::ops::Div` - `&f16` implements `std::ops::Div` - `&f16` implements `std::ops::Div` - `&f32` implements `std::ops::Div` - `&f32` implements `std::ops::Div` - `&f64` implements `std::ops::Div` - `&f64` implements `std::ops::Div` - and 75 others - -error[E0433]: failed to resolve: use of undeclared type `KernelVariant` - --> tests\integration_test.rs:111:14 - | -111 | (KernelVariant::Spin, "Spin"), - | ^^^^^^^^^^^^^ use of undeclared type `KernelVariant` - -error[E0433]: failed to resolve: use of undeclared type `KernelVariant` - --> tests\integration_test.rs:112:14 - | -112 | (KernelVariant::Adaptive, "Adaptive"), - | ^^^^^^^^^^^^^ use of undeclared type `KernelVariant` - -error[E0433]: failed to resolve: use of undeclared type `KernelVariant` - --> tests\integration_test.rs:113:14 - | -113 | (KernelVariant::Timed, "Timed"), - | ^^^^^^^^^^^^^ use of undeclared type `KernelVariant` - -error[E0282]: type annotations needed - --> tests\integration_test.rs:182:30 - | -182 | all_results.push(handle.join().unwrap()); - | ^^^^^^ cannot infer type - -error[E0282]: type annotations needed - --> tests\integration_test.rs:213:15 - | -213 | .map(|d| d.as_secs_f64() * 1_000_000.0) - | ^ - type must be known at this point - | -help: consider giving this closure parameter an explicit type - | -213 | .map(|d: /* Type */| d.as_secs_f64() * 1_000_000.0) - | ++++++++++++ - -error[E0282]: type annotations needed - --> tests\integration_test.rs:216:27 - | -216 | us_latencies.sort_by(|a, b| a.partial_cmp(b).unwrap()); - | ^ - type must be known at this point - | -help: consider giving this closure parameter an explicit type - | -216 | us_latencies.sort_by(|a: /* Type */, b| a.partial_cmp(b).unwrap()); - | ++++++++++++ - -warning: unused variable: `variant` - --> tests\integration_test.rs:300:33 - | -300 | fn create_executor_with_variant(variant: MockKernelVariant) -> MockExecutor { - | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant` - | - = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default - -warning: unused variable: `row` - --> tests\integration_test.rs:315:26 - | -315 | fn create_cell_update_at(row: u32, col: u32) -> MockCommand { - | ^^^ help: if this is intentional, prefix it with an underscore: `_row` - -warning: unused variable: `col` - --> tests\integration_test.rs:315:36 - | -315 | fn create_cell_update_at(row: u32, col: u32) -> MockCommand { - | ^^^ help: if this is intentional, prefix it with an underscore: `_col` - -Some errors have detailed explanations: E0277, E0282, E0412, E0425, E0433. -For more information about an error, try `rustc --explain E0277`. -warning: `cudaclaw` (test "integration_test") generated 3 warnings -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\executor.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\executor.cu" -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\main.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\main.cu" -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\smart_crdt_demo.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\smart_crdt_demo.cu" -error: could not compile `cudaclaw` (test "integration_test") due to 30 previous errors; 3 warnings emitted -error[E0277]: the trait bound `T: cust::memory::DeviceCopy` is not satisfied - --> src\bridge.rs:454:18 - | -454 | ) -> CudaResult<(GpuBridge, *mut T)> - | ^^^^^^^^^^^^ the trait `cust::memory::DeviceCopy` is not implemented for `T` - | -note: required by a bound in `bridge::GpuBridge` - --> src\bridge.rs:80:25 - | - 80 | pub struct GpuBridge { - | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `GpuBridge` -help: consider further restricting type parameter `T` with trait `DeviceCopy` - | -456 | T: Clone + cust::memory::DeviceCopy, - | ++++++++++++++++++++++++++ - -error[E0277]: `dyn std::error::Error` cannot be sent between threads safely - --> src\dispatcher.rs:611:9 - | -611 | / tokio::task::spawn_blocking(move || { -612 | | let mut disp = dispatcher.lock().unwrap(); -613 | | disp.dispatch_sync(cmd) -614 | | }).await? - | |__________^ `dyn std::error::Error` cannot be sent between threads safely - | - = help: the trait `std::marker::Send` is not implemented for `dyn std::error::Error` - = note: required for `std::ptr::Unique` to implement `std::marker::Send` -note: required because it appears within the type `std::boxed::Box` - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:231:12 - | -231 | pub struct Box< - | ^^^ -note: required because it appears within the type `std::result::Result>` - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\result.rs:557:10 - | -557 | pub enum Result { - | ^^^^^^ -note: required by a bound in `tokio::task::spawn_blocking` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\tokio-1.50.0\src\task\blocking.rs:223:12 - | -220 | pub fn spawn_blocking(f: F) -> JoinHandle - | -------------- required by a bound in this function -... -223 | R: Send + 'static, - | ^^^^ required by this bound in `spawn_blocking` - -error: pointers cannot be cast to integers during const eval - --> src\cuda_claw.rs:34:13 - | -34 | (&(*ptr).$field as *const _ as usize) - (ptr as usize) - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -... -43 | const _ASSERT_CMD_TYPE: [(); offset_of!(Command, cmd_type) - 0] = [(); 0]; - | ----------------------------- in this macro invocation - | - = note: at compile-time, pointers do not have an integer value - = note: avoiding this restriction via `transmute`, `union`, or raw pointers leads to compile-time undefined behavior - = note: this error originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: pointers cannot be cast to integers during const eval - --> src\cuda_claw.rs:34:53 - | -34 | (&(*ptr).$field as *const _ as usize) - (ptr as usize) - | ^^^^^^^^^^^^^^ -... -43 | const _ASSERT_CMD_TYPE: [(); offset_of!(Command, cmd_type) - 0] = [(); 0]; - | ----------------------------- in this macro invocation - | - = note: at compile-time, pointers do not have an integer value - = note: avoiding this restriction via `transmute`, `union`, or raw pointers leads to compile-time undefined behavior - = note: this error originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: pointers cannot be cast to integers during const eval - --> src\cuda_claw.rs:34:13 - | -34 | (&(*ptr).$field as *const _ as usize) - (ptr as usize) - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -... -44 | const _ASSERT_ID: [(); offset_of!(Command, id) - 4] = [(); 0]; - | ----------------------- in this macro invocation - | - = note: at compile-time, pointers do not have an integer value - = note: avoiding this restriction via `transmute`, `union`, or raw pointers leads to compile-time undefined behavior - = note: this error originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: pointers cannot be cast to integers during const eval - --> src\cuda_claw.rs:34:53 - | -34 | (&(*ptr).$field as *const _ as usize) - (ptr as usize) - | ^^^^^^^^^^^^^^ -... -44 | const _ASSERT_ID: [(); offset_of!(Command, id) - 4] = [(); 0]; - | ----------------------- in this macro invocation - | - = note: at compile-time, pointers do not have an integer value - = note: avoiding this restriction via `transmute`, `union`, or raw pointers leads to compile-time undefined behavior - = note: this error originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) - -error[E0793]: reference to packed field is unaligned - --> src\cuda_claw.rs:34:14 - | -34 | (&(*ptr).$field as *const _ as usize) - (ptr as usize) - | ^^^^^^^^^^^^^^ -... -45 | const _ASSERT_TIMESTAMP: [(); offset_of!(Command, timestamp) - 8] = [(); 0]; - | ------------------------------ in this macro invocation - | - = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses - = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) - = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) - = note: this error originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: pointers cannot be cast to integers during const eval - --> src\cuda_claw.rs:34:13 - | -34 | (&(*ptr).$field as *const _ as usize) - (ptr as usize) - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -... -45 | const _ASSERT_TIMESTAMP: [(); offset_of!(Command, timestamp) - 8] = [(); 0]; - | ------------------------------ in this macro invocation - | - = note: at compile-time, pointers do not have an integer value - = note: avoiding this restriction via `transmute`, `union`, or raw pointers leads to compile-time undefined behavior - = note: this error originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: pointers cannot be cast to integers during const eval - --> src\cuda_claw.rs:34:53 - | -34 | (&(*ptr).$field as *const _ as usize) - (ptr as usize) - | ^^^^^^^^^^^^^^ -... -45 | const _ASSERT_TIMESTAMP: [(); offset_of!(Command, timestamp) - 8] = [(); 0]; - | ------------------------------ in this macro invocation - | - = note: at compile-time, pointers do not have an integer value - = note: avoiding this restriction via `transmute`, `union`, or raw pointers leads to compile-time undefined behavior - = note: this error originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: pointers cannot be cast to integers during const eval - --> src\cuda_claw.rs:34:13 - | -34 | (&(*ptr).$field as *const _ as usize) - (ptr as usize) - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -... -46 | const _ASSERT_DATA_A: [(); offset_of!(Command, data_a) - 16] = [(); 0]; - | --------------------------- in this macro invocation - | - = note: at compile-time, pointers do not have an integer value - = note: avoiding this restriction via `transmute`, `union`, or raw pointers leads to compile-time undefined behavior - = note: this error originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: pointers cannot be cast to integers during const eval - --> src\cuda_claw.rs:34:53 - | -34 | (&(*ptr).$field as *const _ as usize) - (ptr as usize) - | ^^^^^^^^^^^^^^ -... -46 | const _ASSERT_DATA_A: [(); offset_of!(Command, data_a) - 16] = [(); 0]; - | --------------------------- in this macro invocation - | - = note: at compile-time, pointers do not have an integer value - = note: avoiding this restriction via `transmute`, `union`, or raw pointers leads to compile-time undefined behavior - = note: this error originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: pointers cannot be cast to integers during const eval - --> src\cuda_claw.rs:34:13 - | -34 | (&(*ptr).$field as *const _ as usize) - (ptr as usize) - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -... -47 | const _ASSERT_RESULT_CODE: [(); offset_of!(Command, result_code) - 44] = [(); 0]; - | -------------------------------- in this macro invocation - | - = note: at compile-time, pointers do not have an integer value - = note: avoiding this restriction via `transmute`, `union`, or raw pointers leads to compile-time undefined behavior - = note: this error originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: pointers cannot be cast to integers during const eval - --> src\cuda_claw.rs:34:53 - | -34 | (&(*ptr).$field as *const _ as usize) - (ptr as usize) - | ^^^^^^^^^^^^^^ -... -47 | const _ASSERT_RESULT_CODE: [(); offset_of!(Command, result_code) - 44] = [(); 0]; - | -------------------------------- in this macro invocation - | - = note: at compile-time, pointers do not have an integer value - = note: avoiding this restriction via `transmute`, `union`, or raw pointers leads to compile-time undefined behavior - = note: this error originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info) - -error[E0277]: `dyn std::error::Error` cannot be sent between threads safely - --> src\dispatcher.rs:624:9 - | -624 | / tokio::task::spawn_blocking(move || { -625 | | let mut disp = dispatcher.lock().unwrap(); -626 | | disp.dispatch_batch(commands) -627 | | }).await? - | |__________^ `dyn std::error::Error` cannot be sent between threads safely - | - = help: the trait `std::marker::Send` is not implemented for `dyn std::error::Error` - = note: required for `std::ptr::Unique` to implement `std::marker::Send` -note: required because it appears within the type `std::boxed::Box` - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:231:12 - | -231 | pub struct Box< - | ^^^ -note: required because it appears within the type `Result, Box>` - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\result.rs:557:10 - | -557 | pub enum Result { - | ^^^^^^ -note: required by a bound in `tokio::task::spawn_blocking` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\tokio-1.50.0\src\task\blocking.rs:223:12 - | -220 | pub fn spawn_blocking(f: F) -> JoinHandle - | -------------- required by a bound in this function -... -223 | R: Send + 'static, - | ^^^^ required by this bound in `spawn_blocking` - = note: the full name for the type has been written to 'C:\Users\casey\target\debug\deps\cudaclaw-579e92f1489bbd84.long-type-4457509233750456587.txt' - = note: consider using `--verbose` to print the full type name to the console - -error[E0277]: `*mut cuda_claw::CommandQueueHost` cannot be sent between threads safely - --> src\dispatcher.rs:634:37 - | -634 | tokio::task::spawn_blocking(move || { - | _________---------------------------_^ - | | | - | | required by a bound introduced by this call -635 | | let disp = dispatcher.lock().unwrap(); -636 | | disp.get_stats() -637 | | }).await.unwrap() - | |_________^ `*mut cuda_claw::CommandQueueHost` cannot be sent between threads safely - | - = help: within `cust::memory::UnifiedBuffer`, the trait `std::marker::Send` is not implemented for `*mut cuda_claw::CommandQueueHost` -note: required because it appears within the type `cust::memory::UnifiedPointer` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\pointer.rs:346:12 - | -346 | pub struct UnifiedPointer(*mut T); - | ^^^^^^^^^^^^^^ -note: required because it appears within the type `cust::memory::UnifiedBuffer` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:338:12 - | -338 | pub struct UnifiedBuffer { - | ^^^^^^^^^^^^^ - = note: required for `std::sync::Mutex>` to implement `std::marker::Sync` - = note: required for `std::sync::Arc>>` to implement `std::marker::Send` -note: required because it appears within the type `dispatcher::GpuDispatcher` - --> src\dispatcher.rs:127:12 - | -127 | pub struct GpuDispatcher { - | ^^^^^^^^^^^^^ - = note: required for `std::sync::Mutex` to implement `std::marker::Sync` - = note: 1 redundant requirement hidden - = note: required for `std::sync::Arc>` to implement `std::marker::Send` -note: required because it's used within this closure - --> src\dispatcher.rs:634:37 - | -634 | tokio::task::spawn_blocking(move || { - | ^^^^^^^ -note: required by a bound in `tokio::task::spawn_blocking` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\tokio-1.50.0\src\task\blocking.rs:222:28 - | -220 | pub fn spawn_blocking(f: F) -> JoinHandle - | -------------- required by a bound in this function -221 | where -222 | F: FnOnce() -> R + Send + 'static, - | ^^^^ required by this bound in `spawn_blocking` - -error[E0277]: `dyn std::error::Error` cannot be sent between threads safely - --> src\dispatcher.rs:624:9 - | -624 | / tokio::task::spawn_blocking(move || { -625 | | let mut disp = dispatcher.lock().unwrap(); -626 | | disp.dispatch_batch(commands) -627 | | }).await? - | |__________^ `dyn std::error::Error` cannot be sent between threads safely - | - = help: the trait `std::marker::Send` is not implemented for `dyn std::error::Error` - = note: required for `std::ptr::Unique` to implement `std::marker::Send` -note: required because it appears within the type `std::boxed::Box` - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:231:12 - | -231 | pub struct Box< - | ^^^ -note: required because it appears within the type `Result, Box>` - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\result.rs:557:10 - | -557 | pub enum Result { - | ^^^^^^ -note: required by a bound in `tokio::task::spawn_blocking` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\tokio-1.50.0\src\task\blocking.rs:223:12 - | -220 | pub fn spawn_blocking(f: F) -> JoinHandle - | -------------- required by a bound in this function -... -223 | R: Send + 'static, - | ^^^^ required by this bound in `spawn_blocking` - = note: the full name for the type has been written to 'C:\Users\casey\target\debug\deps\cudaclaw-b698b426a080fcf1.long-type-6049509283619945810.txt' - = note: consider using `--verbose` to print the full type name to the console - -error[E0277]: the trait bound `std::vec::Vec: cust::memory::DeviceCopy` is not satisfied - --> src\agent.rs:154:40 - | -154 | let cells = UnifiedBuffer::new(&cell_data)?; - | ------------------ ^^^^^^^^^^ the trait `cust::memory::DeviceCopy` is not implemented for `std::vec::Vec` - | | - | required by a bound introduced by this call - | - = help: the following other types implement trait `cust::memory::DeviceCopy`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) - and 59 others -note: required by a bound in `cust::memory::UnifiedBuffer::::new` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:342:9 - | -342 | impl UnifiedBuffer { - | ^^^^^^^^^^ required by this bound in `UnifiedBuffer::::new` -... -359 | pub fn new(value: &T, size: usize) -> CudaResult { - | --- required by a bound in this associated function - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\agent.rs:154:21 - | -154 | let cells = UnifiedBuffer::new(&cell_data)?; - | ^^^^^^^^^^^^^^^^^^------------ argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | -359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -154 | let cells = UnifiedBuffer::new(&cell_data, /* usize */)?; - | +++++++++++++ - -error[E0277]: the trait bound `std::vec::Vec: cust::memory::DeviceCopy` is not satisfied - --> src\agent.rs:154:21 - | -154 | let cells = UnifiedBuffer::new(&cell_data)?; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `cust::memory::DeviceCopy` is not implemented for `std::vec::Vec` - | - = help: the following other types implement trait `cust::memory::DeviceCopy`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) - and 59 others -note: required by a bound in `cust::memory::UnifiedBuffer` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:338:29 - | -338 | pub struct UnifiedBuffer { - | ^^^^^^^^^^ required by this bound in `UnifiedBuffer` - -error[E0277]: the trait bound `std::vec::Vec: cust::memory::DeviceCopy` is not satisfied - --> src\agent.rs:154:21 - | -154 | let cells = UnifiedBuffer::new(&cell_data)?; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `cust::memory::DeviceCopy` is not implemented for `std::vec::Vec` - | - = help: the following other types implement trait `cust::memory::DeviceCopy`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) - and 59 others -note: required by a bound in `cust::memory::UnifiedBuffer` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:338:29 - | -338 | pub struct UnifiedBuffer { - | ^^^^^^^^^^ required by this bound in `UnifiedBuffer` - -error[E0308]: mismatched types - --> src\agent.rs:157:13 - | -157 | cells, - | ^^^^^ expected `UnifiedBuffer`, found `UnifiedBuffer>` - | - = note: expected struct `cust::memory::UnifiedBuffer` - found struct `cust::memory::UnifiedBuffer>` - -error[E0609]: no field `commands_processed` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\alignment.rs:327:24 - | -327 | (q.commands_processed, q.total_cycles, q.idle_cycles) - | ^^^^^^^^^^^^^^^^^^ unknown field - -error[E0609]: no field `total_cycles` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\alignment.rs:327:46 - | -327 | (q.commands_processed, q.total_cycles, q.idle_cycles) - | ^^^^^^^^^^^^ unknown field - -error[E0609]: no field `idle_cycles` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\alignment.rs:327:62 - | -327 | (q.commands_processed, q.total_cycles, q.idle_cycles) - | ^^^^^^^^^^^ unknown field - -error[E0609]: no field `total_cycles` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\alignment.rs:394:34 - | -394 | let total_cycles = queue.total_cycles; - | ^^^^^^^^^^^^ unknown field - -error[E0609]: no field `idle_cycles` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\alignment.rs:395:33 - | -395 | let idle_cycles = queue.idle_cycles; - | ^^^^^^^^^^^ unknown field - -error[E0609]: no field `commands_processed` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\alignment.rs:396:38 - | -396 | let current_commands = queue.commands_processed; - | ^^^^^^^^^^^^^^^^^^ unknown field - -error[E0609]: no field `head` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\alignment.rs:522:33 - | -522 | let idx = queue.head as usize; - | ^^^^ unknown field - -error[E0609]: no field `commands` on type `cuda_claw::CommandQueueHost` - --> src\alignment.rs:525:34 - | -525 | (*queue_ptr).commands[idx] = shutdown_cmd; - | ^^^^^^^^ unknown field - | - = note: available fields are: `buffer`, `status`, `head`, `tail`, `is_running` ... and 4 others - -error[E0606]: casting `&cust::memory::UnifiedBuffer` as `*const cuda_claw::CommandQueueHost` is invalid - --> src\alignment.rs:524:37 - | -524 | let queue_ptr = &*queue as *const CommandQueueHost as *mut CommandQueueHost; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\bridge.rs:140:22 - | -140 | let buffer = UnifiedBuffer::new(&data)?; - | ^^^^^^^^^^^^^^^^^^------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | -359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -140 | let buffer = UnifiedBuffer::new(&data, /* usize */)?; - | +++++++++++++ - -error[E0599]: no method named `as_device_ptr` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\bridge.rs:143:33 - | -143 | let device_ptr = buffer.as_device_ptr(); - | ^^^^^^^^^^^^^ method not found in `cust::memory::UnifiedBuffer` - | - ::: C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\mod.rs:104:8 - | -104 | fn as_device_ptr(&self) -> DevicePointer; - | ------------- the method is available for `cust::memory::UnifiedBuffer` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `GpuBuffer` which provides `as_device_ptr` is implemented but not in scope; perhaps you want to import it - | - 32 + use cust::memory::GpuBuffer; - | - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\bridge.rs:174:22 - | -174 | let buffer = UnifiedBuffer::new(&data)?; - | ^^^^^^^^^^^^^^^^^^------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | -359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -174 | let buffer = UnifiedBuffer::new(&data, /* usize */)?; - | +++++++++++++ - -error[E0599]: no method named `as_device_ptr` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\bridge.rs:175:33 - | -175 | let device_ptr = buffer.as_device_ptr(); - | ^^^^^^^^^^^^^ method not found in `cust::memory::UnifiedBuffer` - | - ::: C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\mod.rs:104:8 - | -104 | fn as_device_ptr(&self) -> DevicePointer; - | ------------- the method is available for `cust::memory::UnifiedBuffer` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `GpuBuffer` which provides `as_device_ptr` is implemented but not in scope; perhaps you want to import it - | - 32 + use cust::memory::GpuBuffer; - | - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\bridge.rs:202:22 - | -202 | let buffer = UnifiedBuffer::new(&data[0])?; - | ^^^^^^^^^^^^^^^^^^---------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | -359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -202 | let buffer = UnifiedBuffer::new(&data[0], /* usize */)?; - | +++++++++++++ - -error[E0599]: no method named `as_device_ptr` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\bridge.rs:203:33 - | -203 | let device_ptr = buffer.as_device_ptr(); - | ^^^^^^^^^^^^^ method not found in `cust::memory::UnifiedBuffer` - | - ::: C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\mod.rs:104:8 - | -104 | fn as_device_ptr(&self) -> DevicePointer; - | ------------- the method is available for `cust::memory::UnifiedBuffer` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `GpuBuffer` which provides `as_device_ptr` is implemented but not in scope; perhaps you want to import it - | - 32 + use cust::memory::GpuBuffer; - | - -error[E0599]: no method named `as_mut_ptr` found for struct `cust::memory::UnifiedPointer` in the current scope - --> src\bridge.rs:239:25 - | -239 | self.device_ptr.as_mut_ptr() - | ^^^^^^^^^^ method not found in `cust::memory::UnifiedPointer` - -error[E0277]: `T` doesn't implement `std::fmt::Debug` - --> src\bridge.rs:396:34 - | -396 | .field("device_ptr", &self.device_ptr) - | ^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `T` - | - = note: required for `cust::memory::UnifiedPointer` to implement `std::fmt::Debug` - = note: required for the cast from `&cust::memory::UnifiedPointer` to `&dyn std::fmt::Debug` -help: consider further restricting type parameter `T` with trait `Debug` - | -391 | impl fmt::Debug for GpuBridge { - | +++++++++++++++++ - -error[E0277]: the trait bound `T: cust::memory::DeviceCopy` is not satisfied - --> src\bridge.rs:458:40 - | -458 | let bridge = GpuBridge::with_value(data.clone())?; - | --------------------- ^^^^^^^^^^^^ the trait `cust::memory::DeviceCopy` is not implemented for `T` - | | - | required by a bound introduced by this call - | -note: required by a bound in `bridge::GpuBridge::::with_value` - --> src\bridge.rs:88:9 - | - 88 | impl GpuBridge { - | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `GpuBridge::::with_value` -... -165 | pub fn with_value(data: T) -> CudaResult - | ---------- required by a bound in this associated function -help: consider further restricting type parameter `T` with trait `DeviceCopy` - | -456 | T: Clone + cust::memory::DeviceCopy, - | ++++++++++++++++++++++++++ - -error[E0277]: the trait bound `T: cust::memory::DeviceCopy` is not satisfied - --> src\bridge.rs:458:18 - | -458 | let bridge = GpuBridge::with_value(data.clone())?; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `cust::memory::DeviceCopy` is not implemented for `T` - | -note: required by a bound in `bridge::GpuBridge` - --> src\bridge.rs:80:25 - | - 80 | pub struct GpuBridge { - | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `GpuBridge` -help: consider further restricting type parameter `T` with trait `DeviceCopy` - | -456 | T: Clone + cust::memory::DeviceCopy, - | ++++++++++++++++++++++++++ - -error[E0277]: the trait bound `T: cust::memory::DeviceCopy` is not satisfied - --> src\bridge.rs:458:18 - | -458 | let bridge = GpuBridge::with_value(data.clone())?; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `cust::memory::DeviceCopy` is not implemented for `T` - | -note: required by a bound in `bridge::GpuBridge` - --> src\bridge.rs:80:25 - | - 80 | pub struct GpuBridge { - | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `GpuBridge` -help: consider further restricting type parameter `T` with trait `DeviceCopy` - | -456 | T: Clone + cust::memory::DeviceCopy, - | ++++++++++++++++++++++++++ - -error[E0599]: the method `as_device_ptr` exists for struct `bridge::GpuBridge`, but its trait bounds were not satisfied - --> src\bridge.rs:459:29 - | - 80 | pub struct GpuBridge { - | ------------------------------------------------- method `as_device_ptr` not found for this struct -... -459 | let device_ptr = bridge.as_device_ptr(); - | ^^^^^^^^^^^^^ method cannot be called on `bridge::GpuBridge` due to unsatisfied trait bounds - | -note: trait bound `T: cust::memory::DeviceCopy` was not satisfied - --> src\bridge.rs:88:9 - | - 88 | impl GpuBridge { - | ^^^^^^^^^^^^^^^^^^^^^^^^ ------------ - | | - | unsatisfied trait bound introduced here -help: consider restricting the type parameter to satisfy the trait bound - | -456 | T: Clone, T: cust::memory::DeviceCopy - | +++++++++++++++++++++++++++ - -error[E0277]: the trait bound `T: cust::memory::DeviceCopy` is not satisfied - --> src\bridge.rs:460:5 - | -460 | Ok((bridge, device_ptr)) - | ^^ the trait `cust::memory::DeviceCopy` is not implemented for `T` - | -note: required by a bound in `bridge::GpuBridge` - --> src\bridge.rs:80:25 - | - 80 | pub struct GpuBridge { - | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `GpuBridge` -help: consider further restricting type parameter `T` with trait `DeviceCopy` - | -456 | T: Clone + cust::memory::DeviceCopy, - | ++++++++++++++++++++++++++ - -error[E0277]: the trait bound `T: cust::memory::DeviceCopy` is not satisfied - --> src\bridge.rs:460:5 - | -460 | Ok((bridge, device_ptr)) - | ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `cust::memory::DeviceCopy` is not implemented for `T` - | -note: required by a bound in `bridge::GpuBridge` - --> src\bridge.rs:80:25 - | - 80 | pub struct GpuBridge { - | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `GpuBridge` -help: consider further restricting type parameter `T` with trait `DeviceCopy` - | -456 | T: Clone + cust::memory::DeviceCopy, - | ++++++++++++++++++++++++++ - -warning: use of deprecated associated function `cust::module::Module::load_from_string`: load_from_string was an inconsistent name with inconsistent params, use from_ptx/from_ptx_cstr, passing - an empty slice of options (usually) - - --> src\cuda_claw.rs:308:30 - | -308 | let module = Module::load_from_string(&ptx)?; - | ^^^^^^^^^^^^^^^^ - | - = note: `#[warn(deprecated)]` on by default - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\cuda_claw.rs:312:21 - | -312 | let queue = UnifiedBuffer::new(&queue_data)?; - | ^^^^^^^^^^^^^^^^^^------------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | -359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -312 | let queue = UnifiedBuffer::new(&queue_data, /* usize */)?; - | +++++++++++++ - -error[E0061]: this function takes 2 arguments but 0 arguments were supplied - --> src\cuda_claw.rs:315:22 - | -315 | let stream = Stream::new()?; - | ^^^^^^^^^^^-- two arguments of type `cust::prelude::StreamFlags` and `std::option::Option` are missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\stream.rs:92:12 - | - 92 | pub fn new(mut flags: StreamFlags, priority: Option) -> CudaResult { - | ^^^ -help: provide the arguments - | -315 | let stream = Stream::new(/* cust::prelude::StreamFlags */, /* std::option::Option */)?; - | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -error[E0277]: the trait bound `std::ffi::CString: std::convert::AsRef` is not satisfied - --> src\cuda_claw.rs:329:46 - | -329 | let func = self.module.get_function(&CString::new("init_command_queue")?)?; - | ------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::AsRef` is not implemented for `std::ffi::CString` - | | - | required by a bound introduced by this call - | - = help: the trait `AsRef` is not implemented for `std::ffi::CString` - but trait `AsRef` is implemented for it - = help: for that trait implementation, expected `std::ffi::CStr`, found `str` - = note: required for `&std::ffi::CString` to implement `std::convert::AsRef` -note: required by a bound in `cust::module::Module::get_function` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\module.rs:424:28 - | -424 | pub fn get_function>(&'_ self, name: T) -> CudaResult> { - | ^^^^^^^^^^ required by this bound in `Module::get_function` - -error[E0599]: no method named `as_device_ptr` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:330:36 - | -330 | let queue_ptr = self.queue.as_device_ptr(); - | ^^^^^^^^^^^^^ method not found in `cust::memory::UnifiedBuffer` - | - ::: C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\mod.rs:104:8 - | -104 | fn as_device_ptr(&self) -> DevicePointer; - | ------------- the method is available for `cust::memory::UnifiedBuffer` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `GpuBuffer` which provides `as_device_ptr` is implemented but not in scope; perhaps you want to import it - | - 16 + use cust::memory::GpuBuffer; - | - -error[E0277]: the trait bound `std::ffi::CString: std::convert::AsRef` is not satisfied - --> src\cuda_claw.rs:354:46 - | -354 | let func = self.module.get_function(&CString::new("persistent_worker")?)?; - | ------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::AsRef` is not implemented for `std::ffi::CString` - | | - | required by a bound introduced by this call - | - = help: the trait `AsRef` is not implemented for `std::ffi::CString` - but trait `AsRef` is implemented for it - = help: for that trait implementation, expected `std::ffi::CStr`, found `str` - = note: required for `&std::ffi::CString` to implement `std::convert::AsRef` -note: required by a bound in `cust::module::Module::get_function` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\module.rs:424:28 - | -424 | pub fn get_function>(&'_ self, name: T) -> CudaResult> { - | ^^^^^^^^^^ required by this bound in `Module::get_function` - -error[E0599]: no method named `as_device_ptr` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:355:36 - | -355 | let queue_ptr = self.queue.as_device_ptr(); - | ^^^^^^^^^^^^^ method not found in `cust::memory::UnifiedBuffer` - | - ::: C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\mod.rs:104:8 - | -104 | fn as_device_ptr(&self) -> DevicePointer; - | ------------- the method is available for `cust::memory::UnifiedBuffer` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `GpuBuffer` which provides `as_device_ptr` is implemented but not in scope; perhaps you want to import it - | - 16 + use cust::memory::GpuBuffer; - | - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:371:40 - | -371 | let mut queue_mut = self.queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0277]: the trait bound `std::ffi::CString: std::convert::AsRef` is not satisfied - --> src\cuda_claw.rs:384:46 - | -384 | let func = self.module.get_function(&CString::new("set_polling_strategy")?)?; - | ------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::AsRef` is not implemented for `std::ffi::CString` - | | - | required by a bound introduced by this call - | - = help: the trait `AsRef` is not implemented for `std::ffi::CString` - but trait `AsRef` is implemented for it - = help: for that trait implementation, expected `std::ffi::CStr`, found `str` - = note: required for `&std::ffi::CString` to implement `std::convert::AsRef` -note: required by a bound in `cust::module::Module::get_function` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\module.rs:424:28 - | -424 | pub fn get_function>(&'_ self, name: T) -> CudaResult> { - | ^^^^^^^^^^ required by this bound in `Module::get_function` - -error[E0599]: no method named `as_device_ptr` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:385:36 - | -385 | let queue_ptr = self.queue.as_device_ptr(); - | ^^^^^^^^^^^^^ method not found in `cust::memory::UnifiedBuffer` - | - ::: C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\mod.rs:104:8 - | -104 | fn as_device_ptr(&self) -> DevicePointer; - | ------------- the method is available for `cust::memory::UnifiedBuffer` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `GpuBuffer` which provides `as_device_ptr` is implemented but not in scope; perhaps you want to import it - | - 16 + use cust::memory::GpuBuffer; - | - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:405:32 - | -405 | let queue = self.queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:419:40 - | -419 | let mut queue_mut = self.queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0599]: no method named `as_device_ptr` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:443:36 - | -443 | let queue_ptr = self.queue.as_device_ptr(); - | ^^^^^^^^^^^^^ method not found in `cust::memory::UnifiedBuffer` - | - ::: C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\mod.rs:104:8 - | -104 | fn as_device_ptr(&self) -> DevicePointer; - | ------------- the method is available for `cust::memory::UnifiedBuffer` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `GpuBuffer` which provides `as_device_ptr` is implemented but not in scope; perhaps you want to import it - | - 16 + use cust::memory::GpuBuffer; - | - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:490:36 - | -490 | let queue = self.queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:497:48 - | -497 | let mut queue_mut = self.queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:550:40 - | -550 | let mut queue_mut = self.queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0277]: the trait bound `std::ffi::CString: std::convert::AsRef` is not satisfied - --> src\cuda_claw.rs:562:46 - | -562 | let func = self.module.get_function(&CString::new("get_worker_stats")?)?; - | ------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::AsRef` is not implemented for `std::ffi::CString` - | | - | required by a bound introduced by this call - | - = help: the trait `AsRef` is not implemented for `std::ffi::CString` - but trait `AsRef` is implemented for it - = help: for that trait implementation, expected `std::ffi::CStr`, found `str` - = note: required for `&std::ffi::CString` to implement `std::convert::AsRef` -note: required by a bound in `cust::module::Module::get_function` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\module.rs:424:28 - | -424 | pub fn get_function>(&'_ self, name: T) -> CudaResult> { - | ^^^^^^^^^^ required by this bound in `Module::get_function` - -error[E0599]: no method named `as_device_ptr` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:563:36 - | -563 | let queue_ptr = self.queue.as_device_ptr(); - | ^^^^^^^^^^^^^ method not found in `cust::memory::UnifiedBuffer` - | - ::: C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\mod.rs:104:8 - | -104 | fn as_device_ptr(&self) -> DevicePointer; - | ------------- the method is available for `cust::memory::UnifiedBuffer` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `GpuBuffer` which provides `as_device_ptr` is implemented but not in scope; perhaps you want to import it - | - 16 + use cust::memory::GpuBuffer; - | - -error[E0277]: the trait bound `std::ffi::CString: std::convert::AsRef` is not satisfied - --> src\cuda_claw.rs:600:46 - | -600 | let func = self.module.get_function(&CString::new("measure_warp_metrics")?)?; - | ------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::AsRef` is not implemented for `std::ffi::CString` - | | - | required by a bound introduced by this call - | - = help: the trait `AsRef` is not implemented for `std::ffi::CString` - but trait `AsRef` is implemented for it - = help: for that trait implementation, expected `std::ffi::CStr`, found `str` - = note: required for `&std::ffi::CString` to implement `std::convert::AsRef` -note: required by a bound in `cust::module::Module::get_function` - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\module.rs:424:28 - | -424 | pub fn get_function>(&'_ self, name: T) -> CudaResult> { - | ^^^^^^^^^^ required by this bound in `Module::get_function` - -error[E0599]: no method named `as_device_ptr` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:601:36 - | -601 | let queue_ptr = self.queue.as_device_ptr(); - | ^^^^^^^^^^^^^ method not found in `cust::memory::UnifiedBuffer` - | - ::: C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\mod.rs:104:8 - | -104 | fn as_device_ptr(&self) -> DevicePointer; - | ------------- the method is available for `cust::memory::UnifiedBuffer` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `GpuBuffer` which provides `as_device_ptr` is implemented but not in scope; perhaps you want to import it - | - 16 + use cust::memory::GpuBuffer; - | - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\cuda_claw.rs:632:32 - | -632 | let queue = self.queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0609]: no field `head` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:329:30 - | -329 | let head = queue.head; - | ^^^^ unknown field - -error[E0609]: no field `tail` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:330:30 - | -330 | let tail = queue.tail; - | ^^^^ unknown field - -error[E0609]: no field `head` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:381:30 - | -381 | let head = queue.head; - | ^^^^ unknown field - -error[E0609]: no field `tail` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:382:30 - | -382 | let tail = queue.tail; - | ^^^^ unknown field - -error[E0609]: no field `head` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:421:25 - | -421 | let idx = queue.head as usize; - | ^^^^ unknown field - -error[E0609]: no field `commands` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:422:15 - | -422 | queue.commands[idx] = cmd; - | ^^^^^^^^ unknown field - -error[E0609]: no field `head` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:423:15 - | -423 | queue.head = (queue.head + 1) % crate::cuda_claw::QUEUE_SIZE as u32; - | ^^^^ unknown field - -error[E0609]: no field `head` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:423:29 - | -423 | queue.head = (queue.head + 1) % crate::cuda_claw::QUEUE_SIZE as u32; - | ^^^^ unknown field - -error[E0609]: no field `status` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:431:15 - | -431 | queue.status = QueueStatus::Ready as u32; - | ^^^^^^ unknown field - -error[E0609]: no field `status` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:457:22 - | -457 | if queue.status == QueueStatus::Done as u32 { - | ^^^^^^ unknown field - -error[E0609]: no field `tail` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:458:35 - | -458 | let idx = ((queue.tail + crate::cuda_claw::QUEUE_SIZE as u32 - 1) % crate::cuda_claw::QUEUE_SIZE as u32) as usize; - | ^^^^ unknown field - -error[E0609]: no field `commands` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:459:33 - | -459 | let cmd = queue.commands[idx]; - | ^^^^^^^^ unknown field - -error[E0609]: no field `status` on type `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\dispatcher.rs:465:31 - | -465 | queue_mut.status = QueueStatus::Idle as u32; - | ^^^^^^ unknown field - -error[E0609]: no field `commands` on type `&cuda_claw::CommandQueueHost` - --> src\dispatcher.rs:835:49 - | -835 | std::ptr::write_volatile(&mut queue.commands[slot as usize] as *mut Command, cmd); - | ^^^^^^^^ unknown field - | - = note: available fields are: `buffer`, `status`, `head`, `tail`, `is_running` ... and 4 others - -error[E0599]: no variant or associated item named `NOOP` found for enum `cuda_claw::CommandType` in the current scope - --> src\dispatcher.rs:1019:49 - | -1019 | let cmd = Command::new(CommandType::NOOP, (i % 1024) as u32); - | ^^^^ variant or associated item not found in `cuda_claw::CommandType` - | - ::: src\cuda_claw.rs:86:1 - | - 86 | pub enum CommandType { - | -------------------- variant or associated item `NOOP` not found for this enum - | -help: there is a variant with a similar name - | -1019 - let cmd = Command::new(CommandType::NOOP, (i % 1024) as u32); -1019 + let cmd = Command::new(CommandType::NoOp; - | - -error[E0599]: no variant or associated item named `NOOP` found for enum `cuda_claw::CommandType` in the current scope - --> src\dispatcher.rs:1038:45 - | -1038 | let cmd = Command::new(CommandType::NOOP, (i % 1024) as u32); - | ^^^^ variant or associated item not found in `cuda_claw::CommandType` - | - ::: src\cuda_claw.rs:86:1 - | - 86 | pub enum CommandType { - | -------------------- variant or associated item `NOOP` not found for this enum - | -help: there is a variant with a similar name - | -1038 - let cmd = Command::new(CommandType::NOOP, (i % 1024) as u32); -1038 + let cmd = Command::new(CommandType::NoOp; - | - -error[E0599]: no variant or associated item named `NOOP` found for enum `cuda_claw::CommandType` in the current scope - --> src\dispatcher.rs:1150:31 - | -1150 | Command::new(CommandType::NOOP, id) - | ^^^^ variant or associated item not found in `cuda_claw::CommandType` - | - ::: src\cuda_claw.rs:86:1 - | - 86 | pub enum CommandType { - | -------------------- variant or associated item `NOOP` not found for this enum - | -help: there is a variant with a similar name - | -1150 - Command::new(CommandType::NOOP, id) -1150 + Command::new(CommandType::NoOp - | - -error[E0599]: no variant or associated item named `NOOP` found for enum `cuda_claw::CommandType` in the current scope - --> src\dispatcher.rs:1156:44 - | -1156 | .map(|i| Command::new(CommandType::NOOP, i as u32)) - | ^^^^ variant or associated item not found in `cuda_claw::CommandType` - | - ::: src\cuda_claw.rs:86:1 - | - 86 | pub enum CommandType { - | -------------------- variant or associated item `NOOP` not found for this enum - | -help: there is a variant with a similar name - | -1156 - .map(|i| Command::new(CommandType::NOOP, i as u32)) -1156 + .map(|i| Command::new(CommandType::NoOp) - | - -error[E0609]: no field `commands` on type `&mut cuda_claw::CommandQueueHost` - --> src\lock_free_queue.rs:198:19 - | -198 | queue.commands[index as usize] = cmd; - | ^^^^^^^^ unknown field - | - = note: available fields are: `buffer`, `status`, `head`, `tail`, `is_running` ... and 4 others - -error[E0609]: no field `commands_pushed` on type `&mut cuda_claw::CommandQueueHost` - --> src\lock_free_queue.rs:208:45 - | -208 | atomic_fetch_add_u64(&queue.commands_pushed as *const u64, 1); - | ^^^^^^^^^^^^^^^ unknown field - | -help: a field with a similar name exists - | -208 - atomic_fetch_add_u64(&queue.commands_pushed as *const u64, 1); -208 + atomic_fetch_add_u64(&queue.commands_sent as *const u64, 1); - | - -error[E0599]: no variant or associated item named `STATUS_IDLE` found for enum `cuda_claw::QueueStatus` in the current scope - --> src\lock_free_queue.rs:211:49 - | -211 | if queue.status == QueueStatus::STATUS_IDLE { - | ^^^^^^^^^^^ variant or associated item not found in `cuda_claw::QueueStatus` - | - ::: src\cuda_claw.rs:53:1 - | - 53 | pub enum QueueStatus { - | -------------------- variant or associated item `STATUS_IDLE` not found for this enum - -error[E0599]: no variant or associated item named `STATUS_READY` found for enum `cuda_claw::QueueStatus` in the current scope - --> src\lock_free_queue.rs:212:49 - | -212 | queue.status = QueueStatus::STATUS_READY; - | ^^^^^^^^^^^^ variant or associated item not found in `cuda_claw::QueueStatus` - | - ::: src\cuda_claw.rs:53:1 - | - 53 | pub enum QueueStatus { - | -------------------- variant or associated item `STATUS_READY` not found for this enum - -error[E0609]: no field `commands_pushed` on type `&cuda_claw::CommandQueueHost` - --> src\lock_free_queue.rs:399:19 - | -399 | queue.commands_pushed, - | ^^^^^^^^^^^^^^^ unknown field - | -help: a field with a similar name exists - | -399 - queue.commands_pushed, -399 + queue.commands_sent, - | - -error[E0609]: no field `commands_popped` on type `&cuda_claw::CommandQueueHost` - --> src\lock_free_queue.rs:400:19 - | -400 | queue.commands_popped, - | ^^^^^^^^^^^^^^^ unknown field - | -help: a field with a similar name exists - | -400 - queue.commands_popped, -400 + queue.commands_processed, - | - -error[E0599]: no variant or associated item named `STATUS_IDLE` found for enum `cuda_claw::QueueStatus` in the current scope - --> src\lock_free_queue.rs:427:37 - | -427 | queue.status = QueueStatus::STATUS_IDLE; - | ^^^^^^^^^^^ variant or associated item not found in `cuda_claw::QueueStatus` - | - ::: src\cuda_claw.rs:53:1 - | - 53 | pub enum QueueStatus { - | -------------------- variant or associated item `STATUS_IDLE` not found for this enum - -error[E0599]: no method named `as_device_ptr` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\volatile_dispatcher.rs:112:31 - | -112 | let queue_ptr = queue.as_device_ptr().as_mut_ptr(); - | ^^^^^^^^^^^^^ method not found in `cust::memory::UnifiedBuffer` - | - ::: C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\mod.rs:104:8 - | -104 | fn as_device_ptr(&self) -> DevicePointer; - | ------------- the method is available for `cust::memory::UnifiedBuffer` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `GpuBuffer` which provides `as_device_ptr` is implemented but not in scope; perhaps you want to import it - | - 18 + use cust::memory::GpuBuffer; - | - -error[E0609]: no field `commands` on type `&mut cuda_claw::CommandQueueHost` - --> src\volatile_dispatcher.rs:175:44 - | -175 | ptr::write_volatile(&mut queue.commands[head_idx], cmd); - | ^^^^^^^^ unknown field - | - = note: available fields are: `buffer`, `status`, `head`, `tail`, `is_running` ... and 4 others - -error[E0599]: no method named `unsigned_ilog2` found for type `u128` in the current scope - --> src\volatile_dispatcher.rs:467:61 - | -467 | let std_dev_ns = (variance_ns / iterations as u128).unsigned_ilog2() as u64; - | ^^^^^^^^^^^^^^ - | -help: there is a method `unsigned` with a similar name - | -467 - let std_dev_ns = (variance_ns / iterations as u128).unsigned_ilog2() as u64; -467 + let std_dev_ns = (variance_ns / iterations as u128).unsigned() as u64; - | - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\dispatcher.rs:1174:21 - | -1174 | let queue = UnifiedBuffer::new(&queue_data).unwrap(); - | ^^^^^^^^^^^^^^^^^^------------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | - 359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -1174 | let queue = UnifiedBuffer::new(&queue_data, /* usize */).unwrap(); - | +++++++++++++ - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\dispatcher.rs:1187:21 - | -1187 | let queue = UnifiedBuffer::new(&queue_data).unwrap(); - | ^^^^^^^^^^^^^^^^^^------------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | - 359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -1187 | let queue = UnifiedBuffer::new(&queue_data, /* usize */).unwrap(); - | +++++++++++++ - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\main.rs:330:21 - | -330 | let mut queue = UnifiedBuffer::new(&queue_data)?; - | ^^^^^^^^^^^^^^^^^^------------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | -359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -330 | let mut queue = UnifiedBuffer::new(&queue_data, /* usize */)?; - | +++++++++++++ - -error[E0599]: no method named `as_device_ptr` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\main.rs:332:59 - | -332 | println!(" ✓ CommandQueue allocated at {:p}", queue.as_device_ptr()); - | ^^^^^^^^^^^^^ method not found in `cust::memory::UnifiedBuffer` - | - ::: C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\mod.rs:104:8 - | -104 | fn as_device_ptr(&self) -> DevicePointer; - | ------------- the method is available for `cust::memory::UnifiedBuffer` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `GpuBuffer` which provides `as_device_ptr` is implemented but not in scope; perhaps you want to import it - | - 1 + use cust::memory::GpuBuffer; - | - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\main.rs:337:31 - | -337 | let queue_ref = queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0308]: mismatched types - --> src\main.rs:362:58 - | -362 | let success = LockFreeCommandQueue::push_command(queue_mut, cmd1); - | ---------------------------------- ^^^^^^^^^ expected `&mut CommandQueueHost`, found `&mut [CommandQueueHost]` - | | - | arguments to this function are incorrect - | - = note: expected mutable reference `&mut cuda_claw::CommandQueueHost` - found mutable reference `&mut [cuda_claw::CommandQueueHost]` -note: associated function defined here - --> src\lock_free_queue.rs:179:12 - | -179 | pub fn push_command(queue: &mut CommandQueueHost, cmd: Command) -> bool { - | ^^^^^^^^^^^^ ---------------------------- - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\main.rs:369:31 - | -369 | let queue_ref = queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0308]: mismatched types - --> src\main.rs:397:64 - | -397 | let pushed = LockFreeCommandQueue::push_commands_batch(queue_mut, &batch_commands); - | ----------------------------------------- ^^^^^^^^^ expected `&mut CommandQueueHost`, found `&mut [CommandQueueHost]` - | | - | arguments to this function are incorrect - | - = note: expected mutable reference `&mut cuda_claw::CommandQueueHost` - found mutable reference `&mut [cuda_claw::CommandQueueHost]` -note: associated function defined here - --> src\lock_free_queue.rs:248:12 - | -248 | pub fn push_commands_batch(queue: &mut CommandQueueHost, cmds: &[Command]) -> u32 { - | ^^^^^^^^^^^^^^^^^^^ ---------------------------- - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\main.rs:404:31 - | -404 | let queue_ref = queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\dispatcher.rs:1555:25 - | -1555 | let queue = UnifiedBuffer::new(&queue_data).unwrap(); - | ^^^^^^^^^^^^^^^^^^------------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | - 359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -1555 | let queue = UnifiedBuffer::new(&queue_data, /* usize */).unwrap(); - | +++++++++++++ - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\main.rs:414:31 - | -414 | let queue_ref = queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0308]: mismatched types - --> src\main.rs:451:51 - | -451 | if LockFreeCommandQueue::push_command(queue_mut, cmd) { - | ---------------------------------- ^^^^^^^^^ expected `&mut CommandQueueHost`, found `&mut [CommandQueueHost]` - | | - | arguments to this function are incorrect - | - = note: expected mutable reference `&mut cuda_claw::CommandQueueHost` - found mutable reference `&mut [cuda_claw::CommandQueueHost]` -note: associated function defined here - --> src\lock_free_queue.rs:179:12 - | -179 | pub fn push_command(queue: &mut CommandQueueHost, cmd: Command) -> bool { - | ^^^^^^^^^^^^ ---------------------------- - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\main.rs:466:31 - | -466 | let queue_ref = queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\main.rs:474:31 - | -474 | let queue_ref = queue.clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0308]: mismatched types - --> src\main.rs:515:55 - | -515 | if LockFreeCommandQueue::push_command(&mut *queue_guard, cmd) { - | ---------------------------------- ^^^^^^^^^^^^^^^^^ expected `&mut CommandQueueHost`, found `&mut UnifiedBuffer` - | | - | arguments to this function are incorrect - | - = note: expected mutable reference `&mut cuda_claw::CommandQueueHost` - found mutable reference `&mut cust::memory::UnifiedBuffer` -note: associated function defined here - --> src\lock_free_queue.rs:179:12 - | -179 | pub fn push_command(queue: &mut CommandQueueHost, cmd: Command) -> bool { - | ^^^^^^^^^^^^ ---------------------------- - -error[E0599]: no method named `clone` found for struct `cust::memory::UnifiedBuffer` in the current scope - --> src\main.rs:543:40 - | -543 | let queue_ref = (*queue_guard).clone(); - | ^^^^^ - | -help: there is a method `clone_into` with a similar name, but with different arguments - --> C:\Users\casey\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\borrow.rs:79:5 - | - 79 | fn clone_into(&self, target: &mut Self::Owned) { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\dispatcher.rs:1946:25 - | -1946 | let queue = UnifiedBuffer::new(&queue_data).unwrap(); - | ^^^^^^^^^^^^^^^^^^------------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | - 359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -1946 | let queue = UnifiedBuffer::new(&queue_data, /* usize */).unwrap(); - | +++++++++++++ - -error[E0599]: no variant or associated item named `CMD_ADD` found for enum `cuda_claw::CommandType` in the current scope - --> src\lock_free_queue.rs:480:36 - | -480 | cmd_type: CommandType::CMD_ADD, - | ^^^^^^^ variant or associated item not found in `cuda_claw::CommandType` - | - ::: src\cuda_claw.rs:86:1 - | - 86 | pub enum CommandType { - | -------------------- variant or associated item `CMD_ADD` not found for this enum - -error[E0599]: no variant or associated item named `CMD_NO_OP` found for enum `cuda_claw::CommandType` in the current scope - --> src\lock_free_queue.rs:502:36 - | -502 | cmd_type: CommandType::CMD_NO_OP, - | ^^^^^^^^^ variant or associated item not found in `cuda_claw::CommandType` - | - ::: src\cuda_claw.rs:86:1 - | - 86 | pub enum CommandType { - | -------------------- variant or associated item `CMD_NO_OP` not found for this enum - -error[E0599]: no variant or associated item named `CMD_NO_OP` found for enum `cuda_claw::CommandType` in the current scope - --> src\lock_free_queue.rs:531:36 - | -531 | cmd_type: CommandType::CMD_NO_OP, - | ^^^^^^^^^ variant or associated item not found in `cuda_claw::CommandType` - | - ::: src\cuda_claw.rs:86:1 - | - 86 | pub enum CommandType { - | -------------------- variant or associated item `CMD_NO_OP` not found for this enum - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\volatile_dispatcher.rs:570:21 - | -570 | let queue = UnifiedBuffer::new(&queue_data).unwrap(); - | ^^^^^^^^^^^^^^^^^^------------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | -359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -570 | let queue = UnifiedBuffer::new(&queue_data, /* usize */).unwrap(); - | +++++++++++++ - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\volatile_dispatcher.rs:578:21 - | -578 | let queue = UnifiedBuffer::new(&queue_data).unwrap(); - | ^^^^^^^^^^^^^^^^^^------------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | -359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -578 | let queue = UnifiedBuffer::new(&queue_data, /* usize */).unwrap(); - | +++++++++++++ - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\volatile_dispatcher.rs:589:21 - | -589 | let queue = UnifiedBuffer::new(&queue_data).unwrap(); - | ^^^^^^^^^^^^^^^^^^------------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | -359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -589 | let queue = UnifiedBuffer::new(&queue_data, /* usize */).unwrap(); - | +++++++++++++ - -error[E0061]: this function takes 2 arguments but 1 argument was supplied - --> src\volatile_dispatcher.rs:599:21 - | -599 | let queue = UnifiedBuffer::new(&queue_data).unwrap(); - | ^^^^^^^^^^^^^^^^^^------------- argument #2 of type `usize` is missing - | -note: associated function defined here - --> C:\Users\casey\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cust-0.3.2\src\memory\unified.rs:359:12 - | -359 | pub fn new(value: &T, size: usize) -> CudaResult { - | ^^^ -help: provide the argument - | -599 | let queue = UnifiedBuffer::new(&queue_data, /* usize */).unwrap(); - | +++++++++++++ - -error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable - --> src\agent.rs:181:24 - | -181 | self.cells[self.get_index(row, col)] = cell; - | -----------^^^^--------------------- - | | | - | | immutable borrow occurs here - | mutable borrow occurs here - | mutable borrow later used here - | -help: try adding a local storing this... - --> src\agent.rs:181:24 - | -181 | self.cells[self.get_index(row, col)] = cell; - | ^^^^^^^^^^^^^^^^^^^^^^^^ -help: ...and then using that local here - --> src\agent.rs:181:13 - | -181 | self.cells[self.get_index(row, col)] = cell; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -warning: unused variable: `agent_id` - --> src\agent.rs:529:9 - | -529 | agent_id: &str, - | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id` - | - = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default - -error[E0507]: cannot move out of dereference of `std::sync::MutexGuard<'_, cust::memory::UnifiedBuffer>` - --> src\agent.rs:565:26 - | -565 | let _queue_ref = (*queue); // Access the unified memory - | ^^^^^^^^ move occurs because value has type `cust::memory::UnifiedBuffer`, which does not implement the `Copy` trait - | -help: consider borrowing here - | -565 | let _queue_ref = &(*queue); // Access the unified memory - | + - -warning: unused variable: `cmd` - --> src\agent.rs:559:31 - | -559 | fn submit_to_queue(&self, cmd: Command) -> Result<(), String> { - | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` - -error[E0793]: reference to packed field is unaligned - --> src\alignment.rs:71:19 - | -71 | unsafe { (&(*(&cmd as *const Command)).timestamp as *const _ as usize) - cmd_ptr == 8 } - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses - = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) - = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) - -warning: unused variable: `data` - --> src\bridge.rs:310:37 - | -310 | pub fn copy_from_cpu(&mut self, data: &T) -> CudaResult<()> - | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` - -error[E0382]: borrow of moved value: `ptx_path` - --> src\cuda_claw\ptx.rs:23:18 - | -16 | let ptx_path = out_dir.join(format!("{}.ptx", name)); - | -------- move occurs because `ptx_path` has type `std::path::PathBuf`, which does not implement the `Copy` trait -... -22 | fs::read_to_string(ptx_path) - | -------- value moved here -23 | .map_err(|e| format!("Failed to read PTX file {:?}: {}", ptx_path, e).into()) - | ^^^ value borrowed here after move -------- borrow occurs due to use in closure - | -help: consider borrowing `ptx_path` - | -22 | fs::read_to_string(&ptx_path) - | + - -warning: unused variable: `cmd` - --> src\dispatcher.rs:286:17 - | -286 | for (i, cmd) in commands.iter().enumerate() { - | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` - -warning: unused variable: `priority` - --> src\dispatcher.rs:365:9 - | -365 | priority: DispatchPriority, - | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority` - -warning: variable does not need to be mutable - --> src\volatile_dispatcher.rs:220:35 - | -220 | pub fn submit_sync(&mut self, mut cmd: Command) -> Result<(u32, Duration), Box> { - | ----^^^ - | | - | help: remove this `mut` - | - = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default - -Some errors have detailed explanations: E0061, E0277, E0308, E0382, E0502, E0507, E0599, E0606, E0609... -For more information about an error, try `rustc --explain E0061`. -warning: `cudaclaw` (bin "cudaclaw") generated 31 warnings -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\executor.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\executor.cu" -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\main.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\main.cu" -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\smart_crdt_demo.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\smart_crdt_demo.cu" -error: could not compile `cudaclaw` (bin "cudaclaw") due to 97 previous errors; 31 warnings emitted -warning: value assigned to `stats` is never read - --> src\dispatcher.rs:1815:13 - | -1815 | stats.commands_dispatched = 999; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - | - = help: maybe it is overwritten before being read? - = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default - -warning: variable does not need to be mutable - --> src\lock_free_queue.rs:470:13 - | -470 | let mut queue: CommandQueueHost = unsafe { zeroed() }; - | ----^^^^^ - | | - | help: remove this `mut` - | - = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default - -warning: variable does not need to be mutable - --> src\volatile_dispatcher.rs:220:35 - | -220 | pub fn submit_sync(&mut self, mut cmd: Command) -> Result<(u32, Duration), Box> { - | ----^^^ - | | - | help: remove this `mut` - -warning: `cudaclaw` (bin "cudaclaw" test) generated 31 warnings (28 duplicates) -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\executor.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\executor.cu" -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\main.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\main.cu" -warning: cudaclaw@0.1.0: Compiling CUDA kernel: "kernels\\smart_crdt_demo.cu" -warning: cudaclaw@0.1.0: Successfully compiled "kernels\\smart_crdt_demo.cu" -error: could not compile `cudaclaw` (bin "cudaclaw" test) due to 119 previous errors; 31 warnings emitted diff --git a/crates/constraint-theory-core/target/.rustc_info.json b/crates/constraint-theory-core/target/.rustc_info.json index 4e03427..6ebc3ef 100644 --- a/crates/constraint-theory-core/target/.rustc_info.json +++ b/crates/constraint-theory-core/target/.rustc_info.json @@ -1 +1 @@ -{"rustc_fingerprint":3382304531910817126,"outputs":{"17747080675513052775":{"success":true,"status":"","code":0,"stdout":"rustc 1.92.0 (ded5c06cf 2025-12-08)\nbinary: rustc\ncommit-hash: ded5c06cf21d2b93bffd5d884aa6e96934ee4234\ncommit-date: 2025-12-08\nhost: x86_64-pc-windows-msvc\nrelease: 1.92.0\nLLVM version: 21.1.3\n","stderr":""},"7971740275564407648":{"success":true,"status":"","code":0,"stdout":"___.exe\nlib___.rlib\n___.dll\n___.dll\n___.lib\n___.dll\nC:\\Users\\casey\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\npacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"msvc\"\ntarget_family=\"windows\"\ntarget_feature=\"cmpxchg16b\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_feature=\"sse3\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"windows\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"pc\"\nwindows\n","stderr":""}},"successes":{}} \ No newline at end of file +{"rustc_fingerprint":6041176463401798617,"outputs":{"7971740275564407648":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""},"17747080675513052775":{"success":true,"status":"","code":0,"stdout":"rustc 1.93.1 (01f6ddf75 2026-02-11)\nbinary: rustc\ncommit-hash: 01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf\ncommit-date: 2026-02-11\nhost: x86_64-unknown-linux-gnu\nrelease: 1.93.1\nLLVM version: 21.1.8\n","stderr":""}},"successes":{}} \ No newline at end of file diff --git a/SOUL.md b/docs/agent-personas/CUDACLAW.md similarity index 100% rename from SOUL.md rename to docs/agent-personas/CUDACLAW.md diff --git a/POLICY_CPU.toml b/docs/policies/POLICY_CPU.toml similarity index 100% rename from POLICY_CPU.toml rename to docs/policies/POLICY_CPU.toml diff --git a/POLICY_VRAM.toml b/docs/policies/POLICY_VRAM.toml similarity index 100% rename from POLICY_VRAM.toml rename to docs/policies/POLICY_VRAM.toml diff --git a/sample.mhtml b/sample.mhtml deleted file mode 100644 index 9bcb75f..0000000 --- a/sample.mhtml +++ /dev/null @@ -1,13883 +0,0 @@ -From: -Snapshot-Content-Location: https://chat.z.ai/space/b1dbx2pquxh1-ppt -Subject: Z.ai - Free AI Chatbot & Agent powered by GLM-5 & GLM-4.7 -Date: Wed, 18 Mar 2026 05:27:05 -0800 -MIME-Version: 1.0 -Content-Type: multipart/related; - type="text/html"; - boundary="----MultipartBoundary--BPKQBevIN0E1Yov4tFQ2OWPPd7iwzyb1j9phuUvb57----" - - -------MultipartBoundary--BPKQBevIN0E1Yov4tFQ2OWPPd7iwzyb1j9phuUvb57---- -Content-Type: text/html -Content-ID: -Content-Transfer-Encoding: quoted-printable -Content-Location: https://chat.z.ai/space/b1dbx2pquxh1-ppt - - - =09 - - - - - =09 - - - - - =09 - - =09 - =09 - - =09 - - =09 - - =09 - - =09 - - =09 - - =09 - - - - - - - - - Z.ai - Free AI Chatbot & Agent powered by GLM-5 & GLM-4.7 - <= -meta property=3D"og:site_name" content=3D"Z.AI"> -= -= -= -= -= -= -= -= - - - - =09 -
- =09 -