Skip to content

TAIT: concrete type differs from previous defining opaque type use at the same location #114727

@xxchan

Description

@xxchan
Contributor

"previous use here" seems to be the same location as the error?

error: concrete type differs from previous defining opaque type use
   --> src/storage/src/table/batch_table/storage_table.rs:505:9
    |
505 |         Ok(iter)
    |         ^^^^^^^^ expected `StorageTableInnerIter<S, SD>`, got `impl Stream<Item = std::result::Result<(Vec<u8>, OwnedRow), error::StorageError>> + 'static`
    |
note: previous use here
   --> src/storage/src/table/batch_table/storage_table.rs:412:54
    |
412 |       ) -> StorageResult<StorageTableInnerIter<S, SD>> {
    |  ______________________________________________________^
413 | |         let cache_policy = match (
414 | |             encoded_key_range.start_bound(),
415 | |             encoded_key_range.end_bound(),
...   |
505 | |         Ok(iter)
506 | |     }
    | |_____^

warning: `risingwave_storage` (lib) generated 1 warning

Note: tested latest 2023-08-11, and reports same error.

Tested on this commit risingwavelabs/risingwave@9d3e587

cargo build -p risingwave_storage

(Sorry for not having a minimal example yet)


Bisect rustc and found the regression commit:

searched nightlies: from nightly-2023-06-16 to nightly-2023-07-08
regressed nightly: nightly-2023-06-18
searched commit range: 6bba061...3b2073f
regressed commit: 0cc541e

bisected with cargo-bisect-rustc v0.6.6

Host triple: aarch64-apple-darwin
Reproduce with:

cargo bisect-rustc --start 2023-06-16 --end 2023-07-08 -- build -p risingwave_storage 

Source code here

https://github.com/risingwavelabs/risingwave/blob/tygg-bump-toolchain-20230728/src/storage/src/table/batch_table/storage_table.rs#L386-L388

https://github.com/risingwavelabs/risingwave/blob/9d3e587b0aeb2b0f4236953b6015a6f1b864c1bf/src/storage/src/table/batch_table/storage_table.rs#L404-L504

Activity

added
needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.
on Aug 11, 2023
xxchan

xxchan commented on Aug 11, 2023

@xxchan
ContributorAuthor

@rustbot label +F-type_alias_impl_trait

added a commit that references this issue on Aug 11, 2023
moved this to Can do after stabilization in type alias impl trait stabilizationon Aug 11, 2023
added
T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
T-typesRelevant to the types team, which will review and decide on the PR/issue.
and removed
needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.
on Aug 11, 2023
compiler-errors

compiler-errors commented on Aug 17, 2023

@compiler-errors
Member

I believe this is the same issue as #114909, so it should be fixed as #114914

added a commit that references this issue on Aug 20, 2023
39e0749
moved this from Can do after stabilization to Done in type alias impl trait stabilizationon Aug 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

A-diagnosticsArea: Messages for errors, warnings, and lintsC-bugCategory: This is a bug.F-type_alias_impl_trait`#[feature(type_alias_impl_trait)]`T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-typesRelevant to the types team, which will review and decide on the PR/issue.

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

    Development

    Participants

    @oli-obk@compiler-errors@saethlin@xxchan@rustbot

    Issue actions

      TAIT: concrete type differs from previous defining opaque type use at the same location · Issue #114727 · rust-lang/rust