profile
viewpoint
est31 2130706433 FLOSS software. Past contributions include @minetest, @rust-lang, F-Droid.

est31/cargo-udeps 371

Find unused dependencies in Cargo.toml

est31/cargo-local-serve 25

Mirror of https://gitlab.com/est/cargo-local-serve | Serve a local, offline, clone of crates.io.

est31/anvil 1

An anvil mod for minetest based on the cottages anvil

est31/balloc 1

Bounded allocation for Rust

est31/addr2line 0

A cross-platform `addr2line` clone written in Rust, using `gimli`

est31/alert-after 0

Get a desktop notification after a command finishes executing.

est31/amethyst 0

Data-oriented and data-driven game engine written in Rust

est31/antimicro 0

Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support

push eventest31/mimas

est31

commit sha b9895fdc3004342becc0a33289baa3bf61976c0c

Replace input.modifiers with tracked modifiers Replaces input.modifiers with an internally tracked modifiers field. This fixes a deprecation warning that has been plaguing us for a while already.

view details

est31

commit sha 57854715584d73854dde29fb0050a5af599db94a

Add climable block param The climable block param is meant to enable things like ladders and such.

view details

est31

commit sha c6b5c827d6c355b034efde17e3a1bfbc4d64437b

Render selection mesh after players Previously, players would disappear if behind a selection mesh. This fixes that bug.

view details

push time in 4 hours

PullRequestReviewEvent

Pull request review commentglium/glium

Update Rust edition

 fn get_program_binary() {         Ok(bin) => bin     }; -    assert!(binary.content.len() >= 1);+    assert!(!binary.content.is_empty());

I think the is_empty lint of clippy is misguided/harmful. The older code was shorter as well as clearer.

agluszak

comment created time in 10 hours

Pull request review commentglium/glium

Update Rust edition

 #![allow(dead_code)] -extern crate obj;+

Why do you replace the extern crate statements with empty lines? If you remove them, please also remove the line.

agluszak

comment created time in 10 hours

PullRequestReviewEvent

push eventest31/mimas

est31

commit sha d85eabef9fc66e6a461b711f983882659fe5e348

Move mapgen.rs to mimas-server Map generation is only done on the server, so it doesn't need to be in mimas-common.

view details

push time in a day

pull request commentrust-av/ffv1

Add cargo publish workflow

Secret is set up!

est31

comment created time in 2 days

push eventest31/ffv1

est31

commit sha 3c12dc1904a34963a9267af429679a182657dd24

Add cargo publish workflow Sets the release version to 0.0.0 to prevent an overwrite of the current placeholder release.

view details

push time in 2 days

PR opened rust-av/ffv1

Add cargo publish workflow

Sets the release version to 0.0.0 to prevent an overwrite of the current placeholder release.

+21 -1

0 comment

2 changed files

pr created time in 2 days

push eventest31/ffv1

est31

commit sha 8527f060742c6d42d98c6841de31b990a0d5d1f2

Add cargo publish workflow Sets the release version to 0.0.0 to prevent an overwrite of the current placeholder release.

view details

push time in 2 days

fork est31/ffv1

fork in 2 days

pull request commentRustAudio/lewton

Update all code to Edition 2018

Yes, absolutely. Please don't be discouraged by me closing this PR!

rawler

comment created time in 2 days

issue commentrust-lang/cargo

no_std crates should not permit non-no_std dependencies

Current workaround: compile/cargo check for a target that is known to have no standard library.

Also there is the issue that Cargo.toml doesn't contain any info that a crate is no_std. It's specified in the Rust code only.

zesterer

comment created time in 2 days

issue commentrust-lang/cargo

Forbid setting `RUSTC_BOOTSTRAP` from a build script

@joshtriplett I guess your last point is made to facilitate a transition plan for projects with MSRV requirements like Firefox?

matklad

comment created time in 2 days

PR closed RustAudio/lewton

Update all code to Edition 2018
+287 -296

2 comments

13 changed files

rawler

pr closed time in 3 days

pull request commentRustAudio/lewton

Update all code to Edition 2018

Thanks for the PR, but I'm afraid that edition 2018 makes the developer experience for lewton worse. The reason is as follows: The ? operator does not support backtraces. Backtraces are still unstable, as is the Try trait. In the early days of lewton I was debugging it a lot. Back then it was extremely helpful to quickly know the origin of an error, the precise line of it. The alternatives like anyhow are nice but they are heavy (extra dependency). I'll wait a bit until the post-try! world matures.

As for cargo fmt, sadly rustfmt is still not mature enough to support the coding style I desire to use. That's why I won't use it for now in lewton. I'm wondering though about either forking it, or maybe building my own formatter from scratch.

Thank you for your understanding.

rawler

comment created time in 3 days

issue commentrust-lang/rustup

Regex support for rustup toolchain remove

Workaround: rustup toolchain list | rg ^nightly-20 | xargs rustup toolchain uninstall

est31

comment created time in 3 days

issue openedrust-lang/rustup

Regex support for rustup toolchain remove

I have 63 toolchains, culminating in 40GB of hard drive use. I'd love to remove all nightlies, but I have to add the nightlies one by one. It would be great if one could specify regexes like rustup toolchain remove nightly-*.

created time in 3 days

pull request commentrust-lang/rust

Fix two small issues in compiler/rustc_lint/src/types.rs

Re the second commit, actually it's me who made this code so weird, back in #38482 . Maybe there was a reason for it, e.g. i128 wasn't able to be casted to directly. But nowadays this is supported, and i128 support is available on stable so that shouldn't be a concern any more.

est31

comment created time in 3 days

push eventest31/rust

est31

commit sha 5948e62f3443df626cc803fd3a08bc24e42209e8

Sync LLVM submodule if it has been initialized Since having enabled the download-ci-llvm option, and having rebased on top of f05b47ccdfa63f8b4b9fb47a9aa92381801d3ff1, I've noticed that I had to update the llvm-project submodule manually if it was checked out. Orignally, the submodule update logic was introduced to reduce the friction for contributors to manage the submodules, or in other words, to prevent getting PRs that have unwanted submodule rollbacks because the contributors didn't run git submodule update. This commit adds logic to ensure there is no inadvertent LLVM submodule rollback in a PR if download-ci-llvm (or llvm-config) is enabled. It will detect whether the llvm-project submodule is initialized, and if so, update it in any case. If it is not initialized, behaviour is kept to not do any update/initialization. An alternative to the chosen implementation would be to not pass the --init command line arg to `git submodule update` for the src/llvm-project submodule. This would show a confusing error message however on all builds with an uninitialized repo. We could pass the --silent param, but we still want it to print something if it is initialized and has to update something. So we just do a manual check for whether the submodule is initialized.

view details

push time in 4 days

issue commentbriansmith/ring

Compilation fails on aarch64-apple-darwin

What is the status of cross-compiling to this target? Would it be a waste of time to try to get the CI/CD going to verify that things still build?

Officially, Xcode 12 supports cross compilation to apple silicon. Things seem to be a bit in flux still though. Rust CI uses a beta of Xcode 12.2 for example. Best ask @shepmaster for the details.

est31

comment created time in 4 days

issue commentbriansmith/ring

Compilation fails on aarch64-apple-darwin

I think it would be great if we could go over to rust-lang/rust#73628 and nail down at least what the final target triple names will be.

A better thread for the apple silicon target would be https://github.com/rust-lang/rust/issues/73908 . Regarding the particular concern of ARM 8.3 version numbers, there is precedent with x86_64 where core2 is assumed for apple based targets, allowing for max_atomic_width to be set to 128 bits instead of 64. linux based targets on the other hand can only assume 64 bits. The names of the targets (x86_64-apple-darwin vs x86_64-unknown-linux-gnu) don't reflect this difference in minimum hardware version, it's solely implied by the fact that apple doesn't support pre-core2 CPUs.

est31

comment created time in 4 days

PR opened rust-lang/rust

Fix two small issues in compiler/rustc_lint/src/types.rs

Two small improvements of compiler/rustc_lint/src/types.rs

+18 -17

0 comment

1 changed file

pr created time in 4 days

create barnchest31/rust

branch : rustc_lint_types_refactor

created branch time in 4 days

push eventest31/rust

est31

commit sha 65faa736681174a58359a9445e9e4e6eb45a394d

Sync LLVM submodule if it has been initialized Since having enabled the download-ci-llvm option, and having rebased on top of f05b47ccdfa63f8b4b9fb47a9aa92381801d3ff1, I've noticed that I had to update the llvm-project submodule manually if it was checked out. Orignally, the submodule update logic was introduced to reduce the friction for contributors to manage the submodules, or in other words, to prevent getting PRs that have unwanted submodule rollbacks because the contributors didn't run git submodule update. This commit adds logic to ensure there is no inadvertent LLVM submodule rollback in a PR if download-ci-llvm is enabled. It will detect whether the llvm-project submodule is initialized, and if so, still update it, even if download-ci-llvm is enabled. If it is not initialized, there still won't be any change. An alternative to the chosen implementation would be to not pass the --init command line arg to `git submodule update` for the src/llvm-project submodule if download-ci-llvm was disabled, but this shows a confusing error message if it encounters an uninitialized repo. We could pass the --silent param but we still want it to print something if it is initialized and has to update something. So we just do a manual check for whether the submodule is initialized.

view details

push time in 4 days

push eventest31/rust

est31

commit sha bb70719436019a7c917b6f46fc4ad3aebea30b7b

Sync LLVM submodule if it has been initialized Since having enabled the download-ci-llvm option, and having rebased on top of f05b47ccdfa63f8b4b9fb47a9aa92381801d3ff1, I've noticed that I had to update the llvm-project submodule manually if it was checked out. Orignally, the submodule update logic was introduced to reduce the friction for contributors to manage the submodules, or in other words, to prevent getting PRs that have unwanted submodule rollbacks because the contributors didn't run git submodule update. This commit adds logic to ensure there is no inadvertent LLVM submodule rollback in a PR if download-ci-llvm is enabled. It will detect whether the llvm-project submodule is initialized, and if so, still update it, even if download-ci-llvm is enabled. If it is not initialized, there still won't be any change. An alternative to the chosen implementation would be to not pass the --init command line arg to `git submodule update` for the src/llvm-project submodule if download-ci-llvm was disabled, but this shows a confusing error message if it encounters an uninitialized repo. We could pass the --silent param but we still want it to print something if it is initialized and has to update something. So we just do a manual check for whether the submodule is initialized.

view details

push time in 4 days

PR opened rust-lang/rust

Sync LLVM submodule if it has been initialized

Since having enabled the download-ci-llvm option, and having rebased on top of #76864, I've noticed that I had to update the llvm-project submodule manually if it was checked out. Orignally, the submodule update logic was introduced to reduce the friction for contributors to manage the submodules, or in other words, to prevent getting PRs that have unwanted submodule rollbacks because the contributors didn't run git submodule update.

This commit adds logic to ensure there is no inadvertent LLVM submodule rollback in a PR if download-ci-llvm is enabled. It will detect whether the llvm-project submodule is initialized, and if so, still update it, even if download-ci-llvm is enabled. If it is not initialized, there still won't be any change.

An alternative to the chosen implementation would be to not pass the --init command line arg to git submodule update for the src/llvm-project submodule if download-ci-llvm was disabled, but this shows a confusing error message if it encounters an uninitialized repo. We could pass the --silent param but we still want it to print something if it is initialized and has to update something. So we just do a manual check for whether the submodule is initialized.

+6 -1

0 comment

1 changed file

pr created time in 4 days

push eventest31/rust

est31

commit sha b7dfab457c55a2efa77154356f9887f7c8dc9d6a

Sync LLVM submodule if it has been initialized Since having enabled the download-ci-llvm option, and having rebased on top of f05b47ccdfa63f8b4b9fb47a9aa92381801d3ff1, I've noticed that I had to update the llvm-project submodule manually if it was checked out. Orignally, the submodule update logic was introduced to reduce the friction for contributors to manage the submodules, or in other words, to prevent getting PRs that have unwanted submodule rollbacks because the contributors didn't run git submodule update. This commit adds logic to ensure there is no inadvertent LLVM submodule rollback in a PR if download-ci-llvm is enabled. It will detect whether the llvm-project submodule is initialized, and if so, still update it, even if download-ci-llvm is enabled. If it is not initialized, there still won't be any change. An alternative to the chosen implementation would be to not pass the --init command line arg to `git submodule update` for the src/llvm-project submodule if download-ci-llvm was disabled, but this shows a confusing error message if it encounters an uninitialized repo. We could pass the --silent param but we still want it to print something if it is initialized and has to update something. So we just do a manual check for whether the submodule is initialized.

view details

push time in 4 days

push eventest31/rust

est31

commit sha 6b8bf83f9f7649abf5f46eb8073d81554d24114b

Sync LLVM submodule if it has been initialized Since having enabled the download-ci-llvm option, and having rebased on top of f05b47ccdfa63f8b4b9fb47a9aa92381801d3ff1, I've noticed that I had to update the llvm-project submodule manually if it was checked out. Orignally, the LLVM submodule update logic was introduced to reduce the friction for contributors to manage the submodules, or in other words, to prevent getting PRs that have unwanted submodule rollbacks because the contributors didn't run git submodule update. This commit adds logic to ensure there is no inadvertent submodule rollback in a PR. If download-ci-llvm is enabled, it will detect whether the llvm-project submodule is initialized, and if so, still update it. If it is not initialized, there still won't be any change. An alternative to the chosen implementation would be to not pass the --init command line arg to `git submodule update` for the src/llvm-project submodule if download-ci-llvm was disabled, but this shows an error message if it encounters an uninitialized repo. We could pass the --silent param but we still want it to print something if it is initialized and has to update something. So we just do a manual check for whether the submodule is initialized.

view details

push time in 4 days

push eventest31/rust

est31

commit sha 9a059a09b9faf0f63a21c373d59eba89072b9e8f

Sync LLVM submodule if it has been initialized Since having enabled the download-ci-llvm option, I've noticed having to update the llvm-project submodule manually. Orignally, the LLVM submodule update logic was introduced to reduce the friction for contributors to manage the submodules, or in other words, to prevent getting PRs that have unwanted submodule rollbacks because the contributors didn't run git submodule update. This commit adds logic that even if download-ci-llvm is enabled, detects whether the llvm-project submodule is initialized, and if so, still updates it. If it is not initialized, there won't be any change about that.

view details

push time in 4 days

create barnchest31/rust

branch : downloaded_llvm_maybe_sync

created branch time in 4 days

issue commentRustAudio/rodio

Unnecessary Seek for decoders - prevents internet radio

You can try defining a custom type and just panic!() when the seek function is actually called.

pimdh

comment created time in 4 days

push eventest31/mimas

est31

commit sha f5efd04568d0686dced8273e8f1175e02b9dfe3d

Update the nick if it has been changed The authoritative source for mapping a player's nick to the id pair is and always will be the auth db. This db might not be available to people who get a copy of the map though, e.g. for security reasons. For them, the map provides a cached version of the nick. This commit ensures the cached version is updated and follows nick changes. Currently, there is no support in the server for changing nicks, but you can already now edit the db manually.

view details

push time in 4 days

push eventest31/mimas

est31

commit sha fa4a571ba59d109fb889ce08f81f8187cbc0b994

Put the two new changes into the changelog

view details

push time in 4 days

push eventest31/mimas

est31

commit sha 40d287bf656f659c285a1851f1cec2b7cddae821

Add newlines to the ends of map_storage.rs and server.rs Seems that vscode by default doesn't respect editorconfig per default and needs an extension for it.

view details

est31

commit sha 24e505af050c9bf57e71fd0a0901403aa4d7a20a

Store Player modes (Fly, Fast, Noclip) on the server Also, make the client set those flags when asked to by the server.

view details

est31

commit sha 2d386bdd46952fb00e39e767732e3f422a772386

Make the client set the server tracked modes Now we have persistence of the modes between logins!

view details

push time in 4 days

issue commentrust-analyzer/rust-analyzer

publish to openvsx

FYI it's being republished now as a daily job, but that means that updates are reaching users delayed by up to a day.

rohan-sircar

comment created time in 4 days

issue commentRustAudio/rodio

Switching to pure-rust mp3 decoder

@Shnatsel sounds like a good approach!

est31

comment created time in 4 days

issue closedRustAudio/rodio

Consider Symphonia for MP3 decoding

https://github.com/pdeljanov/Symphonia implements WAV, FLAC and MP3 decoding in pure Rust. It would be great to allow using it instead of minimp3, which is a C library.

closed time in 5 days

Shnatsel

issue commentRustAudio/rodio

Consider Symphonia for MP3 decoding

Let's discuss this in #256.

Shnatsel

comment created time in 5 days

push eventest31/rust

Bastian Kauschke

commit sha 9c302f55bd07a04305dfa2bd815d2559deb8468f

normalize in codegen_fulfill_obligations

view details

Bastian Kauschke

commit sha f0487cee7439f3a4b4c7daec0e7f2a0ccc21053c

normalize substs during inlining

view details

Bastian Kauschke

commit sha 32739a2ff1b7b6e5c1b475341b01f4a499830a84

add regression test

view details

Bastian Kauschke

commit sha ac893b8a02788eec6f6fad0cc89de0177b0c0a50

add test for should_inline incorrect param_env

view details

Dániel Buga

commit sha 6f43af26e9492c51777d5153c7bfdfb9a7cc374d

Clean up surprising borrow

view details

Dániel Buga

commit sha 8e548bf8d647620b8a0fda0e128df024a5823346

Remove weird slice conversion

view details

Dániel Buga

commit sha ed7c6819e48d93636d0c0526a0f01a7b21ed2fe1

Early return to decrease indentation

view details

Dániel Buga

commit sha d708d7fb7922215310396d29b00ae4bfcb992a0f

No need to map the max_distance

view details

Dániel Buga

commit sha f3a0f68453ee695495d88db2d3de3aadedaac3d9

Zip -> Enumerate

view details

Dániel Buga

commit sha 2e9943990014013dbe2e1878d3f11f331a50c115

Replace unnecessary map_or_else with map_or

view details

bors

commit sha 834821e3b666f77bb7caf1ed88ed662c395fbc11

Auto merge of #78066 - bugadani:wat, r=jonas-schievink Clean up small, surprising bits of code This PR clean up a small number of unrelated, small things I found while browsing the code base.

view details

bors

commit sha 4d247ad7d3d2a9f72cd60e281f39b5d85bd6a463

Auto merge of #77306 - lcnr:inline-ok, r=eddyb normalize substs while inlining fixes #68347 or more precisely, this fixes the same ICE in rust analyser as veloren is pinned to a specific nightly and had an error with the current one. I didn't look into creating an MVCE here as that seems fairly annoying, will spend a few minutes doing so rn. (failed) r? `@eddyb` cc `@bjorn3`

view details

est31

commit sha 66c1fc4c87215d6555941909996afb18eb1402ea

Move orphan module-name/mod.rs files into module-name.rs files

view details

push time in 5 days

create barnchest31/rust

branch : orphan_mod

created branch time in 6 days

pull request commentrust-lang/rust

Remove redundant 'static

The sgx platform (whose files this PR changes) is tier 2 but CI should build std at least, which is what I edited.

est31

comment created time in 6 days

PR opened rust-lang/rust

Remove redundant 'static
+14 -14

0 comment

6 changed files

pr created time in 6 days

create barnchest31/rust

branch : remove_redundant_static

created branch time in 6 days

issue closedrandombit/botan-rs

Linking failure when using vendored feature

There seems to be a linking failure on travis when I test the new botan feature to vendor sources.

Link to a failed build: https://travis-ci.com/github/est31/rcgen/jobs/391529962

Excerpt from the logs:

error: linking with `cc` failed: exit code: 1
[...]
note: /usr/bin/ld: /home/travis/build/est31/rcgen/target/debug/deps/libbotan_sys-59cd180e5db8bbbc.rlib(ffi.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC

          /home/travis/build/est31/rcgen/target/debug/deps/libbotan_sys-59cd180e5db8bbbc.rlib: error adding symbols: Bad value

          collect2: error: ld returned 1 exit status

It works locally on my machine.

closed time in 6 days

est31

issue commentrandombit/botan-rs

Linking failure when using vendored feature

Using newer ubuntu versions (18.04 instead of 16.04) fixed the issue for me: https://github.com/est31/rcgen/commit/edf1095fa460f93ac8fdc11e703fcfd2bad5c413

est31

comment created time in 6 days

push eventest31/rcgen

est31

commit sha edf1095fa460f93ac8fdc11e703fcfd2bad5c413

Try out 18.04 Specifying ubuntu 20.04 in the way I did didn't work out, it still used Ubuntu 16.04. Maybe this helps.

view details

push time in 6 days

push eventest31/rcgen

est31

commit sha 961f0ad7f368a5ff7284c8d4023eff03568f8eb4

Use Ubuntu 20.04 in .travis.yml Maybe then the botan linking error vanishes.

view details

push time in 6 days

Pull request review commentrust-lang/rust

Don't copy into arena when we had to heap allocate for iter

 impl<T> TypedArena<T> {     pub fn alloc_from_iter<I: IntoIterator<Item = T>>(&self, iter: I) -> &mut [T] {         assert!(mem::size_of::<T>() != 0);         let mut vec: SmallVec<[_; 8]> = iter.into_iter().collect();-        if vec.is_empty() {-            return &mut [];-        }-        // Move the content to the arena by copying it and then forgetting-        // the content of the SmallVec-        unsafe {-            let len = vec.len();-            let start_ptr = self.alloc_raw_slice(len);-            vec.as_ptr().copy_to_nonoverlapping(start_ptr, len);-            vec.set_len(0);-            slice::from_raw_parts_mut(start_ptr, len)+        if vec.len() <= 8 {

Could probably use a constant here.

bugadani

comment created time in 6 days

PullRequestReviewEvent

pull request commentrust-lang/rust

Don't copy into arena when we had to heap allocate for iter

@bors try

bugadani

comment created time in 6 days

push eventest31/mimas

est31

commit sha 29b160878d7fc17c6f7852e035c23bd29b7cedd9

Move ClientToServerMsg and ServerToClientMsg to protocol.rs

view details

est31

commit sha 3a3133ba035e3b3cb9498ebe7e1a9e5b3c444fe4

Move most of the client into a mimas-client crate The idea of this project that this commit starts is to enable independent server and client crates. However, for singleplayer, client and server need to be integrated. The goal is to have this integration happen in the mimas crate, while the client crate is generic on the server. This also neccessitates splitting up of the server crate to a mimas-common and mimas-server crate, where everything the client depends on is moved into the common crate.

view details

est31

commit sha a932d528ca0c68ed323a68f19e009fb6231cd302

Remove some unused dependencies from the mimas crate

view details

est31

commit sha b046660357f346313ad2164a5e102c860e5ed0a7

Split up mimas-server into mimas-common and mimas-server Most stuff is moved to mimas-common for now, but maybe we can move more into mimas-server over time.

view details

est31

commit sha f6771566ad95c15834bdcc9a106dbd6a223e0dde

Remove mimas-common/server.rs

view details

est31

commit sha dd98befd74b43dfd3e4443fb7f1fbd32aa39240c

Move game-params.toml to the server Now, modifications of game-params.toml don't recompile the entire client any more.

view details

est31

commit sha a201ab87ce19971cd2d4e31b892a2f239f48f280

Remove two unused mimas-server dependencies

view details

est31

commit sha 9102dae7f3a14073a1ec065f6ab09998fe835baa

Remove two unused dependencies from mimas-common

view details

est31

commit sha d3b2dcad4184ae2cf71947c73e7da8421cc66f8a

Move most of map_storage.rs to mimas-server

view details

push time in 6 days

push eventglium/glium

johann2

commit sha a9552ac148aeaef01a4c2b51d15a8e4bb0a210e6

Add support for glPolygonOffset (#1884) * Add support for glPolygonOffset * Revert import reordering * Fixed formatting

view details

push time in 6 days

PR merged glium/glium

Add support for glPolygonOffset
+81 -1

0 comment

2 changed files

johann2

pr closed time in 6 days

PullRequestReviewEvent

push eventest31/mimas

est31

commit sha 16265785ebcb40af12ab15a74b25635f7e6696c3

Reorder game-params.toml a bit No change in game content, mainly just collecting plant related stuff in one place.

view details

est31

commit sha 7511bae5b42f279a61f17bd87850b4b25e5519aa

Make saplings placeable

view details

est31

commit sha f5cedf7125e58936b41b4f826a7eefbb983ec874

Make placing the sapling place trees I don't like how on_place_plants_tree is so extremely specific. ideally there'd be a general system to provide callbacks on what happens when you place a tree.

view details

est31

commit sha 1ec6684d42235e1e809a657b3748fc6d99a428fc

Remove middle click tree placing and remove a sapling per placement This removes the old middle-click tree placing code. Now you have to craft a sapling for placing trees yourself.

view details

push time in 6 days

push eventest31/mimas

est31

commit sha a04f4f61519b2ee42537ddf803ae242d48991998

Add saplings as well as a way to craft them

view details

push time in 6 days

push eventest31/mimas-assets

est31

commit sha 317d00fd2f2c87002608c5b53346a99077262aaa

Add sapling texture

view details

push time in 6 days

push eventest31/rustup

est31

commit sha 26eec9add0f58a82b24fde4cae59c8859cce4f41

WIP load TLS certificates from the OS native root store

view details

est31

commit sha 6d0fc25f08963ad355ab9729ff40d728d12fa551

Default to native-tls for now Defaulting to native-tls so that users can try out the rustls mode before it's turned on by default.

view details

push time in 7 days

push eventest31/rustup

est31

commit sha c77157a87fd175bee7e7ace99309ebe4c58ff588

WIP load TLS certificates from the OS native root store

view details

est31

commit sha 7ed5cdf835be210b6aa6abbf7006ef3b0b632c28

Default to native-tls for now Defaulting to native-tls so that users can try out the rustls mode before it's turned on by default.

view details

push time in 7 days

issue commentbriansmith/ring

Compilation fails on aarch64-apple-darwin

Pr with a fix: #1055

est31

comment created time in 7 days

Pull request review commentglium/glium

Add support for glPolygonOffset

 fn sync_primitive_restart_index(ctxt: &mut context::CommandContext,      Ok(()) }++fn set_flag_enabled(ctxt: &mut context::CommandContext, cap: gl::types::GLenum, enabled: bool) {+    if enabled {+        unsafe { ctxt.gl.Enable(cap); }+    } else {+        unsafe { ctxt.gl.Disable(cap); }+    }+}++fn sync_polygon_offset(ctxt: &mut context::CommandContext, offset: PolygonOffset) {+    let (factor, units) = ctxt.state.polygon_offset;++    if factor != offset.factor || units != offset.units {
    if ctxt.state.polygon_offset != (offset.factor, offset.units) {
johann2

comment created time in 7 days

Pull request review commentglium/glium

Add support for glPolygonOffset

 pub fn sync(ctxt: &mut context::CommandContext, draw_parameters: &DrawParameters     sync_provoking_vertex(ctxt, draw_parameters.provoking_vertex)?;     sync_primitive_bounding_box(ctxt, &draw_parameters.primitive_bounding_box);     sync_primitive_restart_index(ctxt, draw_parameters.primitive_restart_index)?;-+    sync_polygon_offset(ctxt,draw_parameters.polygon_offset);

Space problem, again :).

johann2

comment created time in 7 days

Pull request review commentglium/glium

Add support for glPolygonOffset

 impl<'a> Default for DrawParameters<'a> {             provoking_vertex: ProvokingVertex::LastVertex,             primitive_bounding_box: (-1.0 .. 1.0, -1.0 .. 1.0, -1.0 .. 1.0, -1.0 .. 1.0),             primitive_restart_index: false,+            polygon_offset:Default::default(),

Same space problem.

johann2

comment created time in 7 days

Pull request review commentglium/glium

Add support for glPolygonOffset

 impl<'a> From<&'a AnySamplesPassedQuery> for SamplesQueryParam<'a> {     } } +/// Specifies the depth offset applied to rendered geometry+#[derive(Debug, Copy, Clone)]+pub struct PolygonOffset{

Please put a space between t and {. Also please put spaces between the type name and variable name. Thank you.

johann2

comment created time in 7 days

Pull request review commentglium/glium

Add support for glPolygonOffset

 pub struct DrawParameters<'a> {     /// If the backend does not support GL_PRIMITIVE_RESTART_FIXED_INDEX, an Error     /// of type `FixedIndexRestartingNotSupported` will be returned.     pub primitive_restart_index: bool,++    /// If enabled, shifts the depth value of towards of away from the camera. This is useful for+    /// drawing decals and wireframes, for example.+    pub polygon_offset:PolygonOffset,
    pub polygon_offset: PolygonOffset,
johann2

comment created time in 7 days

Pull request review commentglium/glium

Add support for glPolygonOffset

 impl Default for GlState {             transform_feedback_enabled: None,             transform_feedback_paused: false,             primitive_bounding_box: (-1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0),+            polygon_offset:(0.0,0.0),
            polygon_offset:(0.0, 0.0),
johann2

comment created time in 7 days

PullRequestReviewEvent
PullRequestReviewEvent

pull request commentseanmonstar/reqwest

Add cargo features to control root certs of the rustls backend

Should be ready now for review.

est31

comment created time in 7 days

push eventest31/rustup

est31

commit sha 26eec9add0f58a82b24fde4cae59c8859cce4f41

WIP load TLS certificates from the OS native root store

view details

est31

commit sha 6d0fc25f08963ad355ab9729ff40d728d12fa551

Default to native-tls for now Defaulting to native-tls so that users can try out the rustls mode before it's turned on by default.

view details

push time in 7 days

push eventest31/rustup

est31

commit sha 5bdc13a076bf1c96f45e89bffcbbbb2310787f96

Re-add rustls support and enable it by default rustls is seen as mature enough for curl to depend on it optionally, and it recently has had an audit. This commit adds back rustls support removed by 86bb1850b2c6c6fa7cf4bbfb2e2d50f0833f0127 and enables it by default. You can opt out of rustls use by setting the RUSTUP_AVOID_RUSTLS env variable.

view details

est31

commit sha e7ce29c6e7b0eedfb3cc2f1d3216fa3049a251d9

WIP load TLS certificates from the OS native root store

view details

est31

commit sha 84b2962700274412122be2ab84099d8ec6eb0eb2

Default to native-tls for now Defaulting to native-tls so that users can try out the rustls mode before it's turned on by default.

view details

push time in 7 days

issue closedest31/warnalyzer

Try on rustc

Might be fun to find out how much of rustc is actually unused.

closed time in 7 days

bjorn3

issue commentest31/warnalyzer

Try on rustc

https://github.com/rust-lang/rust/pull/77739 is merged, closing.

bjorn3

comment created time in 7 days

pull request commentseanmonstar/reqwest

Add more cargo features to control the chosen roots

@seanmonstar in general, more certs in root store == ability to connect to more websites. It might be important for some users to have precise control over the root store.

For them it might be helpful to have a with_rustls_root_store(store: RootStore) function on the client builder with an enum like this:

pub enum RootStore {
    #[cfg(...)]
    WebpkiRoots,
    #[cfg(...)]
    NativeRoots,
    // Always available
    ManualRoots,
    // Always available
    Default,
}

where Default is the current behaviour of this PR, ManualRoots disables any preloading of roots, and the two other options use their respective sources as sole source. The custom roots added by users would still extend that basic root store. I can add such a function to the PR if wanted, but note that it's not needed for rustup as they always want to use the native cert store.

est31

comment created time in 7 days

push eventest31/reqwest

est31

commit sha 8b6b4a2ffd9a176a10e7edfa2fce5a11bfcd41ed

Add a rustls-tls-native-roots feature Adds an optional cargo feature to load certificates from the OS native certificate store.

view details

push time in 7 days

push eventest31/reqwest

est31

commit sha 92f3b0516485225bfed47beade5388f64e7f6c80

Add rustls-tls-manual-roots feature to allow callers to specify roots Now, callers have more control over the set of roots. Note that, due to cargo unification, other dependencies in the dependency tree might enable rustls-tls-webpki-roots or rustls-tls. This will affect connections initiated by code that explicitly enabled rustls-tls-manual-roots. So for now, the choice is done once per entire cargo dependency graph. If people want more precise control over things, they can add methods that allow controlling this on a per-connection level. Even if such methods are available, the *-manual-roots feature will still be helpful with eliminating the webpki-roots dependency for those cargo graphs where there is no unification.

view details

est31

commit sha bdec612b59f1ab29213842e186a07915de847070

Add a rustls-tls-native-roots feature Adds an optional cargo feature to load certificates from the OS native certificate store.

view details

push time in 7 days

push eventest31/reqwest

est31

commit sha 3d841ee12b1da5d720def2bbd61ad9bf1d09c7f0

Add rustls-tls-manual-roots feature to allow callers to specify roots Now, callers have more control over the set of roots. Note that, due to cargo unification, other dependencies in the dependency tree might enable rustls-tls-webpki-roots or rustls-tls. This will affect connections initiated by code that explicitly enabled rustls-tls-manual-roots. So for now, the choice is done once per entire cargo dependency graph. If people want more precise control over things, they can add methods that allow controlling this on a per-connection level. Even if such methods are available, the *-manual-roots feature will still be helpful with eliminating the webpki-roots dependency for those cargo graphs where there is no unification.

view details

est31

commit sha 3a30bf7099bb31db96304f4331f40c6d89f10a2b

Add a rustls-tls-native-roots feature Adds an optional cargo feature to load certificates from the OS native certificate store.

view details

push time in 7 days

issue openedbriansmith/ring

Compilation fails on aarch64-apple-darwin

I noticed it in the CI output of https://github.com/rust-lang/rustup/pull/2517 :

  running "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-arch" "arm64" "-I" "include" "-Wall" "-Wextra" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-gfull" "-DNDEBUG" "-c" "-o/Users/runner/work/rustup/rustup/target/aarch64-apple-darwin/release/build/ring-fcf530fe8716448c/out/aesv8-armx-linux64.o" "/Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S"
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:18:17: error: unexpected token in '.section' directive
  .section .rodata
                  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:28:1: error: unknown directive
  .hidden GFp_aes_hw_set_encrypt_key
  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:29:1: error: unknown directive
  .type GFp_aes_hw_set_encrypt_key,%function
  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:161:1: error: unknown directive
  .size GFp_aes_hw_set_encrypt_key,.-GFp_aes_hw_set_encrypt_key
  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:163:1: error: unknown directive
  .hidden GFp_aes_hw_encrypt
  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:164:1: error: unknown directive
  .type GFp_aes_hw_encrypt,%function
  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:191:1: error: unknown directive
  .size GFp_aes_hw_encrypt,.-GFp_aes_hw_encrypt
  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:193:1: error: unknown directive
  .hidden GFp_aes_hw_decrypt
  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:194:1: error: unknown directive
  .type GFp_aes_hw_decrypt,%function
  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:221:1: error: unknown directive
  .size GFp_aes_hw_decrypt,.-GFp_aes_hw_decrypt
  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:223:1: error: unknown directive
  .hidden GFp_aes_hw_ctr32_encrypt_blocks
  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:224:1: error: unknown directive
  .type GFp_aes_hw_ctr32_encrypt_blocks,%function
  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:403:1: error: unknown directive
  .size GFp_aes_hw_ctr32_encrypt_blocks,.-GFp_aes_hw_ctr32_encrypt_blocks
  ^
  /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/pregenerated/aesv8-armx-linux64.S:407:19: error: unexpected token in '.section' directive
  .section .note.GNU-stack,"",%progbits
                    ^
  thread 'main' panicked at 'execution failed', /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.15/build.rs:664:9

cc @shepmaster

created time in 7 days

pull request commentseanmonstar/reqwest

Add more cargo features to control the chosen roots

@seanmonstar yeah that's the behaviour. Is it a problem? Root certificates are as additive as cargo features are.

est31

comment created time in 7 days

push eventest31/rustup

Jake Goulding

commit sha 994eaf3d805b3739f01d4fbc56cbcff81a72b703

Update to latest version of cc

view details

Jake Goulding

commit sha c82687490e34f51ad3fd4dcfd5c0a1edff84547f

Update to latest version of libc

view details

Jake Goulding

commit sha 87e5206e7d534680e3fe6cc7401e7f08d87175ab

Update to latest version of libz

view details

Jake Goulding

commit sha 32a6b9e39c1a049b840433f973de0c1ba21caa14

Update to latest version of openssl-src

view details

Jake Goulding

commit sha b46366ec690d890b2651dfff250d6de5db4137ee

Build for aarch64-apple-darwin

view details

Daniel Silverstone

commit sha df32486f5b4dcab85fcbbe8d0019aa50a5f9e5b0

Merge pull request #2521 from shepmaster/aarch64-apple-darwin Build for aarch64-apple-darwin

view details

est31

commit sha be7dcce8ceabd291ce4f3232bd95867c19e09ed9

Re-add rustls support and enable it by default rustls is seen as mature enough for curl to depend on it optionally, and it recently has had an audit. This commit adds back rustls support removed by 86bb1850b2c6c6fa7cf4bbfb2e2d50f0833f0127 and enables it by default. You can opt out of rustls use by setting the RUSTUP_AVOID_RUSTLS env variable.

view details

est31

commit sha 7fb4e77bc8d1115736e5fea0453f23de0fea6fbf

WIP load TLS certificates from the OS native root store

view details

push time in 8 days

pull request commentrust-lang/rustup

Re-add rustls support and enable it by default

Ok this should be the reqwest change: https://github.com/seanmonstar/reqwest/pull/1058

Ignore the rustls-native-roots PR. It won't be required to switch rustup to rustls.

I've updated this PR to use my reqwest fork so that users can test this PR.

@kinnison do you know the users with a proxy setup that relies on OS native certificates? Could you maybe ask them to try this PR whether there is any regression for them?

Should rustls maybe not be enabled by default for now to enable a testing phase?

est31

comment created time in 8 days

push eventest31/rustup

est31

commit sha 8be22666b1262b1e4e8428335b2d6b7f841014f9

WIP load TLS certificates from the OS native root store

view details

push time in 8 days

PR opened seanmonstar/reqwest

Add more cargo features to control the chosen roots

This PR adds three new public cargo features:

  • rustls-tls-webpki-roots: equivalent to rustls-tls and using the webpki-roots crate to obtain the root certificates.
  • rustls-tls-native-roots: using the rustls-native-certs crate to obtain root certificates.
  • rustls-tls-manual-roots: enabling only raw rustls support without setting any root certificates. Users have to set them manually, or unify with a crate that enables one of the builtin root certificate features.

Furthermore a private cargo feature __rustls is added that is equivalent with rustls-tls-manual-roots but shorter to type :).

I'm filing this PR because ability to load OS native roots is a blocker for rustup's adoption of rustls (see https://github.com/rust-lang/rustup/pull/2517#issuecomment-709899351). Currently, the public API of reqwest is incompatible with using rustls-native-certs from the outside, and even if it were possible to use it, something like rustls-tls-manual-roots would be needed to turn off webpki-roots loading.

+85 -54

0 comment

9 changed files

pr created time in 8 days

create barnchest31/reqwest

branch : rustls-roots

created branch time in 8 days

issue commentctz/rustls-native-certs

Consider using non-rustls types in the API

#12

Ralith

comment created time in 8 days

push eventest31/rustls-native-certs

ctz

commit sha 3fba03ffa13525456e6017d727d6b83b94f18a29

Merge pull request #10 from Keruspe/main Update dependencies

view details

Joseph Birr-Pixton

commit sha 3e97326a0998d526bf7782fd03be96e5adcac39d

Prepare 0.4.0

view details

est31

commit sha ac2dcf30d1bdc17630da53e2ea1ac422506f06d0

Front the load_native_certs function in lib.rs This saves some duplication in rustdoc.

view details

est31

commit sha 40a03f2a7e62fa2bb8d5c09a15d5ee5877a0daf7

Add a lower level build_native_certs function This function lets people use their own root certificate parsing routines, independently from what rustls provides.

view details

est31

commit sha a006022d2544f96e95b72148966c02e2e978ce80

Make the rustls dependency optional This commit puts the load_native_certs function behind a cargo feature that's turned on by default. Fixes #2

view details

push time in 8 days

push eventest31/rustls-native-certs

Joseph Birr-Pixton

commit sha 87b12839aa2fda1d7441dbcf59976fb74634fb57

Prepare 0.4.0

view details

est31

commit sha 8e23c7d19bb776b71de47f721f56726903d4c60a

Front the load_native_certs function in lib.rs This saves some duplication in rustdoc.

view details

est31

commit sha fc75e523d7d9413505ac93340d0b2d19ff6b04a9

Add a lower level build_native_certs function This function lets people use their own root certificate parsing routines, independently from what rustls provides.

view details

est31

commit sha fd5e8f0c415e6a1ef6e43abfc3a08db98db41bc8

Make the rustls dependency optional This commit puts the load_native_certs function behind a cargo feature that's turned on by default. Fixes #2

view details

push time in 8 days

push eventest31/rustls-native-certs

est31

commit sha 6565fce43cf04d2727c9941c6ba21e1b6cbdae5a

Add a lower level build_native_certs function This function lets people use their own root certificate parsing routines, independently from what rustls provides.

view details

est31

commit sha 4bf9cf87c84eb289f863eb1b14ee0dc59f033d80

Make the rustls dependency optional This commit puts the load_native_certs function behind a cargo feature that's turned on by default. Fixes #2

view details

push time in 8 days

push eventest31/rustls-native-certs

est31

commit sha f3093b4ed0526c2fa50bd38f148e0324fe4100c7

WIP

view details

push time in 8 days

Pull request review commentrust-lang/rust

TypedArena: Eliminate intermediate copy if Iterator size is known

 impl<T> Default for TypedArena<T> {     } } +trait IterExt<I, T> {+    fn write_to_arena(iter: I, arena: &TypedArena<T>) -> &mut [T];+}++impl<T, I> IterExt<I, T> for I+where+    I: Iterator<Item = T>,+{+    #[inline]+    default fn write_to_arena(iter: I, arena: &TypedArena<T>) -> &mut [T] {+        arena.alloc_from_iter_gen(iter)+    }+}++impl<T, I> IterExt<I, T> for I+where+    I: Iterator<Item = T> + TrustedLen,+{+    #[inline]+    fn write_to_arena(mut iter: I, arena: &TypedArena<T>) -> &mut [T] {+        let size_hint = iter.size_hint();++        match size_hint {+            (0, Some(_)) => &mut [],+            (len, Some(_)) => {+                // no need to check min == max because of TrustedLen++                // SAFETY: TrustedLen implementors must ensure they return exactly as many+                // elements as they tell via `size_hint()`.+                unsafe {+                    // We know the exact number of elements the iterator will produce here+                    let start_addr = arena.alloc_raw_slice(len);+                    let mut mem = start_addr;++                    while let Some(value) = iter.next() {

As a last attempt to salvage this PR, the dropping arena could get a Vec<Vec<T>> member that is used instead of the chunks when given an iterator. Then we can simply put the temporary vec that the pre-PR iterator code creates into that list and don't have to copy stuff into the chunk. We already have to pay the cost of deallocating the Vec anyways, all we do is move it into the future. This bloats up the structures of the native allocator and destroys cache locality, but might be worth a try.

bugadani

comment created time in 8 days

PullRequestReviewEvent

Pull request review commentrust-lang/rust

TypedArena: Eliminate intermediate copy if Iterator size is known

 impl<T> Default for TypedArena<T> {     } } +trait IterExt<I, T> {+    fn write_to_arena(iter: I, arena: &TypedArena<T>) -> &mut [T];+}++impl<T, I> IterExt<I, T> for I+where+    I: Iterator<Item = T>,+{+    #[inline]+    default fn write_to_arena(iter: I, arena: &TypedArena<T>) -> &mut [T] {+        arena.alloc_from_iter_gen(iter)+    }+}++impl<T, I> IterExt<I, T> for I+where+    I: Iterator<Item = T> + TrustedLen,+{+    #[inline]+    fn write_to_arena(mut iter: I, arena: &TypedArena<T>) -> &mut [T] {+        let size_hint = iter.size_hint();++        match size_hint {+            (0, Some(_)) => &mut [],+            (len, Some(_)) => {+                // no need to check min == max because of TrustedLen++                // SAFETY: TrustedLen implementors must ensure they return exactly as many+                // elements as they tell via `size_hint()`.+                unsafe {+                    // We know the exact number of elements the iterator will produce here+                    let start_addr = arena.alloc_raw_slice(len);+                    let mut mem = start_addr;++                    while let Some(value) = iter.next() {

@bugadani oh right. That's super weird though because then what's the benefit of TrustedLen over ExactSizeIterator?

bugadani

comment created time in 8 days

PullRequestReviewEvent

pull request commentrust-lang/rustup

Re-add rustls support and enable it by default

https://github.com/ctz/rustls-native-certs/pull/12

est31

comment created time in 8 days

push eventest31/rustls-native-certs

est31

commit sha ec25593b710df9a0939be37f031fe39286a6b597

WIP

view details

push time in 8 days

PR opened ctz/rustls-native-certs

Raw certs

Fixes #2

WIP PR opened to get CI feedback

+70 -64

0 comment

5 changed files

pr created time in 8 days

pull request commentrust-lang/rustup

Re-add rustls support and enable it by default

@kinnison yes, an update would be needed to get newer root certificates. I think there is no way around a mode for using the OS certificate store.

est31

comment created time in 8 days

Pull request review commentrust-lang/rust

TypedArena: Eliminate intermediate copy if Iterator size is known

 impl<T> Default for TypedArena<T> {     } } +trait IterExt<I, T> {+    fn write_to_arena(iter: I, arena: &TypedArena<T>) -> &mut [T];+}++impl<T, I> IterExt<I, T> for I+where+    I: Iterator<Item = T>,+{+    #[inline]+    default fn write_to_arena(iter: I, arena: &TypedArena<T>) -> &mut [T] {+        arena.alloc_from_iter_gen(iter)+    }+}++impl<T, I> IterExt<I, T> for I+where+    I: Iterator<Item = T> + TrustedLen,+{+    #[inline]+    fn write_to_arena(mut iter: I, arena: &TypedArena<T>) -> &mut [T] {+        let size_hint = iter.size_hint();++        match size_hint {+            (0, Some(_)) => &mut [],+            (len, Some(_)) => {+                // no need to check min == max because of TrustedLen++                // SAFETY: TrustedLen implementors must ensure they return exactly as many+                // elements as they tell via `size_hint()`.+                unsafe {+                    // We know the exact number of elements the iterator will produce here+                    let start_addr = arena.alloc_raw_slice(len);+                    let mut mem = start_addr;++                    while let Some(value) = iter.next() {

Yeah but the code that's one level deeper only tracks in continuous chunks. We'd have to start a new chunk for each iterator call, and the chunks are meant to be huge. Either we waste a lot of memory, or we allocate tons of chunks, neither is really good or about what an arena allocator is supposed to be.

bugadani

comment created time in 8 days

more