profile
viewpoint

http-rs/surf 918

Fast and friendly HTTP client framework for async Rust

Lokathor/tinyvec 206

Just, really the littlest Vec you could need. So smol.

Nemo157/async-compression 116

Adaptors between compression crates and Rust's async IO types

mycorrhiza/bs58-rs 19

Another Rust Base58 codec implementation

mycorrhiza/varmint-rs 5

A Rust implementation of the varint codec as used in Google's Protocol Buffers.

mycorrhiza/ipfsdc-rs 2

An IPFS (ipfs.io) daemon command line client

startedNemo157/async-compression

started time in 2 hours

issue commentrust-lang/docs.rs

Add support for multiple sitemaps

Rather than guessing, you can just read the source ;)

https://github.com/rust-lang/docs.rs/blob/master/src/web/sitemap.rs#L27

The difference is that docs.rs doesn't include crates that failed to build in the sitemap.

jsha

comment created time in 5 hours

issue commentrust-lang/docs.rs

Add support for multiple sitemaps

Out of those 50k, how many of them have their latest version yanked?

(I expect not have crates in the site map where the latest published version is yanked)

jsha

comment created time in 5 hours

issue commentrust-lang/docs.rs

Add support for multiple sitemaps

Hmm, that sounds like the sitemap is buggy:

cratesfyi=> select count(*) from crates;
 count 
-------
 50938
jsha

comment created time in 6 hours

issue commentrust-lang/docs.rs

Add support for multiple sitemaps

I saw an announcement today that crates.io had reached 50,000 crates: https://twitter.com/rustlang/status/1331020962628767748. That made me think of this issue again. The sitemap is still only at 41,617 URLs, though. Purely out of curiosity, any idea why the discrepancy?

jsha

comment created time in 6 hours

pull request commentrust-lang/futures-rs

Add Shared::ready method to create a shared future that is immediately ready.

But if this is a controversial addition, I was able to make a separate abstraction that achieved what was desired. I do think there's no harm in allowing people to directly create Shared in each of its possible states.

afranchuk

comment created time in 16 hours

pull request commentrust-lang/futures-rs

Add Shared::ready method to create a shared future that is immediately ready.

Sorry, what I meant was that I saw the commit for WeakShared mentions the use case of having a cache of stored Shared, and being able to create ready Shared instances in a cache is also useful (as that is what I need it for). So only very loosely related to WeakShared, more related to their example use case.

afranchuk

comment created time in 16 hours

pull request commentrust-lang/futures-rs

feat: Add sink::from_fn

https://github.com/rust-lang/futures-rs/pull/2268

Marwes

comment created time in 18 hours

PR opened rust-lang/futures-rs

feat: Add sink::unfold

A more general function than from_fn (#2254), as suggested in https://github.com/rust-lang/futures-rs/pull/2254#issuecomment-731860678

+174 -37

0 comment

4 changed files

pr created time in 18 hours

startedNemo157/async-compression

started time in a day

issue openedsaulius/croaring-rs

failed to build on macOS 11.0.1 (Big Sur)

It seems like a clang issue, any idea on how to solve this?

error: failed to run custom build command forcroaring-sys v0.4.5`

Caused by: process didn't exit successfully: /Users/ming/work/play-rust/influxdb_iox/target/debug/build/croaring-sys-1ba99382f57c2a0e/build-script-build (exit code: 101) --- stdout TARGET = Some("x86_64-apple-darwin") OPT_LEVEL = Some("0") HOST = Some("x86_64-apple-darwin") CC_x86_64-apple-darwin = None CC_x86_64_apple_darwin = None HOST_CC = None CC = None CFLAGS_x86_64-apple-darwin = None CFLAGS_x86_64_apple_darwin = None HOST_CFLAGS = None CFLAGS = None CRATE_CC_NO_DEFAULTS = None DEBUG = Some("true") CARGO_CFG_TARGET_FEATURE = Some("cmpxchg16b,fxsr,sse,sse2,sse3,ssse3") CC_x86_64-apple-darwin = None CC_x86_64_apple_darwin = None HOST_CC = None CC = None CFLAGS_x86_64-apple-darwin = None CFLAGS_x86_64_apple_darwin = None HOST_CFLAGS = None CFLAGS = None CRATE_CC_NO_DEFAULTS = None CARGO_CFG_TARGET_FEATURE = Some("cmpxchg16b,fxsr,sse,sse2,sse3,ssse3") running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-arch" "x86_64" "-Wall" "-Wextra" "-march=native" "-o" "/Users/ming/work/play-rust/influxdb_iox/target/debug/build/croaring-sys-0acda869f1d2a874/out/CRoaring/roaring.o" "-c" "CRoaring/roaring.c" exit code: 0 AR_x86_64-apple-darwin = None AR_x86_64_apple_darwin = None HOST_AR = None AR = None running: "ar" "crs" "/Users/ming/work/play-rust/influxdb_iox/target/debug/build/croaring-sys-0acda869f1d2a874/out/libroaring.a" "/Users/ming/work/play-rust/influxdb_iox/target/debug/build/croaring-sys-0acda869f1d2a874/out/CRoaring/roaring.o" exit code: 0 cargo:rustc-link-lib=static=roaring cargo:rustc-link-search=native=/Users/ming/work/play-rust/influxdb_iox/target/debug/build/croaring-sys-0acda869f1d2a874/out cargo:warning=couldn't execute llvm-config --prefix (error: No such file or directory (os error 2)) cargo:warning=set the LLVM_CONFIG_PATH environment variable to the full path to a valid llvm-config executable (including the executable itself)

--- stderr /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avxintrin.h:4777:10: error: invalid conversion between vector type '__m256' (vector of 8 'float' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avxintrin.h:4805:10: error: invalid conversion between vector type '__m256d' (vector of 4 'double' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avxintrin.h:4830:10: error: invalid conversion between vector type '__m256i' (vector of 4 'long long' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avxintrin.h:4859:12: error: invalid conversion between vector type '__m128' (vector of 4 'float' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avxintrin.h:4888:12: error: invalid conversion between vector type '__m128d' (vector of 2 'double' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avxintrin.h:4917:12: error: invalid conversion between vector type '__m128i' (vector of 2 'long long' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:36:10: error: invalid conversion between vector type '__m128' (vector of 4 'float' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:42:10: error: invalid conversion between vector type '__m128d' (vector of 2 'double' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:60:10: error: invalid conversion between vector type '__m128' (vector of 4 'float' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:66:10: error: invalid conversion between vector type '__m128d' (vector of 2 'double' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:84:10: error: invalid conversion between vector type '__m128' (vector of 4 'float' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:90:10: error: invalid conversion between vector type '__m128d' (vector of 2 'double' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:108:10: error: invalid conversion between vector type '__m128' (vector of 4 'float' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:114:10: error: invalid conversion between vector type '__m128d' (vector of 2 'double' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avx512fintrin.h:956:10: error: invalid conversion between vector type '__m512d' (vector of 8 'double' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avx512fintrin.h:993:10: error: invalid conversion between vector type '__m512' (vector of 16 'float' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avx512fintrin.h:1089:10: error: invalid conversion between vector type '__m512i' (vector of 8 'long long' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avx512fintrin.h:1111:10: error: invalid conversion between vector type '__m512i' (vector of 8 'long long' values) and integer type 'int' of different size /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avx512fintrin.h:1133:10: error: invalid conversion between vector type '__m512i' (vector of 8 'long long' values) and integer type 'int' of different size fatal error: too many errors emitted, stopping now [-ferror-limit=] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avxintrin.h:4777:10: error: invalid conversion between vector type '__m256' (vector of 8 'float' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avxintrin.h:4805:10: error: invalid conversion between vector type '__m256d' (vector of 4 'double' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avxintrin.h:4830:10: error: invalid conversion between vector type '__m256i' (vector of 4 'long long' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avxintrin.h:4859:12: error: invalid conversion between vector type '__m128' (vector of 4 'float' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avxintrin.h:4888:12: error: invalid conversion between vector type '__m128d' (vector of 2 'double' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avxintrin.h:4917:12: error: invalid conversion between vector type '__m128i' (vector of 2 'long long' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:36:10: error: invalid conversion between vector type '__m128' (vector of 4 'float' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:42:10: error: invalid conversion between vector type '__m128d' (vector of 2 'double' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:60:10: error: invalid conversion between vector type '__m128' (vector of 4 'float' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:66:10: error: invalid conversion between vector type '__m128d' (vector of 2 'double' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:84:10: error: invalid conversion between vector type '__m128' (vector of 4 'float' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:90:10: error: invalid conversion between vector type '__m128d' (vector of 2 'double' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:108:10: error: invalid conversion between vector type '__m128' (vector of 4 'float' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/fmaintrin.h:114:10: error: invalid conversion between vector type '__m128d' (vector of 2 'double' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avx512fintrin.h:956:10: error: invalid conversion between vector type '__m512d' (vector of 8 'double' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avx512fintrin.h:993:10: error: invalid conversion between vector type '__m512' (vector of 16 'float' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avx512fintrin.h:1089:10: error: invalid conversion between vector type '__m512i' (vector of 8 'long long' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avx512fintrin.h:1111:10: error: invalid conversion between vector type '__m512i' (vector of 8 'long long' values) and integer type 'int' of different size, err: true /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/avx512fintrin.h:1133:10: error: invalid conversion between vector type '__m512i' (vector of 8 'long long' values) and integer type 'int' of different size, err: true fatal error: too many errors emitted, stopping now [-ferror-limit=], err: true thread 'main' panicked at 'Unable to generate bindings: ()', /Users/ming/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-df7c3c540f42cdbd/croaring-sys-0.4.5/build.rs:24:10 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace`

created time in a day

issue commentrust-lang/futures-rs

Adding Write::write_fmt counterpart in futures::io::AsyncWriteExt?

If this is always worse than write_all(format!(...)), I don't want to add this. Also, I don't want to add something like our own fmt::Arguments.

vincenthouyi

comment created time in a day

issue closedrust-lang/futures-rs

Error: expected opaque type, found a different opaque; but both are impl futures::Future

Currently while trying to join several futures from a vector using join_all I get this error

error[E0308]: mismatched types
  --> src\servicios\oportunidades\listar.rs:26:3
   |
26 |         obtener_anios(),
   |         ^^^^^^^^^^^^^^^ expected opaque type, found a different opaque type
   | 
  ::: src\dao\parametros.rs:79:33
   |
79 | pub async fn obtener_anios() -> Result<Vec<ParametroReturn>, DatabaseError> {
   |                                 ------------------------------------------- the `Output` of this `async fn`'s found opaque type
   |
   = note:     expected type `impl futures::Future` (opaque type at <src\dao\parametros.rs:75:33>)
           found opaque type `impl futures::Future` (opaque type at <src\dao\parametros.rs:79:33>)
   = help: consider `await`ing on both `Future`s
   = note: distinct uses of `impl Trait` result in different opaque types

The code:

let result: Vec<Result<Vec<ParametroReturn>, DatabaseError>> = join_all(vec![
		obtener_meses(),
		obtener_anios(),
		obtener_estado_base(),
		obtener_fuente_financiamento(),
		obtener_tipo_oportunidad(),
		obtener_solicitante(),
		obtener_rol_care(),
		obtener_probabilidad(),
		obtener_clasificacion_ingreso(),
		obtener_origen_oportunidad(),
		obtener_tipo_ingreso(),
		obtener_eje_programatico(),
		obtener_moneda_donante(),
		obtener_estado_propuesta(),
		obtener_tipo_donante(),
		obtener_donante_general(),
		obtener_usuarios_punto_focal_tecnico(),
		obtener_usuarios_apoyo_disenno_formulacion(),
		obtener_usuarios_analista_financiero(),
	])
	.await;

The functions are

pub async fn obtener_meses() -> Result<Vec<ParametroReturn>, DatabaseError> {
	obtener_parametro_base!("MES");
}

pub async fn obtener_anios() -> Result<Vec<ParametroReturn>, DatabaseError> {
	obtener_parametro_base!("ANIO");
}

pub async fn obtener_estado_base() -> Result<Vec<ParametroReturn>, DatabaseError> {
	obtener_parametro_base!("ESTADO_BASE");
}
macro_rules! obtener_parametro_base {
	($tipo:literal) => {{
		let client = POOL.get().await?;

		trace!("Query a hacer para obtener_combo_mes: {}", QUERY.to_string());
		let statement: Statement = client.prepare(&QUERY).await?;
		let response: Vec<Row> = client.query(&statement, &[&$tipo.to_string()]).await?;
		let parametros_db: Vec<XsSipParametro> = transformar_row_a_parametro_completo(response)?;

		let parametro_respuesta: Vec<ParametroReturn> = parametros_db
			.into_iter()
			.map(ParametroReturn::from_parametro)
			.collect::<Vec<ParametroReturn>>();

		return Ok(parametro_respuesta);
		}};
}

creates: actix-web = { version = "3.2.0", features = ["rustls", "secure-cookies", "compress"] } actix-rt = "1.1.1" futures ="0.3.8"

Using rust version 1.50.0-nightly (da3846948 2020-11-21)

closed time in a day

arlllk

issue commentrust-lang/futures-rs

Error: expected opaque type, found a different opaque; but both are impl futures::Future

This is due to the nature of impl trait (opaque type). The futures returned by each async fn are actually different types, even though the signatures look the same. You need to box each future by using Box::pin.

arlllk

comment created time in a day

pull request commentrust-lang/futures-rs

Add Shared::ready method to create a shared future that is immediately ready.

If you are storing Shared to be reused (much along the same lines as the recent commit that adds the Weak Shared references), this makes a difference in allowing you to peek without having ever awaited the value in an async context.

I'm not sure how the reuse of Shared is related to WeakShared. (WeakShared is a weak ptr to the Shared that downgraded. Replacing the original Shared with the new Shared does not update the value of cloned Shared and downgraded WeakShared.)

If you need the ability to keep updating shared values, tokio::sync::watch is probably the right solution.

afranchuk

comment created time in a day

pull request commentrust-lang/futures-rs

feat: Add sink::from_fn

I have no objection to adding a way to convert impl Fn* -> impl Future to Sink, as sink doesn't currently have an API to do it.

However, I'm not clear if this implementation is preferred. We tried to add something similar to stream (https://github.com/rust-lang/futures-rs/issues/1609 https://github.com/rust-lang/futures-rs/pull/1842), but we decided that it would be preferable to provide only unfold due to the limitations of async closure.

So, I'm starting to feel that adding an API like unfold that passes the state separately from the closure is better. @Marwes @Nemo157 Any thought?

Marwes

comment created time in a day

issue openedrust-lang/futures-rs

Error: expected opaque type, found a different opaque; but both are impl futures::Future

Currently while trying to join several futures from a vector using join_all I get this error

error[E0308]: mismatched types
  --> src\servicios\oportunidades\listar.rs:26:3
   |
26 |         obtener_anios(),
   |         ^^^^^^^^^^^^^^^ expected opaque type, found a different opaque type
   | 
  ::: src\dao\parametros.rs:79:33
   |
79 | pub async fn obtener_anios() -> Result<Vec<ParametroReturn>, DatabaseError> {
   |                                 ------------------------------------------- the `Output` of this `async fn`'s found opaque type
   |
   = note:     expected type `impl futures::Future` (opaque type at <src\dao\parametros.rs:75:33>)
           found opaque type `impl futures::Future` (opaque type at <src\dao\parametros.rs:79:33>)
   = help: consider `await`ing on both `Future`s
   = note: distinct uses of `impl Trait` result in different opaque types

The code:

let result: Vec<Result<Vec<ParametroReturn>, DatabaseError>> = join_all(vec![
		obtener_meses(),
		obtener_anios(),
		obtener_estado_base(),
		obtener_fuente_financiamento(),
		obtener_tipo_oportunidad(),
		obtener_solicitante(),
		obtener_rol_care(),
		obtener_probabilidad(),
		obtener_clasificacion_ingreso(),
		obtener_origen_oportunidad(),
		obtener_tipo_ingreso(),
		obtener_eje_programatico(),
		obtener_moneda_donante(),
		obtener_estado_propuesta(),
		obtener_tipo_donante(),
		obtener_donante_general(),
		obtener_usuarios_punto_focal_tecnico(),
		obtener_usuarios_apoyo_disenno_formulacion(),
		obtener_usuarios_analista_financiero(),
	])
	.await;

The functions are

pub async fn obtener_meses() -> Result<Vec<ParametroReturn>, DatabaseError> {
	obtener_parametro_base!("MES");
}

pub async fn obtener_anios() -> Result<Vec<ParametroReturn>, DatabaseError> {
	obtener_parametro_base!("ANIO");
}

pub async fn obtener_estado_base() -> Result<Vec<ParametroReturn>, DatabaseError> {
	obtener_parametro_base!("ESTADO_BASE");
}
macro_rules! obtener_parametro_base {
	($tipo:literal) => {{
		let client = POOL.get().await?;

		trace!("Query a hacer para obtener_combo_mes: {}", QUERY.to_string());
		let statement: Statement = client.prepare(&QUERY).await?;
		let response: Vec<Row> = client.query(&statement, &[&$tipo.to_string()]).await?;
		let parametros_db: Vec<XsSipParametro> = transformar_row_a_parametro_completo(response)?;

		let parametro_respuesta: Vec<ParametroReturn> = parametros_db
			.into_iter()
			.map(ParametroReturn::from_parametro)
			.collect::<Vec<ParametroReturn>>();

		return Ok(parametro_respuesta);
		}};
}

creates: actix-web = { version = "3.2.0", features = ["rustls", "secure-cookies", "compress"] } actix-rt = "1.1.1" futures ="0.3.8"

Using rust version 1.50.0-nightly (da3846948 2020-11-21)

created time in a day

startedNemo157/cargo-lichking

started time in a day

push eventrust-lang/docs.rs

Joshua Nelson

commit sha 31c864e5d610ce7e8b093299025ad3e95ad56a53

Add a way to not build tier one targets by default This is still opt-in and off by default. However, it's useful for local development and custom registries.

view details

push time in a day

PR merged rust-lang/docs.rs

Add a way to not build tier one targets by default A-builds C-enhancement S-waiting-on-review

This is still opt-in and off by default. However, it's useful for local development and custom registries.

This is all of https://github.com/rust-lang/docs.rs/pull/532 except for actually switching it on. It does turn it on for local development, so that builds will be faster.

r? @pietroalbini cc @l4l

+38 -18

5 comments

4 changed files

jyn514

pr closed time in a day

push eventrust-lang/docs.rs

Joshua Nelson

commit sha 1c23b8724f865e347169e406f48df38dd10a7f56

Remove --verbose when building with cargo This causes the logs to be too large and get truncated.

view details

push time in a day

PR merged rust-lang/docs.rs

Remove --verbose when building with cargo

This causes the logs to be too large and get truncated.

r? @Nemo157

+0 -2

1 comment

1 changed file

jyn514

pr closed time in a day

PR opened rust-lang/docs.rs

Remove --verbose when building with cargo

This causes the logs to be too large and get truncated.

r? @Nemo157

+0 -2

0 comment

1 changed file

pr created time in a day

push eventrust-lang/docs.rs

Joshua Nelson

commit sha da2d33ffec0d5009bf0cf0f266123d49093d3a33

Fix benchmarks - compression just needed to use the new crate name - `html_parsing` no longer makes sense, since we aren't parsing+serializing the HTML page. Rather than rewriting it from scratch, just remove it for now.

view details

Joshua Nelson

commit sha 14f5e38898c47696adfdd5e3589e5828e6bcdb47

Run clippy on all targets This catches compile errors in the benchmarks.

view details

push time in a day

PR merged rust-lang/docs.rs

Fix benchmarks S-waiting-on-deploy
  • compression just needed to use the new crate name
  • html_parsing no longer makes sense, since we aren't parsing+serializing the HTML page. Rather than rewriting it from scratch, just remove it for now.

r? @Kixiron

+7 -26

3 comments

6 changed files

jyn514

pr closed time in a day

push eventrust-lang/docs.rs

Joshua Nelson

commit sha f762204624eff471c7ebf3ef28e482157077f06a

Use `-Z rustdoc-map` instead of rewriting it

view details

Joshua Nelson

commit sha 8ddd2ae0e8c65f8d57ef9ffe7c01576deb4d8598

Use rustdoc-map even without the upstream cargo patch

view details

Joshua Nelson

commit sha 4ea2489472beaf12e7ae58a104b313eac0b3a51c

Fix metadata tests

view details

Joshua Nelson

commit sha 7ec7f9b89f3697b935262b05e46aae85fe6cf5ad

Pass -Zunstable-args in case `metadata` doesn't

view details

push time in a day

PR merged rust-lang/docs.rs

Use `-Z rustdoc-map` instead of rewriting it A-builds S-waiting-on-deploy

Closes https://github.com/rust-lang/docs.rs/issues/1177, closes https://github.com/rust-lang/docs.rs/issues/1165. Fixes https://github.com/rust-lang/docs.rs/issues/1166.

+26 -37

3 comments

3 changed files

jyn514

pr closed time in a day

issue closedrust-lang/docs.rs

Wrong --extern-html-root-url key used

https://github.com/rust-lang/docs.rs/blob/9ca26817b38453ee4fec7e1330bbd734174a87ed/src/docbuilder/rustwide_builder.rs#L525

This should almost certainly be dep.library_name() or something similar, to handle dependencies which rename their library (I don't know of any example build logs to see if it's an issue though). See https://github.com/rust-lang/rust/issues/76296 as well, we can't actually give a unique name here when things like duplicate renamed dependencies come into play.

closed time in a day

Nemo157

issue closedrust-lang/docs.rs

Missing --extern-html-root-url for optional dependencies

If a dependency is optional it will not be picked up in the root dependencies cause this is not taking the [package.metadata.docs.rs] into account:

https://github.com/rust-lang/docs.rs/blob/78bbdede0df5390a169491d5296955be8130b2c3/src/utils/cargo_metadata.rs#L52

Example: it has chrono active, but no --extern-html-root-url for it: https://docs.rs/crate/rusqlite/0.24.1/builds/301100

closed time in a day

Nemo157

issue closedrust-lang/docs.rs

Use cargo's rustdoc-map instead to link to dependencies

Currently we're generating --extern-html-root-url flags to pass to rustdoc ourselves:

https://github.com/rust-lang/docs.rs/blob/b527df80a7332b35294c02b2922a2899dee43aaa/src/docbuilder/rustwide_builder.rs#L521-L529

This has issues (https://github.com/rust-lang/docs.rs/issues/1166, https://github.com/rust-lang/docs.rs/issues/1165).

Cargo has an unstable rustdoc-map feature https://github.com/rust-lang/cargo/issues/8296 intended to allow users to do a similar thing easily via a simple url template. We can likely use this instead of doing it manually.

closed time in a day

Nemo157
more