Move the pin to Rust 1.98 - #26

Open
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98
Open

Move the pin to Rust 1.98#26
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98

Conversation

@tamnd

Copy link
Copy Markdown
Owner

Closes#25. Follows tamnd/zu#516, which moves the row in toolchains.toml this repository copies.

The pin itself is two lines, the channel and rust-version. No workflow here names a version, since the clippy and test jobs read the toolchain file.

The first commit is what makes the second one green. 1.98 ships clippy::chunks_exact_to_as_chunks, which fires four times in this tree, so the pin bump would be a red CI without it. It is a good lint rather than a style note: chunks_exact(8) returns a slice whose length the compiler does not know, so each of those lines carried a try_into().expect("eight bytes") to get an array back out. as_chunks::<8>() puts the width in the type and both the conversion and its panic disappear. Three sites are the widths in Bytes::extend, the copy out of an engine column into the buffer behind a typed array; the fourth is the flat edge list, where a pair becomes a pair in the type.

as_chunks returns the remainder that chunks_exact dropped, and both call sites still want it dropped. extend copies whole elements, so a partial one is a caller handing over something that is not this column. The edge list refuses an odd length by name before that line, so the tail is provably empty.

Dependencies were checked against the registry the same day and are all on their newest series: napi 3.12.1, napi-derive 3.6.3, napi-build 2.4.1, arrow 59.2.0.

Verified on 1.98.0 locally: cargo fmt --check, cargo clippy --all-features -- -D warnings clean, npm run build:debug, and npm test at 363 tests, 354 passing, 9 skipped, none failing.

1.98 adds `clippy::chunks_exact_to_as_chunks`, and it fires four times
here. It is a good lint rather than a style note: `chunks_exact(8)`
hands back a slice whose length the compiler does not know, so every
one of these lines carried a `try_into().expect("eight bytes")` in the
middle of it to get an array back out. `as_chunks::<8>()` puts the
width in the type and the conversion and its panic go away.
Three of them are the widths in `Bytes::extend`, which is the copy out
of a column the engine filled into the buffer a typed array is made
from. The fourth is the flat edge list, where a pair is now a pair in
the type and `edge[0]` and `edge[1]` stop being indexes into something
that could be any length.
A remainder is the one thing that changes shape: `as_chunks` returns
it rather than dropping it. Both call sites want it dropped, and both
already do the right thing. `extend` is copying a column of whole
elements, so a partial one is a caller handing over something that is
not this column at all, which is what `chunks_exact` also ignored. The
edge list refuses an odd length by name before it gets here, so the
tail is provably empty.
The suite is unchanged at 363 tests, 354 passing and 9 skipped, and
the typed array round trips are what cover `extend` in both
directions.
The compiler is not chosen here. tamnd/zu's toolchains.toml holds one
version for the nine repositories with Rust in them, and the toolchain
file here is a copy of that row, so this follows tamnd/zu#515 rather
than deciding anything.
Two sites, the channel and rust-version. No workflow in this
repository names a version: the clippy and test jobs read the
toolchain file, which is the arrangement that keeps a bump from having
to find every job that hardcoded a number.
The libraries need nothing. napi 3.12.1, napi-derive 3.6.3, napi-build
2.4.1 and arrow 59.2.0 were checked against the registry on the same
day and are all current.
Verified on 1.98.0: `cargo fmt --check`, `cargo clippy --all-features
-D warnings` clean now that the chunk sizes moved into the type, and
`npm test` at 363 tests with nothing failing.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move the pin to Rust 1.98

1 participant

@tamnd
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Move the pin to Rust 1.98 - #26

Open
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98
Open

Move the pin to Rust 1.98#26
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98

Conversation

@tamnd

Copy link
Copy Markdown
Owner

Closes#25. Follows tamnd/zu#516, which moves the row in toolchains.toml this repository copies.

The pin itself is two lines, the channel and rust-version. No workflow here names a version, since the clippy and test jobs read the toolchain file.

The first commit is what makes the second one green. 1.98 ships clippy::chunks_exact_to_as_chunks, which fires four times in this tree, so the pin bump would be a red CI without it. It is a good lint rather than a style note: chunks_exact(8) returns a slice whose length the compiler does not know, so each of those lines carried a try_into().expect("eight bytes") to get an array back out. as_chunks::<8>() puts the width in the type and both the conversion and its panic disappear. Three sites are the widths in Bytes::extend, the copy out of an engine column into the buffer behind a typed array; the fourth is the flat edge list, where a pair becomes a pair in the type.

as_chunks returns the remainder that chunks_exact dropped, and both call sites still want it dropped. extend copies whole elements, so a partial one is a caller handing over something that is not this column. The edge list refuses an odd length by name before that line, so the tail is provably empty.

Dependencies were checked against the registry the same day and are all on their newest series: napi 3.12.1, napi-derive 3.6.3, napi-build 2.4.1, arrow 59.2.0.

Verified on 1.98.0 locally: cargo fmt --check, cargo clippy --all-features -- -D warnings clean, npm run build:debug, and npm test at 363 tests, 354 passing, 9 skipped, none failing.

1.98 adds `clippy::chunks_exact_to_as_chunks`, and it fires four times
here. It is a good lint rather than a style note: `chunks_exact(8)`
hands back a slice whose length the compiler does not know, so every
one of these lines carried a `try_into().expect("eight bytes")` in the
middle of it to get an array back out. `as_chunks::<8>()` puts the
width in the type and the conversion and its panic go away.
Three of them are the widths in `Bytes::extend`, which is the copy out
of a column the engine filled into the buffer a typed array is made
from. The fourth is the flat edge list, where a pair is now a pair in
the type and `edge[0]` and `edge[1]` stop being indexes into something
that could be any length.
A remainder is the one thing that changes shape: `as_chunks` returns
it rather than dropping it. Both call sites want it dropped, and both
already do the right thing. `extend` is copying a column of whole
elements, so a partial one is a caller handing over something that is
not this column at all, which is what `chunks_exact` also ignored. The
edge list refuses an odd length by name before it gets here, so the
tail is provably empty.
The suite is unchanged at 363 tests, 354 passing and 9 skipped, and
the typed array round trips are what cover `extend` in both
directions.
The compiler is not chosen here. tamnd/zu's toolchains.toml holds one
version for the nine repositories with Rust in them, and the toolchain
file here is a copy of that row, so this follows tamnd/zu#515 rather
than deciding anything.
Two sites, the channel and rust-version. No workflow in this
repository names a version: the clippy and test jobs read the
toolchain file, which is the arrangement that keeps a bump from having
to find every job that hardcoded a number.
The libraries need nothing. napi 3.12.1, napi-derive 3.6.3, napi-build
2.4.1 and arrow 59.2.0 were checked against the registry on the same
day and are all current.
Verified on 1.98.0: `cargo fmt --check`, `cargo clippy --all-features
-D warnings` clean now that the chunk sizes moved into the type, and
`npm test` at 363 tests with nothing failing.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move the pin to Rust 1.98

1 participant

@tamnd
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Move the pin to Rust 1.98 - #26

Open
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98
Open

Move the pin to Rust 1.98#26
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98

Conversation

@tamnd

Copy link
Copy Markdown
Owner

Closes#25. Follows tamnd/zu#516, which moves the row in toolchains.toml this repository copies.

The pin itself is two lines, the channel and rust-version. No workflow here names a version, since the clippy and test jobs read the toolchain file.

The first commit is what makes the second one green. 1.98 ships clippy::chunks_exact_to_as_chunks, which fires four times in this tree, so the pin bump would be a red CI without it. It is a good lint rather than a style note: chunks_exact(8) returns a slice whose length the compiler does not know, so each of those lines carried a try_into().expect("eight bytes") to get an array back out. as_chunks::<8>() puts the width in the type and both the conversion and its panic disappear. Three sites are the widths in Bytes::extend, the copy out of an engine column into the buffer behind a typed array; the fourth is the flat edge list, where a pair becomes a pair in the type.

as_chunks returns the remainder that chunks_exact dropped, and both call sites still want it dropped. extend copies whole elements, so a partial one is a caller handing over something that is not this column. The edge list refuses an odd length by name before that line, so the tail is provably empty.

Dependencies were checked against the registry the same day and are all on their newest series: napi 3.12.1, napi-derive 3.6.3, napi-build 2.4.1, arrow 59.2.0.

Verified on 1.98.0 locally: cargo fmt --check, cargo clippy --all-features -- -D warnings clean, npm run build:debug, and npm test at 363 tests, 354 passing, 9 skipped, none failing.

1.98 adds `clippy::chunks_exact_to_as_chunks`, and it fires four times
here. It is a good lint rather than a style note: `chunks_exact(8)`
hands back a slice whose length the compiler does not know, so every
one of these lines carried a `try_into().expect("eight bytes")` in the
middle of it to get an array back out. `as_chunks::<8>()` puts the
width in the type and the conversion and its panic go away.
Three of them are the widths in `Bytes::extend`, which is the copy out
of a column the engine filled into the buffer a typed array is made
from. The fourth is the flat edge list, where a pair is now a pair in
the type and `edge[0]` and `edge[1]` stop being indexes into something
that could be any length.
A remainder is the one thing that changes shape: `as_chunks` returns
it rather than dropping it. Both call sites want it dropped, and both
already do the right thing. `extend` is copying a column of whole
elements, so a partial one is a caller handing over something that is
not this column at all, which is what `chunks_exact` also ignored. The
edge list refuses an odd length by name before it gets here, so the
tail is provably empty.
The suite is unchanged at 363 tests, 354 passing and 9 skipped, and
the typed array round trips are what cover `extend` in both
directions.
The compiler is not chosen here. tamnd/zu's toolchains.toml holds one
version for the nine repositories with Rust in them, and the toolchain
file here is a copy of that row, so this follows tamnd/zu#515 rather
than deciding anything.
Two sites, the channel and rust-version. No workflow in this
repository names a version: the clippy and test jobs read the
toolchain file, which is the arrangement that keeps a bump from having
to find every job that hardcoded a number.
The libraries need nothing. napi 3.12.1, napi-derive 3.6.3, napi-build
2.4.1 and arrow 59.2.0 were checked against the registry on the same
day and are all current.
Verified on 1.98.0: `cargo fmt --check`, `cargo clippy --all-features
-D warnings` clean now that the chunk sizes moved into the type, and
`npm test` at 363 tests with nothing failing.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move the pin to Rust 1.98

1 participant

@tamnd
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Move the pin to Rust 1.98 - #26

Open
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98
Open

Move the pin to Rust 1.98#26
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98

Conversation

@tamnd

Copy link
Copy Markdown
Owner

Closes#25. Follows tamnd/zu#516, which moves the row in toolchains.toml this repository copies.

The pin itself is two lines, the channel and rust-version. No workflow here names a version, since the clippy and test jobs read the toolchain file.

The first commit is what makes the second one green. 1.98 ships clippy::chunks_exact_to_as_chunks, which fires four times in this tree, so the pin bump would be a red CI without it. It is a good lint rather than a style note: chunks_exact(8) returns a slice whose length the compiler does not know, so each of those lines carried a try_into().expect("eight bytes") to get an array back out. as_chunks::<8>() puts the width in the type and both the conversion and its panic disappear. Three sites are the widths in Bytes::extend, the copy out of an engine column into the buffer behind a typed array; the fourth is the flat edge list, where a pair becomes a pair in the type.

as_chunks returns the remainder that chunks_exact dropped, and both call sites still want it dropped. extend copies whole elements, so a partial one is a caller handing over something that is not this column. The edge list refuses an odd length by name before that line, so the tail is provably empty.

Dependencies were checked against the registry the same day and are all on their newest series: napi 3.12.1, napi-derive 3.6.3, napi-build 2.4.1, arrow 59.2.0.

Verified on 1.98.0 locally: cargo fmt --check, cargo clippy --all-features -- -D warnings clean, npm run build:debug, and npm test at 363 tests, 354 passing, 9 skipped, none failing.

1.98 adds `clippy::chunks_exact_to_as_chunks`, and it fires four times
here. It is a good lint rather than a style note: `chunks_exact(8)`
hands back a slice whose length the compiler does not know, so every
one of these lines carried a `try_into().expect("eight bytes")` in the
middle of it to get an array back out. `as_chunks::<8>()` puts the
width in the type and the conversion and its panic go away.
Three of them are the widths in `Bytes::extend`, which is the copy out
of a column the engine filled into the buffer a typed array is made
from. The fourth is the flat edge list, where a pair is now a pair in
the type and `edge[0]` and `edge[1]` stop being indexes into something
that could be any length.
A remainder is the one thing that changes shape: `as_chunks` returns
it rather than dropping it. Both call sites want it dropped, and both
already do the right thing. `extend` is copying a column of whole
elements, so a partial one is a caller handing over something that is
not this column at all, which is what `chunks_exact` also ignored. The
edge list refuses an odd length by name before it gets here, so the
tail is provably empty.
The suite is unchanged at 363 tests, 354 passing and 9 skipped, and
the typed array round trips are what cover `extend` in both
directions.
The compiler is not chosen here. tamnd/zu's toolchains.toml holds one
version for the nine repositories with Rust in them, and the toolchain
file here is a copy of that row, so this follows tamnd/zu#515 rather
than deciding anything.
Two sites, the channel and rust-version. No workflow in this
repository names a version: the clippy and test jobs read the
toolchain file, which is the arrangement that keeps a bump from having
to find every job that hardcoded a number.
The libraries need nothing. napi 3.12.1, napi-derive 3.6.3, napi-build
2.4.1 and arrow 59.2.0 were checked against the registry on the same
day and are all current.
Verified on 1.98.0: `cargo fmt --check`, `cargo clippy --all-features
-D warnings` clean now that the chunk sizes moved into the type, and
`npm test` at 363 tests with nothing failing.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move the pin to Rust 1.98

1 participant

@tamnd
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Move the pin to Rust 1.98 - #26

Open
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98
Open

Move the pin to Rust 1.98#26
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98

Conversation

@tamnd

Copy link
Copy Markdown
Owner

Closes#25. Follows tamnd/zu#516, which moves the row in toolchains.toml this repository copies.

The pin itself is two lines, the channel and rust-version. No workflow here names a version, since the clippy and test jobs read the toolchain file.

The first commit is what makes the second one green. 1.98 ships clippy::chunks_exact_to_as_chunks, which fires four times in this tree, so the pin bump would be a red CI without it. It is a good lint rather than a style note: chunks_exact(8) returns a slice whose length the compiler does not know, so each of those lines carried a try_into().expect("eight bytes") to get an array back out. as_chunks::<8>() puts the width in the type and both the conversion and its panic disappear. Three sites are the widths in Bytes::extend, the copy out of an engine column into the buffer behind a typed array; the fourth is the flat edge list, where a pair becomes a pair in the type.

as_chunks returns the remainder that chunks_exact dropped, and both call sites still want it dropped. extend copies whole elements, so a partial one is a caller handing over something that is not this column. The edge list refuses an odd length by name before that line, so the tail is provably empty.

Dependencies were checked against the registry the same day and are all on their newest series: napi 3.12.1, napi-derive 3.6.3, napi-build 2.4.1, arrow 59.2.0.

Verified on 1.98.0 locally: cargo fmt --check, cargo clippy --all-features -- -D warnings clean, npm run build:debug, and npm test at 363 tests, 354 passing, 9 skipped, none failing.

1.98 adds `clippy::chunks_exact_to_as_chunks`, and it fires four times
here. It is a good lint rather than a style note: `chunks_exact(8)`
hands back a slice whose length the compiler does not know, so every
one of these lines carried a `try_into().expect("eight bytes")` in the
middle of it to get an array back out. `as_chunks::<8>()` puts the
width in the type and the conversion and its panic go away.
Three of them are the widths in `Bytes::extend`, which is the copy out
of a column the engine filled into the buffer a typed array is made
from. The fourth is the flat edge list, where a pair is now a pair in
the type and `edge[0]` and `edge[1]` stop being indexes into something
that could be any length.
A remainder is the one thing that changes shape: `as_chunks` returns
it rather than dropping it. Both call sites want it dropped, and both
already do the right thing. `extend` is copying a column of whole
elements, so a partial one is a caller handing over something that is
not this column at all, which is what `chunks_exact` also ignored. The
edge list refuses an odd length by name before it gets here, so the
tail is provably empty.
The suite is unchanged at 363 tests, 354 passing and 9 skipped, and
the typed array round trips are what cover `extend` in both
directions.
The compiler is not chosen here. tamnd/zu's toolchains.toml holds one
version for the nine repositories with Rust in them, and the toolchain
file here is a copy of that row, so this follows tamnd/zu#515 rather
than deciding anything.
Two sites, the channel and rust-version. No workflow in this
repository names a version: the clippy and test jobs read the
toolchain file, which is the arrangement that keeps a bump from having
to find every job that hardcoded a number.
The libraries need nothing. napi 3.12.1, napi-derive 3.6.3, napi-build
2.4.1 and arrow 59.2.0 were checked against the registry on the same
day and are all current.
Verified on 1.98.0: `cargo fmt --check`, `cargo clippy --all-features
-D warnings` clean now that the chunk sizes moved into the type, and
`npm test` at 363 tests with nothing failing.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move the pin to Rust 1.98

1 participant

@tamnd
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Move the pin to Rust 1.98 - #26

Open
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98
Open

Move the pin to Rust 1.98#26
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98

Conversation

@tamnd

Copy link
Copy Markdown
Owner

Closes#25. Follows tamnd/zu#516, which moves the row in toolchains.toml this repository copies.

The pin itself is two lines, the channel and rust-version. No workflow here names a version, since the clippy and test jobs read the toolchain file.

The first commit is what makes the second one green. 1.98 ships clippy::chunks_exact_to_as_chunks, which fires four times in this tree, so the pin bump would be a red CI without it. It is a good lint rather than a style note: chunks_exact(8) returns a slice whose length the compiler does not know, so each of those lines carried a try_into().expect("eight bytes") to get an array back out. as_chunks::<8>() puts the width in the type and both the conversion and its panic disappear. Three sites are the widths in Bytes::extend, the copy out of an engine column into the buffer behind a typed array; the fourth is the flat edge list, where a pair becomes a pair in the type.

as_chunks returns the remainder that chunks_exact dropped, and both call sites still want it dropped. extend copies whole elements, so a partial one is a caller handing over something that is not this column. The edge list refuses an odd length by name before that line, so the tail is provably empty.

Dependencies were checked against the registry the same day and are all on their newest series: napi 3.12.1, napi-derive 3.6.3, napi-build 2.4.1, arrow 59.2.0.

Verified on 1.98.0 locally: cargo fmt --check, cargo clippy --all-features -- -D warnings clean, npm run build:debug, and npm test at 363 tests, 354 passing, 9 skipped, none failing.

1.98 adds `clippy::chunks_exact_to_as_chunks`, and it fires four times
here. It is a good lint rather than a style note: `chunks_exact(8)`
hands back a slice whose length the compiler does not know, so every
one of these lines carried a `try_into().expect("eight bytes")` in the
middle of it to get an array back out. `as_chunks::<8>()` puts the
width in the type and the conversion and its panic go away.
Three of them are the widths in `Bytes::extend`, which is the copy out
of a column the engine filled into the buffer a typed array is made
from. The fourth is the flat edge list, where a pair is now a pair in
the type and `edge[0]` and `edge[1]` stop being indexes into something
that could be any length.
A remainder is the one thing that changes shape: `as_chunks` returns
it rather than dropping it. Both call sites want it dropped, and both
already do the right thing. `extend` is copying a column of whole
elements, so a partial one is a caller handing over something that is
not this column at all, which is what `chunks_exact` also ignored. The
edge list refuses an odd length by name before it gets here, so the
tail is provably empty.
The suite is unchanged at 363 tests, 354 passing and 9 skipped, and
the typed array round trips are what cover `extend` in both
directions.
The compiler is not chosen here. tamnd/zu's toolchains.toml holds one
version for the nine repositories with Rust in them, and the toolchain
file here is a copy of that row, so this follows tamnd/zu#515 rather
than deciding anything.
Two sites, the channel and rust-version. No workflow in this
repository names a version: the clippy and test jobs read the
toolchain file, which is the arrangement that keeps a bump from having
to find every job that hardcoded a number.
The libraries need nothing. napi 3.12.1, napi-derive 3.6.3, napi-build
2.4.1 and arrow 59.2.0 were checked against the registry on the same
day and are all current.
Verified on 1.98.0: `cargo fmt --check`, `cargo clippy --all-features
-D warnings` clean now that the chunk sizes moved into the type, and
`npm test` at 363 tests with nothing failing.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move the pin to Rust 1.98

1 participant

@tamnd
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Move the pin to Rust 1.98 - #26

Open
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98
Open

Move the pin to Rust 1.98#26
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98

Conversation

@tamnd

Copy link
Copy Markdown
Owner

Closes#25. Follows tamnd/zu#516, which moves the row in toolchains.toml this repository copies.

The pin itself is two lines, the channel and rust-version. No workflow here names a version, since the clippy and test jobs read the toolchain file.

The first commit is what makes the second one green. 1.98 ships clippy::chunks_exact_to_as_chunks, which fires four times in this tree, so the pin bump would be a red CI without it. It is a good lint rather than a style note: chunks_exact(8) returns a slice whose length the compiler does not know, so each of those lines carried a try_into().expect("eight bytes") to get an array back out. as_chunks::<8>() puts the width in the type and both the conversion and its panic disappear. Three sites are the widths in Bytes::extend, the copy out of an engine column into the buffer behind a typed array; the fourth is the flat edge list, where a pair becomes a pair in the type.

as_chunks returns the remainder that chunks_exact dropped, and both call sites still want it dropped. extend copies whole elements, so a partial one is a caller handing over something that is not this column. The edge list refuses an odd length by name before that line, so the tail is provably empty.

Dependencies were checked against the registry the same day and are all on their newest series: napi 3.12.1, napi-derive 3.6.3, napi-build 2.4.1, arrow 59.2.0.

Verified on 1.98.0 locally: cargo fmt --check, cargo clippy --all-features -- -D warnings clean, npm run build:debug, and npm test at 363 tests, 354 passing, 9 skipped, none failing.

1.98 adds `clippy::chunks_exact_to_as_chunks`, and it fires four times
here. It is a good lint rather than a style note: `chunks_exact(8)`
hands back a slice whose length the compiler does not know, so every
one of these lines carried a `try_into().expect("eight bytes")` in the
middle of it to get an array back out. `as_chunks::<8>()` puts the
width in the type and the conversion and its panic go away.
Three of them are the widths in `Bytes::extend`, which is the copy out
of a column the engine filled into the buffer a typed array is made
from. The fourth is the flat edge list, where a pair is now a pair in
the type and `edge[0]` and `edge[1]` stop being indexes into something
that could be any length.
A remainder is the one thing that changes shape: `as_chunks` returns
it rather than dropping it. Both call sites want it dropped, and both
already do the right thing. `extend` is copying a column of whole
elements, so a partial one is a caller handing over something that is
not this column at all, which is what `chunks_exact` also ignored. The
edge list refuses an odd length by name before it gets here, so the
tail is provably empty.
The suite is unchanged at 363 tests, 354 passing and 9 skipped, and
the typed array round trips are what cover `extend` in both
directions.
The compiler is not chosen here. tamnd/zu's toolchains.toml holds one
version for the nine repositories with Rust in them, and the toolchain
file here is a copy of that row, so this follows tamnd/zu#515 rather
than deciding anything.
Two sites, the channel and rust-version. No workflow in this
repository names a version: the clippy and test jobs read the
toolchain file, which is the arrangement that keeps a bump from having
to find every job that hardcoded a number.
The libraries need nothing. napi 3.12.1, napi-derive 3.6.3, napi-build
2.4.1 and arrow 59.2.0 were checked against the registry on the same
day and are all current.
Verified on 1.98.0: `cargo fmt --check`, `cargo clippy --all-features
-D warnings` clean now that the chunk sizes moved into the type, and
`npm test` at 363 tests with nothing failing.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move the pin to Rust 1.98

1 participant

@tamnd
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Move the pin to Rust 1.98 - #26

Open
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98
Open

Move the pin to Rust 1.98#26
tamnd wants to merge 2 commits into
mainfrom
chore/rust-1.98

Conversation

@tamnd

Copy link
Copy Markdown
Owner

Closes#25. Follows tamnd/zu#516, which moves the row in toolchains.toml this repository copies.

The pin itself is two lines, the channel and rust-version. No workflow here names a version, since the clippy and test jobs read the toolchain file.

The first commit is what makes the second one green. 1.98 ships clippy::chunks_exact_to_as_chunks, which fires four times in this tree, so the pin bump would be a red CI without it. It is a good lint rather than a style note: chunks_exact(8) returns a slice whose length the compiler does not know, so each of those lines carried a try_into().expect("eight bytes") to get an array back out. as_chunks::<8>() puts the width in the type and both the conversion and its panic disappear. Three sites are the widths in Bytes::extend, the copy out of an engine column into the buffer behind a typed array; the fourth is the flat edge list, where a pair becomes a pair in the type.

as_chunks returns the remainder that chunks_exact dropped, and both call sites still want it dropped. extend copies whole elements, so a partial one is a caller handing over something that is not this column. The edge list refuses an odd length by name before that line, so the tail is provably empty.

Dependencies were checked against the registry the same day and are all on their newest series: napi 3.12.1, napi-derive 3.6.3, napi-build 2.4.1, arrow 59.2.0.

Verified on 1.98.0 locally: cargo fmt --check, cargo clippy --all-features -- -D warnings clean, npm run build:debug, and npm test at 363 tests, 354 passing, 9 skipped, none failing.

1.98 adds `clippy::chunks_exact_to_as_chunks`, and it fires four times
here. It is a good lint rather than a style note: `chunks_exact(8)`
hands back a slice whose length the compiler does not know, so every
one of these lines carried a `try_into().expect("eight bytes")` in the
middle of it to get an array back out. `as_chunks::<8>()` puts the
width in the type and the conversion and its panic go away.
Three of them are the widths in `Bytes::extend`, which is the copy out
of a column the engine filled into the buffer a typed array is made
from. The fourth is the flat edge list, where a pair is now a pair in
the type and `edge[0]` and `edge[1]` stop being indexes into something
that could be any length.
A remainder is the one thing that changes shape: `as_chunks` returns
it rather than dropping it. Both call sites want it dropped, and both
already do the right thing. `extend` is copying a column of whole
elements, so a partial one is a caller handing over something that is
not this column at all, which is what `chunks_exact` also ignored. The
edge list refuses an odd length by name before it gets here, so the
tail is provably empty.
The suite is unchanged at 363 tests, 354 passing and 9 skipped, and
the typed array round trips are what cover `extend` in both
directions.
The compiler is not chosen here. tamnd/zu's toolchains.toml holds one
version for the nine repositories with Rust in them, and the toolchain
file here is a copy of that row, so this follows tamnd/zu#515 rather
than deciding anything.
Two sites, the channel and rust-version. No workflow in this
repository names a version: the clippy and test jobs read the
toolchain file, which is the arrangement that keeps a bump from having
to find every job that hardcoded a number.
The libraries need nothing. napi 3.12.1, napi-derive 3.6.3, napi-build
2.4.1 and arrow 59.2.0 were checked against the registry on the same
day and are all current.
Verified on 1.98.0: `cargo fmt --check`, `cargo clippy --all-features
-D warnings` clean now that the chunk sizes moved into the type, and
`npm test` at 363 tests with nothing failing.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move the pin to Rust 1.98

1 participant

@tamnd