-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Labels
C-bugCategory: Something isn't workingCategory: Something isn't workingI-panicIssue: Some part of the linter panicked unexpectedlyIssue: Some part of the linter panicked unexpectedly
Description
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
Metadata
Metadata
Assignees
Labels
C-bugCategory: Something isn't workingCategory: Something isn't workingI-panicIssue: Some part of the linter panicked unexpectedlyIssue: Some part of the linter panicked unexpectedly