Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Panic]: unimplemented: type aliases / assoc type bounds #333

Open
matthiaskrgr opened this issue Dec 17, 2023 · 0 comments
Open

[Panic]: unimplemented: type aliases / assoc type bounds #333

matthiaskrgr opened this issue Dec 17, 2023 · 0 comments
Labels
C-bug Category: Something isn't working I-panic Issue: Some part of the linter panicked unexpectedly

Comments

@matthiaskrgr
Copy link

Summary

No response

Reproducer

// check-pass

#![feature(associated_type_bounds)]

type _TaWhere1<T> where T: Iterator<Item: Copy> = T; //~ WARNING type_alias_bounds
type _TaWhere2<T> where T: Iterator<Item: 'static> = T; //~ WARNING type_alias_bounds
type _TaWhere3<T> where T: Iterator<Item: 'static> = T; //~ WARNING type_alias_bounds
type _TaWhere4<T> where T: Iterator<Item: 'static + Copy + Send> = T; //~ WARNING type_alias_bounds
type _TaWhere5<T> where T: Iterator<Item: for<'a> Into<&'a u8>> = T; //~ WARNING type_alias_bounds
type _TaWhere6<T> where T: Iterator<Item: Iterator<Item: Copy>> = T; //~ WARNING type_alias_bounds

type _TaInline1<T: Iterator<Item: Copy>> = T; //~ WARNING type_alias_bounds
type _TaInline2<T: Iterator<Item: 'static>> = T; //~ WARNING type_alias_bounds
type _TaInline3<T: Iterator<Item: 'static>> = T; //~ WARNING type_alias_bounds
type _TaInline4<T: Iterator<Item: 'static + Copy + Send>> = T; //~ WARNING type_alias_bounds
type _TaInline5<T: Iterator<Item: for<'a> Into<&'a u8>>> = T; //~ WARNING type_alias_bounds
type _TaInline6<T: Iterator<Item: Iterator<Item: Copy>>> = T; //~ WARNING type_alias_bounds

fn main() {}

Version

No response

Logs and Backtrace

MARKER_ERROR_TRACE=1 MARKER_LOG=info RUST_BACKTRACE=1    LD_LIBRARY_PATH='/home/matthias/o/target/debug/deps:/home/matthias/.rustup/toolchains/nightly-2023-11-16-x86_64-unknown-linux-gnu/lib:/home/matthias/.rustup/toolchains/nightly-2023-11-16-x86_64-unknown-linux-gnu/lib:/home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib'  RUSTC_WORKSPACE_WRAPPER=/home/matthias/.rustup/toolchains/nightly-2023-11-16-x86_64-unknown-linux-gnu/bin/marker_rustc_driver MARKER_LINT_CRATES=marker_lints:/home/matthias/o/target/marker/lints/libmarker_lints.so   RUSTUP_TOOLCHAIN=nightly-2023-11-16    /home/matthias/.rustup/toolchains/nightly-2023-11-16-x86_64-unknown-linux-gnu/bin/marker_rustc_driver /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs
thread 'rustc' panicked at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/marker_rustc_driver-0.4.3/src/conversion/marker/ast/generic.rs:67:62:
not yet implemented
stack backtrace:
   0: rust_begin_unwind
             at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/core/src/panicking.rs:72:14
   2: core::panicking::panic
             at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/core/src/panicking.rs:127:5
   3: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
   4: marker_rustc_driver::conversion::marker::ast::generic::<impl marker_rustc_driver::conversion::marker::MarkerConverterInner>::to_syn_generic_args
   5: marker_rustc_driver::conversion::marker::common::<impl marker_rustc_driver::conversion::marker::MarkerConverterInner>::to_trait_ref
   6: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
   7: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
   8: marker_rustc_driver::conversion::marker::ast::generic::<impl marker_rustc_driver::conversion::marker::MarkerConverterInner>::to_syn_ty_param_bound
   9: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
  10: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
  11: marker_rustc_driver::conversion::marker::ast::generic::<impl marker_rustc_driver::conversion::marker::MarkerConverterInner>::to_syn_generic_params
  12: marker_rustc_driver::conversion::marker::ast::item::<impl marker_rustc_driver::conversion::marker::MarkerConverterInner>::to_item
  13: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
  14: marker_rustc_driver::conversion::marker::ast::item::<impl marker_rustc_driver::conversion::marker::MarkerConverterInner>::to_items
  15: marker_rustc_driver::conversion::marker::MarkerConverterInner::local_crate_mod
  16: core::cell::once::OnceCell<T>::get_or_try_init::outlined_call
  17: marker_rustc_driver::lint_pass::process_crate
  18: rustc_lint::late::check_crate::{closure#0}
  19: rustc_lint::late::check_crate
  20: rustc_interface::passes::analysis
      [... omitted 1 frame ...]
  21: rustc_interface::interface::run_compiler::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-marker/marker/issues/new?template=panic.yml

note: please attach the file at `/tmp/marker/rustc-ice-2023-12-17T23_45_31-1811322.txt` to your bug report

query stack during panic:
#0 [analysis] running analysis passes on this crate
end of query stack
note: marker_rustc_driver 0.4.3

note: Achievement Unlocked: [Free Ice Cream]

warning: where clauses are not enforced in type aliases
 --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs:5:25
  |
5 | type _TaWhere1<T> where T: Iterator<Item: Copy> = T; //~ WARNING type_alias_bounds
  |                         ^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(type_alias_bounds)]` on by default
help: the clause will not be checked when the type alias is used, and should be removed
  |
5 - type _TaWhere1<T> where T: Iterator<Item: Copy> = T; //~ WARNING type_alias_bounds
5 + type _TaWhere1<T>  = T; //~ WARNING type_alias_bounds
  |

warning: where clauses are not enforced in type aliases
 --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs:6:25
  |
6 | type _TaWhere2<T> where T: Iterator<Item: 'static> = T; //~ WARNING type_alias_bounds
  |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
help: the clause will not be checked when the type alias is used, and should be removed
  |
6 - type _TaWhere2<T> where T: Iterator<Item: 'static> = T; //~ WARNING type_alias_bounds
6 + type _TaWhere2<T>  = T; //~ WARNING type_alias_bounds
  |

warning: where clauses are not enforced in type aliases
 --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs:7:25
  |
7 | type _TaWhere3<T> where T: Iterator<Item: 'static> = T; //~ WARNING type_alias_bounds
  |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
help: the clause will not be checked when the type alias is used, and should be removed
  |
7 - type _TaWhere3<T> where T: Iterator<Item: 'static> = T; //~ WARNING type_alias_bounds
7 + type _TaWhere3<T>  = T; //~ WARNING type_alias_bounds
  |

warning: where clauses are not enforced in type aliases
 --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs:8:25
  |
8 | type _TaWhere4<T> where T: Iterator<Item: 'static + Copy + Send> = T; //~ WARNING type_alias_bounds
  |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
help: the clause will not be checked when the type alias is used, and should be removed
  |
8 - type _TaWhere4<T> where T: Iterator<Item: 'static + Copy + Send> = T; //~ WARNING type_alias_bounds
8 + type _TaWhere4<T>  = T; //~ WARNING type_alias_bounds
  |

warning: where clauses are not enforced in type aliases
 --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs:9:25
  |
9 | type _TaWhere5<T> where T: Iterator<Item: for<'a> Into<&'a u8>> = T; //~ WARNING type_alias_bounds
  |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
help: the clause will not be checked when the type alias is used, and should be removed
  |
9 - type _TaWhere5<T> where T: Iterator<Item: for<'a> Into<&'a u8>> = T; //~ WARNING type_alias_bounds
9 + type _TaWhere5<T>  = T; //~ WARNING type_alias_bounds
  |

warning: where clauses are not enforced in type aliases
  --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs:10:25
   |
10 | type _TaWhere6<T> where T: Iterator<Item: Iterator<Item: Copy>> = T; //~ WARNING type_alias_bounds
   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: the clause will not be checked when the type alias is used, and should be removed
   |
10 - type _TaWhere6<T> where T: Iterator<Item: Iterator<Item: Copy>> = T; //~ WARNING type_alias_bounds
10 + type _TaWhere6<T>  = T; //~ WARNING type_alias_bounds
   |

warning: bounds on generic parameters are not enforced in type aliases
  --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs:12:20
   |
12 | type _TaInline1<T: Iterator<Item: Copy>> = T; //~ WARNING type_alias_bounds
   |                    ^^^^^^^^^^^^^^^^^^^^
   |
help: the bound will not be checked when the type alias is used, and should be removed
   |
12 - type _TaInline1<T: Iterator<Item: Copy>> = T; //~ WARNING type_alias_bounds
12 + type _TaInline1<T> = T; //~ WARNING type_alias_bounds
   |

warning: bounds on generic parameters are not enforced in type aliases
  --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs:13:20
   |
13 | type _TaInline2<T: Iterator<Item: 'static>> = T; //~ WARNING type_alias_bounds
   |                    ^^^^^^^^^^^^^^^^^^^^^^^
   |
help: the bound will not be checked when the type alias is used, and should be removed
   |
13 - type _TaInline2<T: Iterator<Item: 'static>> = T; //~ WARNING type_alias_bounds
13 + type _TaInline2<T> = T; //~ WARNING type_alias_bounds
   |

warning: bounds on generic parameters are not enforced in type aliases
  --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs:14:20
   |
14 | type _TaInline3<T: Iterator<Item: 'static>> = T; //~ WARNING type_alias_bounds
   |                    ^^^^^^^^^^^^^^^^^^^^^^^
   |
help: the bound will not be checked when the type alias is used, and should be removed
   |
14 - type _TaInline3<T: Iterator<Item: 'static>> = T; //~ WARNING type_alias_bounds
14 + type _TaInline3<T> = T; //~ WARNING type_alias_bounds
   |

warning: bounds on generic parameters are not enforced in type aliases
  --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs:15:20
   |
15 | type _TaInline4<T: Iterator<Item: 'static + Copy + Send>> = T; //~ WARNING type_alias_bounds
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: the bound will not be checked when the type alias is used, and should be removed
   |
15 - type _TaInline4<T: Iterator<Item: 'static + Copy + Send>> = T; //~ WARNING type_alias_bounds
15 + type _TaInline4<T> = T; //~ WARNING type_alias_bounds
   |

warning: bounds on generic parameters are not enforced in type aliases
  --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs:16:20
   |
16 | type _TaInline5<T: Iterator<Item: for<'a> Into<&'a u8>>> = T; //~ WARNING type_alias_bounds
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: the bound will not be checked when the type alias is used, and should be removed
   |
16 - type _TaInline5<T: Iterator<Item: for<'a> Into<&'a u8>>> = T; //~ WARNING type_alias_bounds
16 + type _TaInline5<T> = T; //~ WARNING type_alias_bounds
   |

warning: bounds on generic parameters are not enforced in type aliases
  --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/associated-type-bounds/type-alias.rs:17:20
   |
17 | type _TaInline6<T: Iterator<Item: Iterator<Item: Copy>>> = T; //~ WARNING type_alias_bounds
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: the bound will not be checked when the type alias is used, and should be removed
   |
17 - type _TaInline6<T: Iterator<Item: Iterator<Item: Copy>>> = T; //~ WARNING type_alias_bounds
17 + type _TaInline6<T> = T; //~ WARNING type_alias_bounds
   |

warning: 12 warnings emitted
@matthiaskrgr matthiaskrgr added C-bug Category: Something isn't working I-panic Issue: Some part of the linter panicked unexpectedly S-needs-triage Status: This issue needs triage labels Dec 17, 2023
@xFrednet xFrednet removed the S-needs-triage Status: This issue needs triage label Dec 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: Something isn't working I-panic Issue: Some part of the linter panicked unexpectedly
Projects
None yet
Development

No branches or pull requests

2 participants