This page lists all FIXMEs and HACKs in the rustc source code. It is updated daily. GitHub repo: https://github.com/oli-obk/fixmeh

Note that you can sort on issue state by clicking on the "Issue states" header.

DescriptionSourceIssue states
! // FIXME(static_mut_refs): Do not allow `static_mut_refs` lintstd/src/sync/mod
! FIXME(Centril): For now being, much of the logic is still in `rustc_ast::attr`rustc_attr_parsing/src/lib
! FIXME(ZuseZ4): Remove this once we have a smarter linterrustc_builtin_macros/src/autodiff
! FIXME: <Gankra/thin-vec/pull/66> is merged, this can be removedrustc_data_structures/src/thinvec
! FIXME: Move this to a more general place. The utility of this extends torustc_const_eval/src/util/compare_types
! FIXME: No span and source file information is implemented yettools/rust-analyzer/crates/proc-macro-srv/src/server_impl
! FIXME: Rewrite the TypeTree logic in Enzyme core to reduce the need for the rustc frontend torustc_ast/src/expand/typetree
! FIXME: This description might be partly inaccurate and should be extended, along withrustc_ast/src/expand/typetree
! FIXME: We should also re-evaluate where we create TypeTrees from Rust types, since MIRrustc_ast/src/expand/typetree
! FIXME: always look through the bounds of an opaque type to see if there areui/impl-trait/call_method_without_import
! FIXME: rust-lang/rust/issues/128733 this test uses externalrun-make/thumb-none-qemu/rmake
! FIXME: todoui/unpretty/expanded-exhaustive
ui/unpretty/expanded-exhaustive
ui/unpretty/expanded-exhaustive
! FIXME: upstream to <kriomant/panic-context> ?tools/rust-analyzer/crates/stdx/src/panic_context
"(2 as T<U>) < V", // FIXME: no parentheses neededui-fulldeps/pprust-parenthesis-insertion
"(return) + 2", // FIXME: no parenthesis neededui-fulldeps/pprust-parenthesis-insertion
"2 + (return 2)", // FIXME: no parenthesis neededui-fulldeps/pprust-parenthesis-insertion
"FIXME(-Znext-solver): Overflowed when processing region obligations: {my_region_obligations:#?}"rustc_infer/src/infer/outlives/obligations
"FIXME(-Znext-solver): Overflowed when processing region obligations: {outlives_predicates:#?}"rustc_borrowck/src/type_check/constraint_conversion
"TODO is used for tasks that should be done before merging a PR; If you want to leave a message in the codebase use FIXME"tools/tidy/src/style
"a" => (), //FIXME [gated]~ ERROR can't compare `str` with `str` in const contextsui/traits/const-traits/match-non-const-eq
"allocator-api2", // FIXME: only appears in Cargo.lock due to rust-lang/cargo/issues/10801tools/tidy/src/deps
"marshallpierce/rust-base64", // FIXME: one test is OOM-killedrustc_codegen_gcc/build_system/src/test
"serde-rs/serde", // FIXME: one test failsrustc_codegen_gcc/build_system/src/test
"time-rs/time", // FIXME: one test fails (time-rs/time/issues/719)rustc_codegen_gcc/build_system/src/test
"gitlab.gnome.org/GNOME/librsvg", // FIXME: doesn't compile in the CI since therustc_codegen_gcc/build_system/src/test
# // FIXME(rust-lang/miri/issues/3670)alloc/src/vec/mod
# // FIXME(f16_f128): remove when `eqtf2` is availablecore/src/num/f128
# #[cfg(not(miri))] { // FIXME: use strict provenance APIs once they are stable, then remove this `cfg`core/src/primitive_docs
# #[cfg(target_arch = "aarch64")] { // FIXME(f16_F128): rust-lang/rust#123885core/src/num/f16
core/src/num/f16
core/src/num/f16
core/src/num/f16
core/src/num/f16
Closed
# // FIXME(f16_f128): ABI issues on MSVCcore/src/num/f16
core/src/num/f16
# // FIXME(f16_f128): LLVM crashes on s390x, llvm/llvm-project#50374core/src/num/f16
core/src/num/f16
core/src/num/f16
core/src/num/f16
core/src/num/f16
Closed
# // FIXME(f16_f128): enable this once const casting workscore/src/num/f128
core/src/num/f16
# // FIXME(f16_f128): extendhfsf2, truncsfhf2, __gnu_h2f_ieee, __gnu_f2h_ieee missing for many platformscore/src/num/f16
core/src/num/f16
core/src/num/f16
core/src/num/f16
# // FIXME(f16_f128): remove when `eqtf2` is availablecore/src/num/f128
core/src/num/f128
core/src/num/f128
core/src/num/f128
core/src/num/f128
core/src/num/f128
core/src/num/f128
core/src/num/f128
core/src/num/f128
core/src/num/f128
core/src/num/f128
core/src/num/f128
# // FIXME(f16_f128): remove when `float*itf` is availablecore/src/num/f128
# // FIXME(f16_f128): remove when `lttf2` is availablecore/src/num/f128
# // FIXME(f16_f128): remove when `unordtf2` is availablecore/src/num/f128
# // FIXME(f16_f128): remove when `{eq,gt,unord}tf` are availablecore/src/num/f128
# // FIXME(rust-lang/miri/issues/3670)alloc/src/boxed
alloc/src/boxed
alloc/src/string
alloc/src/vec/into_iter
alloc/src/vec/mod
core/src/mem/manually_drop
core/src/mem/maybe_uninit
# FIXMEtools/run-make-support/src/scoped_run
#![allow(clippy::redundant_closure)] // FIXME suggestion may have redundant closuretools/clippy/tests/ui/manual_filter_map
tools/clippy/tests/ui/manual_find_map
#![allow(fuzzy_provenance_casts)] // FIXME: this entire module systematically confuses pointers and integersstd/src/sys/pal/sgx/mod
#![allow(improper_ctypes)] // FIXME: this test is inherently not FFI-safeui/abi/extern/extern-pass-empty
#![allow(rustc::untranslatable_diagnostic)] // FIXME: make this translatablerustc_driver_impl/src/lib
rustc_session/src/config
#![feature(proc_macro_internals)] // FIXME - this shouldn't be necessaryui/proc-macro/auxiliary/span-from-proc-macro
#[allow(clippy::too_many_arguments)] // FIXME: reduce the number of args and remove thisbootstrap/src/core/build_steps/test
bootstrap/src/core/build_steps/tool
#[allow(clippy::useless_attribute)] // FIXME: following use of `hidden_glob_reexports` incorrectly triggers `useless_attribute` lintrustc_ast/src/token
#[allow(dead_code)] // FIXME(81658): should be used + lint reinstated after #83171 relandsrustc_passes/src/dead
rustc_passes/src/dead
Closed Closed
#[allow(rustc::diagnostic_outside_of_impl)] // FIXMErustc_borrowck/src/diagnostics/mod
rustc_borrowck/src/diagnostics/region_errors
rustc_borrowck/src/diagnostics/region_errors
rustc_passes/src/check_attr
rustc_session/src/config
rustc_session/src/parse
#[allow(rustc::untranslatable_diagnostic)] // FIXME: make this translatablerustc_ast_passes/src/feature_gate
rustc_ast_passes/src/feature_gate
rustc_ast_passes/src/feature_gate
rustc_ast_passes/src/feature_gate
rustc_attr_parsing/src/attributes/cfg
rustc_borrowck/src/diagnostics/mod
rustc_borrowck/src/diagnostics/region_errors
rustc_driver_impl/src/args
rustc_expand/src/expand
rustc_interface/src/util
rustc_interface/src/util
rustc_session/src/options
rustc_session/src/search_paths
rustc_session/src/search_paths
rustc_session/src/session
#[allow(unreachable_code)] // FIXME false positiverustc_codegen_cranelift/example/mini_core_hello_world
#[allow(unused)] // FIXME: the unused lint is probably incorrect hereui/never_type/lint-never-type-fallback-flowing-into-unsafe
#[allow(unused_attributes)] // FIXME(#58633): do a principled fix insteadcore/src/convert/mod
Closed
#[cfg_attr(target_env = "sgx", ignore)] // FIXME: fortanix/rust-sgx/issues/31std/src/net/tcp/tests
std/src/net/tcp/tests
std/src/net/tcp/tests
std/src/net/tcp/tests
std/src/net/tcp/tests
std/src/net/tcp/tests
#[ignore = "FIXME: we do not do type inference for gen blocks yet"]tools/rust-analyzer/crates/ide-assists/src/handlers/convert_closure_to_fn
#[stable(feature = "slice_iter_mut_as_mut_slice", since = "FIXME")]core/src/slice/iter
#[test] // FIXME: some test here actually test token reparsingtools/rust-analyzer/crates/syntax/src/parsing/reparsing
&[(128, "sse"), (256, "avx"), (512, "avx512f")]; // FIXME: might need changes for AVX10rustc_target/src/target_features
Closed Closed Closed
("fortanix-sgx-abi", "MPL-2.0"), // libstd but only for `sgx` target. FIXME: this dependency violates the documentation comment abovetools/tidy/src/deps
("src/tools/miri/test-cargo-miri", &[], None), // FIXME uncomment once all deps are vendoredtools/tidy/src/deps
("src/tools/miri/test_dependencies", &[], None), // FIXME uncomment once all deps are vendoredtools/tidy/src/deps
(FIXME) remove *First variantsrustc_ast/src/expand/autodiff_attrs
(FIXME: see check_loans.rs)rustc_borrowck/src/lib
(FIXME: technically we only need to check this if the type is a fn ptr...)rustc_next_trait_solver/src/solve/effect_goals
rustc_next_trait_solver/src/solve/normalizes_to/mod
rustc_next_trait_solver/src/solve/normalizes_to/mod
rustc_next_trait_solver/src/solve/trait_goals
rustc_next_trait_solver/src/solve/trait_goals
(FIXME?: The latter clause might be overstating. We may want to include the bound if the selftools/rust-analyzer/crates/ide-assists/src/handlers/generate_function
(covers fields and locals). FIXME: This is not terribly accuratetools/rust-analyzer/crates/ide-db/src/search
(see FIXME in tests::impl_trait) and falling back on any unknownstools/rust-analyzer/crates/ide/src/signature_help
(the structure is not entirely correct, since there can be situations requiring two imports, see FIXME below for the details)tools/rust-analyzer/crates/ide-db/src/imports/import_assets
1. FIXME: Ribs (local variables), there's no necessary infrastructure yetrustc_resolve/src/ident
1. FIXME: Ribs (type parameters), there's no necessary infrastructure yetrustc_resolve/src/ident
1. assignments are always made to mutable locations (FIXME: does that still really go here?)rustc_borrowck/src/lib
31, // FIXME: reparse only int literal heretools/rust-analyzer/crates/syntax/src/parsing/reparsing
64-bit names. FIXME: In 32-bit compatibility mode /proc/cpuinfo willtools/rustfmt/tests/source/cfg_if/detect/os/linux/aarch64
tools/rustfmt/tests/target/cfg_if/detect/os/linux/aarch64
> FIXME: G1 reserved for now for large imm generation by frame coderustc_target/src/asm/sparc
@ build-pass (FIXME(55996): should be run on targets supporting avx)ui/issues/issue-44056
Open
@ build-pass (FIXME(62277): could be check-pass?ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-original-elided
Open
@ build-pass (FIXME(62277): could be check-pass?)incremental/change_crate_dep_kind
incremental/change_private_fn/struct_point
incremental/change_private_fn_cc/struct_point
incremental/change_private_impl_method_cc/struct_point
incremental/hashes/call_expressions
incremental/hashes/closure_expressions
incremental/hashes/consts
incremental/hashes/enum_constructors
incremental/hashes/enum_defs
incremental/hashes/exported_vs_not
incremental/hashes/extern_mods
incremental/hashes/for_loops
incremental/hashes/function_interfaces
incremental/hashes/if_expressions
incremental/hashes/indexing_expressions
incremental/hashes/inherent_impls
incremental/hashes/inline_asm
incremental/hashes/let_expressions
incremental/hashes/loop_expressions
incremental/hashes/match_expressions
incremental/hashes/panic_exprs
incremental/hashes/statics
incremental/hashes/struct_constructors
incremental/hashes/struct_defs
incremental/hashes/trait_defs
incremental/hashes/trait_impls
incremental/hashes/type_defs
incremental/hashes/unary_and_binary_exprs
incremental/hashes/while_let_loops
incremental/hashes/while_loops
incremental/ich_nested_items
incremental/incremental_proc_macro
incremental/issue-42602
incremental/issue-59523-on-implemented-is-not-unused
incremental/issue-59524-layout-scalar-valid-range-is-not-unused
incremental/krate-inherent
incremental/macro_export
incremental/remove_source_file/main
incremental/string_constant
ui/associated-consts/associated-const-trait-bound
ui/associated-type-bounds/entails-sized-dyn-compatibility
ui/associated-type-bounds/trait-params
ui/async-await/async-fn-send-uses-nonsend
ui/async-await/async-matches-expr
ui/async-await/async-with-closure
ui/async-await/generics-and-bounds
ui/async-await/issues/issue-60674
ui/async-await/issues/issue-61986
ui/attributes/attr-before-view-item
ui/attributes/attr-before-view-item2
ui/attributes/attr-mix-new
ui/attributes/class-attributes-1
ui/attributes/class-attributes-2
ui/attributes/method-attributes
ui/attributes/unrestricted-attribute-tokens
ui/attributes/variant-attributes
ui/closure-expected-type/expect-fn-supply-fn-multiple
ui/closure-expected-type/expect-infer-var-supply-ty-with-bound-region
ui/closure-expected-type/expect-infer-var-supply-ty-with-free-region
ui/closures/closure_promotion
ui/coherence/coherence_copy_like_err_fundamental_struct
ui/conditional-compilation/cfg-attr-multi-false
ui/conditional-compilation/cfg-attr-multi-true
ui/consts/const-expr-addr-operator
ui/consts/const-pattern-not-const-evaluable
ui/consts/const-validation-fail-55455
ui/consts/const_fn_return_nested_fn_ptr
ui/consts/const_let_irrefutable
ui/consts/drop_none
ui/consts/invalid_promotion
ui/consts/min_const_fn/min_const_fn_libstd
ui/consts/promote_evaluation_unused_result
ui/consts/promote_fn_calls
ui/consts/promote_fn_calls_std
ui/consts/promoted-validation-55454
ui/consts/promoted_regression
ui/consts/static_mut_containing_mut_ref
ui/consts/std/slice
ui/consts/underscore_const_names
ui/consts/union_constant
ui/deprecation/derive_on_deprecated
ui/deprecation/derive_on_deprecated_forbidden
ui/dyn-compatibility/by-value-self
ui/dyn-compatibility/phantom-fn
ui/feature-gates/feature-gate-const-indexing
ui/generics/generic-param-attrs
ui/impl-header-lifetime-elision/inherent-impl
ui/impl-trait/associated-impl-trait-type-generic-trait
ui/impl-trait/associated-impl-trait-type-trivial
ui/impl-trait/associated-impl-trait-type
ui/impl-trait/can-return-unconstrained-closure
ui/impl-trait/deprecated_annotation
ui/impl-trait/multiple-lifetimes/multiple-lifetimes
ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-original
ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-other
ui/impl-trait/private_unused
ui/impl-trait/return-position-impl-trait-minimal
ui/imports/extern-crate-self/extern-crate-self-macro-item
ui/imports/extern-crate-self/extern-crate-self-pass
ui/imports/extern-prelude-extern-crate-absolute-expanded
ui/imports/extern-prelude-extern-crate-cfg
ui/imports/extern-prelude-extern-crate-pass
ui/imports/extern-prelude-extern-crate-shadowing
ui/imports/local-modularized-tricky-pass-1
ui/imports/local-modularized
ui/macros/macro-expanded-include/test
ui/macros/macro-shadowing-relaxed
ui/macros/macro-stmt-matchers
ui/macros/macro-tt-matchers
ui/macros/macro-use-scope
ui/macros/trace-macro
ui/methods/method-call-lifetime-args-subst-index
ui/methods/method-trait-object-with-hrtb
ui/non_modrs_mods_and_inline_mods/non_modrs_mods_and_inline_mods
ui/panic_implementation-closures
ui/privacy/private-in-public-expr-pat
ui/privacy/private-in-public-type-alias-impl-trait
ui/privacy/restricted/lookup-ignores-private
ui/proc-macro/no-missing-docs
ui/range/range_traits-4
ui/range/range_traits-5
ui/range/range_traits-7
ui/reachable/expr_andand
ui/reachable/expr_oror
ui/resolve/extern-prelude
ui/rfcs/rfc-2008-non-exhaustive/variants_fictive_visibility
ui/rfcs/rfc-2306-convert-id/convert-id-const-with-gate
ui/rmeta/rmeta-lib-pass
ui/rmeta/rmeta-pass
ui/rmeta/rmeta-priv-warn
ui/rust-2018/edition-lint-paths-2018
ui/rust-2018/edition-lint-uninferable-outlives
ui/rust-2018/proc-macro-crate-in-paths
ui/rust-2018/uniform-paths/fn-local-enum
ui/rust-2018/uniform-paths/from-decl-macro
ui/rust-2018/uniform-paths/prelude
ui/self/explicit-self-closures
ui/self/self-in-typedefs
ui/self/self-type-param
ui/static/static-extern-type
ui/static/static_sized_requirement
ui/test-attrs/test-cant-be-shadowed
ui/traits/alias/maybe-bound
ui/traits/conservative_impl_trait
ui/traits/object/with-self-in-projection-output-good
ui/traits/object/with-self-in-projection-output-repeated-supertrait
ui/traits/privacy
ui/traits/with-dst
ui/try-trait/try-poll
ui/type-alias-impl-trait/associated-type-alias-impl-trait
ui/type-alias-impl-trait/bound_reduction
ui/type-alias-impl-trait/cross_crate_ice
ui/type-alias-impl-trait/cross_crate_ice2
ui/type-alias-impl-trait/different_defining_uses_never_type2
ui/type-alias-impl-trait/generic_lifetime_param
ui/uninhabited/privately-uninhabited-dead-code
ui/variance/variance-use-contravariant-struct-2
ui/variance/variance-use-covariant-struct-2
Open
@ build-pass (FIXME(62277): should be check-pass)ui/non-fmt-panic
Open
@ ignore-android FIXME #17520ui/backtrace/backtrace
ui/backtrace/dylib-dep
ui/backtrace/line-tables-only
ui/backtrace/std-backtrace
ui/panics/issue-47429-short-backtraces
ui/panics/runtime-switch
ui/panics/short-ice-remove-middle-frames-2
ui/panics/short-ice-remove-middle-frames
Open
@ ignore-android: FIXME (#20004)ui/runtime/out-of-stack
Open
@ ignore-android: FIXME(#10381)debuginfo/empty-string
debuginfo/gdb-pretty-struct-and-enums
debuginfo/pretty-huge-vec
debuginfo/pretty-slices
debuginfo/pretty-std-collections
debuginfo/pretty-std
debuginfo/pretty-uninitialized-vec
debuginfo/step-into-match
Open
@ ignore-emscripten FIXME(#45351)ui/simd/issue-32947
ui/simd/issue-39720
Closed
@ ignore-emscripten FIXME(#45351) hits an LLVM assertui/simd/intrinsic/generic-arithmetic-pass
ui/simd/intrinsic/generic-cast-pass
ui/simd/intrinsic/generic-comparison-pass
ui/simd/intrinsic/generic-elements-pass
Closed
@ ignore-freebsd FIXME fails on BSDui/structs-enums/class-cast-to-trait
@ ignore-fuchsia code returned as ZX_TASK_RETCODE_EXCEPTION_KILL, FIXME (#58590)ui/process/signal-exit-status
Open
@ ignore-fuchsia must translate zircon signal to SIGABRT, FIXME (#58590)ui/runtime/out-of-stack
Open
@ ignore-fuchsia must translate zircon signal to SIGILL, FIXME (#58590)ui/simd/target-feature-mixup
Open
@ ignore-fuchsia must translate zircon signal to SIGSEGV/SIGBUS, FIXME (#58590)ui/abi/segfault-no-out-of-stack
Open
@ ignore-lldb: FIXME(#27089)debuginfo/generic-enum-with-different-disr-sizes
Open
@ ignore-loongarch64 FIXMEcodegen/catch-unwind
@ ignore-musl FIXME #31506ui/abi/stack-probes-lto
Open
@ ignore-riscv64 FIXMEcodegen/catch-unwind
@ ignore-s390x FIXMEcodegen/catch-unwind
@ ignore-stage1 FIXME: this line can be removed once these new error messages are in stage 0 rustcui-fulldeps/hash-stable-is-unstable
ui-fulldeps/pathless-extern-unstable
@ ignore-std-debug-assertions (FIXME: checks for call detect scoped noalias metadata)codegen/vec-in-place
codegen/vecdeque-drain
@ ignore-test (FIXME: #125092)rustdoc/inline_cross/assoc-const-equality
Open
@ ignore-test FIXME(81658, 83171)ui/lint/dead-code/self-assign
Closed Closed
@ ignore-wasm32 FIXME: ignoring wasm as it suggests slightly different implsui/inference/issue-72616
@ ignore-windows FIXME(#84933)codegen/thread-local
ui/suggestions/missing-lifetime-specifier
Closed
All uses of this macro are FIXME(const-hack)core/src/panic
Applicability::MaybeIncorrect, // FIXME #2597tools/clippy/clippy_lints/src/operators/op_ref
tools/clippy/clippy_lints/src/operators/op_ref
tools/clippy/clippy_lints/src/operators/op_ref
tools/clippy/clippy_lints/src/operators/op_ref
Closed
Definition::BuiltinAttr(_) => return None, // FIXMEtools/rust-analyzer/crates/ide-db/src/defs
Definition::ToolModule(_) => return None, // FIXMEtools/rust-analyzer/crates/ide-db/src/defs
Dynamic libraries are not linked here, see the FIXME in `add_upstream_native_libraries`rustc_codegen_ssa/src/back/link
EXPLICIT_OUTLIVES_REQUIREMENTS // FIXME(#52665, #47816) not always applicable and not allrustc_lint/src/lib
Open Closed
Edition::CURRENT_FIXMEtools/rust-analyzer/crates/project-model/src/workspace
FIXMErustc_target/src/asm/sparc
rustc_target/src/callconv/powerpc64
alloc/tests/autotraits
tools/clippy/clippy_lints/src/transmute/transmute_null_to_fn
tools/clippy/clippy_lints/src/transmute/transmuting_null
tools/rust-analyzer/crates/hir-def/src/body/lower
tools/rust-analyzer/crates/hir-def/src/expander
tools/rust-analyzer/crates/hir-expand/src/builtin/quote
tools/rust-analyzer/crates/hir-expand/src/builtin/quote
tools/rust-analyzer/crates/hir-ty/src/chalk_db
tools/rust-analyzer/crates/hir-ty/src/infer/expr
tools/rust-analyzer/crates/hir-ty/src/infer/expr
tools/rust-analyzer/crates/hir-ty/src/infer/expr
tools/rust-analyzer/crates/hir-ty/src/tests/display_source_code
tools/rust-analyzer/crates/hir-ty/src/variance
tools/rust-analyzer/crates/ide/src/call_hierarchy
tools/rust-analyzer/crates/ide/src/call_hierarchy
tools/rust-analyzer/crates/ide/src/call_hierarchy
tools/rust-analyzer/crates/ide/src/doc_links
tools/rust-analyzer/crates/ide/src/expand_macro
tools/rust-analyzer/crates/ide-assists/src/handlers/convert_closure_to_fn
tools/rust-analyzer/crates/ide-assists/src/handlers/fix_visibility
tools/rust-analyzer/crates/ide-completion/src/context/analysis
tools/rust-analyzer/crates/ide-db/src/defs
tools/rust-analyzer/crates/ide-db/src/imports/import_assets
tools/rust-analyzer/crates/ide-db/src/imports/import_assets
tools/rust-analyzer/crates/ide-diagnostics/src/handlers/typed_hole
tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
tools/rust-analyzer/crates/project-model/src/env
tools/rust-analyzer/crates/rust-analyzer/src/lsp/capabilities
tools/rust-analyzer/crates/syntax/src/fuzz
tools/rust-analyzer/crates/syntax/src/validation
ui/dynamically-sized-types/dst-coerce-rc
ui/imports/issue-114682-2
ui/lexer/lex-emoji-identifiers
ui/parser/block-no-opening-brace
ui/threads-sendsync/sync-send-iterators-in-libcore
ui/threads-sendsync/sync-send-iterators-in-libcore
ui/threads-sendsync/sync-send-iterators-in-libcore
ui/threads-sendsync/sync-send-iterators-in-libcore
FIXME #11059 handle NaN, inf and overflowtest/src/stats
Closed
FIXME #25759 This should also have `nocapture`codegen/function-arguments
codegen/function-arguments
codegen/function-arguments
codegen/function-arguments
codegen/function-arguments
codegen/function-arguments
codegen/function-arguments
Closed
FIXME #56861: DRYer prelude filteringrustc_hir_typeck/src/fn_ctxt/suggestions
rustc_trait_selection/src/error_reporting/infer/suggest
Open
FIXME #9694: [`Struct::Type`]tools/rust-analyzer/crates/ide/src/doc_links/tests
Closed
FIXME (#13400): this is only a tiny fraction of the Windows console apitest/src/term/win
Closed
FIXME (#19470): cannot provide PartialOrd<OsStr> for str until westd/src/ffi/os_str
Closed
FIXME (#2166): This is not nearly enough to support correct versioningrustc_metadata/src/rmeta/encoder
Closed
FIXME (#23545): uncomment the remaining implscore/src/num/saturating
core/src/num/wrapping
Open
FIXME (#2397): At some point we want to rpath our guesses as torustc_codegen_ssa/src/back/link
Closed
FIXME (#3300): Should allow items to be anonymous. Right nowtools/rustfmt/tests/source/issue-539
tools/rustfmt/tests/source/issue-683
tools/rustfmt/tests/target/issue-539
tools/rustfmt/tests/target/issue-683
Closed
FIXME (#45742): replace the above impl for &mut with the following more general onecore/src/convert/mod
Open
FIXME (#45742): replace the above impls for &/&mut with the following more general onecore/src/convert/mod
Open
FIXME (#46459 and #46460): ideallyrustc_hir_typeck/src/demand
Open Open
FIXME (#47949)ui/drop/dynamic-drop
ui/drop/dynamic-drop
ui/drop/dynamic-drop
ui/drop/dynamic-drop
Open
FIXME (#47949) We leak values when we panic in a destructor afterui/drop/dynamic-drop
Open
FIXME (#54943) NLL doesn't enforce WF condition in unreachable code ifui/regions/regions-outlives-projection-container
Closed
FIXME (GuillaumeGomez): To be done once gccjit has been built in the CIbootstrap/src/core/build_steps/gcc
FIXME (rust-lang/rust/issues/133459): do we want to change the JSONrustc_target/src/spec/mod
FIXME (introduced by #65251)test/src/tests
Closed
FIXME (mikeyhew) change this to use &own if it is ever added to the languagerustc_ty_utils/src/abi
FIXME (mikeyhew) uncomment this when unsized rvalues dyn-compatibility is implementedui/self/arbitrary_self_types_pointers_and_wrappers
FIXME (mikeyhew) uncomment this when unsized rvalues object-safety is implementedrustc_codegen_cranelift/example/arbitrary_self_types_pointers_and_wrappers
rustc_codegen_gcc/example/arbitrary_self_types_pointers_and_wrappers
tools/miri/tests/pass/dyn-arbitrary-self
FIXME - determine what we should do if we encounter multiplerustc_borrowck/src/region_infer/mod
FIXME - if we get deref patterns, use them to reduce duplication hererustc_builtin_macros/src/alloc_error_handler
rustc_builtin_macros/src/global_allocator
FIXME - maybe capture semicolon in recovery?rustc_parse/src/parser/stmt
FIXME - maybe we should overwrite 'self' outside of `collect_tokens`?rustc_parse/src/parser/generics
FIXME - the below is probably no longer true in fulltools/rustfmt/src/closures
FIXME - try to continue parsing other generics?rustc_parse/src/parser/generics
FIXME -- We are using `span` as the span of the `|...|`rustc_expand/src/build
FIXME -- check for types that deref to `Self`rustc_hir_typeck/src/method/probe
FIXME -- consider correcting impedance mismatch in some wayrustc_hir_analysis/src/outlives/mod
FIXME -- use non-incremental mode as an oracle? That doesn't applytools/compiletest/src/runtest/incremental
FIXME : We can omit already implemented impl_traitstools/rust-analyzer/crates/ide-assists/src/handlers/generate_delegate_trait
FIXME : Handle MacroCall casetools/rust-analyzer/crates/ide-assists/src/handlers/generate_delegate_trait
FIXME : See match arm below regarding tuple structstools/rust-analyzer/crates/ide-diagnostics/src/handlers/unresolved_field
FIXME : We can't rely on `make::path_qualified` for now but it would be nice to replace the following with ittools/rust-analyzer/crates/ide-assists/src/handlers/generate_delegate_trait
FIXME @ revisions: wasmui/abi/compatibility
FIXME @[wasm] compile-flags: --target wasm32-unknown-unknownui/abi/compatibility
FIXME @[wasm] needs-llvm-components: webassemblyui/abi/compatibility
FIXME @alibektas : "locality" is according to ra that, which is simply in the file systemtools/rust-analyzer/crates/rust-analyzer/tests/slow-tests/ratoml
FIXME @alibektas : Inner macro_call is not seen as such. So this doesn't worktools/rust-analyzer/crates/ide-assists/src/handlers/toggle_macro_delimiter
FIXME @alibektas : Server's health uses error sink but in other places it is not used atmtools/rust-analyzer/crates/rust-analyzer/src/config
FIXME @alibektas : This is silly. There is no reason to use VfsPaths when there is SourceRoots. But howtools/rust-analyzer/crates/rust-analyzer/src/global_state
FIXME @alibektas : This is the only config that is confusing. If it's a proper configurationtools/rust-analyzer/crates/rust-analyzer/src/config
FIXME @alibektas : This test is atm not validtools/rust-analyzer/crates/rust-analyzer/tests/slow-tests/ratoml
FIXME @alibektas : What happens to errors without logging?tools/rust-analyzer/crates/rust-analyzer/src/cli/scip
FIXME Accept something like the following in the macro call insteadtools/rust-analyzer/crates/hir/src/diagnostics
FIXME Can sometimes happen, see rust-lang/rust#70531rustc_codegen_cranelift/src/base
Closed
FIXME Does this need an example?rustc_const_eval/src/const_eval/valtrees
FIXME Don't force the size to a multiple of <abi_align> bytes once Cranelift getsrustc_codegen_cranelift/src/common
rustc_codegen_cranelift/src/common
FIXME Don't silently drop the hrtb lifetimes heretools/rust-analyzer/crates/hir-ty/src/lower
FIXME Error E0071, expected struct, variant or union type, found enum `Foo`tools/rust-analyzer/crates/hir-ty/src/infer
tools/rust-analyzer/crates/hir-ty/src/infer
FIXME Given the current state of the compiler its expected that we cycle hereui/const-generics/issues/issue-83765
FIXME Merge `valtree_to_const_value` and `valtree_into_mplace` into one functionrustc_const_eval/src/const_eval/valtrees
FIXME Need to provide a span to `eval_to_valtree`rustc_const_eval/src/const_eval/valtrees
FIXME Once unwinding is supported and Cranelift supports marking blocks as cold, dorustc_codegen_cranelift/src/base
FIXME Once valtrees are available we can directly use the bytesrustc_pattern_analysis/src/constructor
FIXME Remove this, we have this information in the HIR nowtools/rust-analyzer/crates/ide-db/src/syntax_helpers/format_string_exprs
FIXME Report unreachable armstools/rust-analyzer/crates/hir-ty/src/diagnostics/expr
FIXME Safe `#[target_feature]` functions are not assignable to safe fn pointers (RFC 2396)tools/rust-analyzer/crates/hir-ty/src/infer/coerce
Closed
FIXME This needs layout computation to be correct. It will highlighttools/rust-analyzer/crates/hir/src/semantics
FIXME This should compile, but it currently doesn'tui/type-alias-impl-trait/auto-trait-leakage3
FIXME Update this when vec_into_raw_parts is stabilizedalloc/src/string
alloc/src/string
alloc/src/vec/mod
alloc/src/vec/mod
alloc/src/vec/mod
alloc/src/vec/mod
core/src/intrinsics/mod
FIXME ^ Should not error in the future with implicit dtors, only manually implemented onesui/nll/maybe-initialized-drop-implicit-fragment-drop
FIXME ^ This currently errors and it should notui/nll/maybe-initialized-drop-with-uninitialized-fragments
FIXME `Value` should properly support pairs in `Immediate`... but currentlyrustc_mir_transform/src/known_panics_lint
FIXME actually do nontemporal stores if requested (but do not just emit MOVNT on x86;rustc_codegen_cranelift/src/intrinsics/mod
FIXME actually we maybe should also accept unknown guidance heretools/rust-analyzer/crates/hir-ty/src/infer/coerce
FIXME add .eh_frame unwind info directivesrustc_codegen_cranelift/src/inline_asm
rustc_codegen_cranelift/src/inline_asm
FIXME add a context type here?tools/rust-analyzer/crates/hir-ty/src/method_resolution
FIXME add and use emit_small_memcmprustc_codegen_cranelift/src/intrinsics/mod
FIXME add installer support for cg_clif once it is ready to be distributed onbootstrap/src/core/build_steps/dist
FIXME also map the types in the adjustmentstools/rust-analyzer/crates/hir-ty/src/infer/coerce
FIXME applies to match as welltools/rust-analyzer/crates/ide-assists/src/handlers/convert_bool_then
FIXME auto detect all cargo workspacestools/tidy/src/deps
FIXME avoid copy and patch if src, patches and target are unchangedrustc_codegen_cranelift/build_system/prepare
FIXME avoid intermediate `CValue` before calling `adjust_arg_for_abi`rustc_codegen_cranelift/src/abi/mod
FIXME avoid this extra copy to the stack and directly write to the finalrustc_codegen_cranelift/src/constant
FIXME baz() should be an exact type matchtools/rust-analyzer/crates/ide-completion/src/render
FIXME before stabilization: Should we expose this as a `hard-float` target feature instead ofrustc_target/src/target_features
FIXME better handling of signrustc_codegen_cranelift/src/debuginfo/emit
FIXME better-encapsulate meta_item (don't directly access `node`)rustc_incremental/src/assert_dep_graph
FIXME binary modules are not supported in tests properlytools/rust-analyzer/crates/ide-completion/src/completions/mod_
FIXME call once for each target and pass result around in structrustc_codegen_cranelift/build_system/rustc_info
FIXME can panic hererustc_errors/src/lock
rustc_errors/src/lock
FIXME change this to a const fn by also making List::empty a const fnrustc_middle/src/mir/statement
FIXME change to version 5 once the gdb and lldb shipping with the latest debianrustc_codegen_cranelift/src/debuginfo/mod
FIXME check ABI: Intrinsics are not coercible to function pointerstools/rust-analyzer/crates/hir-ty/src/infer/coerce
FIXME check other workspaces tootools/tidy/src/extdeps
FIXME check that all passed in tests actually existrustc_codegen_cranelift/build_system/main
FIXME check-passui/consts/unstable-const-fn-in-libcore
ui/traits/const-traits/const-closure-parse-not-item
ui/traits/const-traits/const-closure-trait-method
ui/traits/const-traits/const-closures
FIXME consider asking the input slice to be sorted to avoidrustc_middle/src/ty/context
rustc_middle/src/ty/context
FIXME convert to using rewrite style rather than visitortools/rustfmt/src/items
FIXME correctly handle unaligned_volatile_loadrustc_codegen_cranelift/src/intrinsics/mod
FIXME correctly handle unaligned_volatile_storerustc_codegen_cranelift/src/intrinsics/mod
FIXME correctly handle unalignednessrustc_codegen_cranelift/src/intrinsics/llvm_x86
FIXME deal with errortools/rust-analyzer/crates/hir-ty/src/infer/coerce
FIXME deduplicate with add_dynamic_craterustc_codegen_ssa/src/back/link
FIXME diagnostictools/rust-analyzer/crates/hir-ty/src/infer
tools/rust-analyzer/crates/hir-ty/src/infer
tools/rust-analyzer/crates/hir-ty/src/infer
FIXME do proper abi handling instead of expecting the pass mode to be identicalrustc_codegen_cranelift/src/main_shim
FIXME do this properlytools/rust-analyzer/crates/ide-diagnostics/src/handlers/type_mismatch
FIXME doesn't work with non-powers-of-two, yetportable-simd/crates/core_simd/tests/masks
FIXME don't panic when a worker thread panicsrustc_codegen_cranelift/src/concurrency_limiter
FIXME editiontools/rust-analyzer/crates/ide/src/lib
FIXME emit_small_memcpyrustc_codegen_cranelift/src/intrinsics/mod
FIXME emit_small_memmoverustc_codegen_cranelift/src/intrinsics/mod
rustc_codegen_cranelift/src/intrinsics/mod
FIXME emscripten does not support i128ui/numbers-arithmetic/saturating-float-casts-impl
ui/numbers-arithmetic/saturating-float-casts-impl
ui/numbers-arithmetic/saturating-float-casts-impl
ui/numbers-arithmetic/saturating-float-casts-impl
ui/numbers-arithmetic/saturating-float-casts-impl
ui/numbers-arithmetic/saturating-float-casts-impl
FIXME fix `#[linkage = "extern_weak"]` without thisrustc_codegen_cranelift/build_system/tests
FIXME for future hackers: investigate whether this isrustc_borrowck/src/type_check/liveness/trace
FIXME format modules in this styletools/rustfmt/src/items
FIXME fragment numberingtools/rust-analyzer/crates/ide/src/doc_links
FIXME generalize vector typesrustc_codegen_cranelift/src/intrinsics/llvm_aarch64
FIXME get rid of this with valtreesrustc_middle/src/query/mod
FIXME handle `-Ctarget-cpu=native`rustc_codegen_cranelift/src/driver/aot
FIXME handle attribute expansiontools/rust-analyzer/crates/hir/src/source_analyzer
FIXME handle constraintstools/rust-analyzer/crates/hir-ty/src/infer/coerce
FIXME handle diagnostictools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
FIXME handle the case where the function was made private to therustc_codegen_cranelift/src/global_asm
FIXME handle vendoring for source tarballs before removing the --skip-test belowbootstrap/src/core/build_steps/test
FIXME ideally this shouldn't use unwraprustc_hir_typeck/src/fn_ctxt/mod
FIXME if context.config.indent_style() == Visual, but we run outtools/rustfmt/src/expr
FIXME impl From<ExitCode> for ExitStatus and then test that here too;std/src/sys/pal/unix/process/process_common/tests
FIXME implement 128bit atomicsrustc_codegen_cranelift/src/intrinsics/mod
rustc_codegen_cranelift/src/intrinsics/mod
FIXME implement black_box semanticsrustc_codegen_cranelift/src/intrinsics/mod
FIXME implement debuginfo for wide pointersrustc_codegen_cranelift/src/debuginfo/types
FIXME implement fcvt_to_*int_sat.i8/i16rustc_codegen_cranelift/src/cast
FIXME implement remaining types and add unreachable!() to the fallback branchrustc_codegen_cranelift/src/debuginfo/types
FIXME implement thesetools/rust-analyzer/crates/hir-ty/src/display
FIXME implement unwindingrustc_codegen_cranelift/src/base
FIXME implement variadics in craneliftrustc_codegen_cranelift/src/abi/mod
rustc_codegen_cranelift/src/intrinsics/mod
FIXME improve docs for `StaticRef` by distinguishing it from `NamedConst`rustc_middle/src/thir
FIXME it would be better to not match `debug_assert*!` macro invocationstools/rust-analyzer/crates/ide-assists/src/handlers/generate_documentation_template
FIXME legalize `icmp_imm.i128` in Craneliftrustc_codegen_cranelift/src/common
FIXME link to `pointer::offset` when it hits stabletools/rust-analyzer/crates/hir-ty/src/mir
FIXME macro crates are not up for this yet, too muchrustc_lint/src/lib
FIXME make check_types work with other bodiestools/rust-analyzer/crates/hir-ty/src/tests/traits
FIXME make the copy actually volatile when using emit_small_mem{cpy,move}rustc_codegen_cranelift/src/intrinsics/mod
FIXME make the memset actually volatile when switching to emit_small_memsetrustc_codegen_cranelift/src/intrinsics/mod
FIXME make this a BTreeMaptools/rust-analyzer/crates/hir-ty/src/traits
FIXME make this translatablerustc_resolve/src/macros
FIXME make this translatable as well?rustc_const_eval/src/interpret/validity
FIXME make this work, currently fails due to pattern recovery eating the `:`tools/rust-analyzer/crates/ide-completion/src/context/tests
FIXME maybe run finish even when a fatal error occured? or at least tcx.alloc_self_profile_query_strings()?rustc_interface/src/passes
FIXME merge spanstools/rust-analyzer/crates/hir-expand/src/builtin/fn_macro
FIXME move all uses to `simd_reduce`rustc_codegen_cranelift/src/intrinsics/mod
FIXME need to record an obligation heretools/rust-analyzer/crates/hir-ty/src/infer/coerce
FIXME obligation cannot be fulfilled => diagnostictools/rust-analyzer/crates/hir-ty/src/infer/unify
FIXME once abi_unsupported_vector_types is a hard error disable the foo test when the respectiverustc_codegen_cranelift/example/std_example
FIXME once unwinding is supported, change this to actually catch panicsrustc_codegen_cranelift/src/intrinsics/mod
FIXME only encode signature for ctor_def_idrustc_metadata/src/rmeta/encoder
FIXME order of attributes should not mattertools/rust-analyzer/crates/ide-db/src/imports/merge_imports
FIXME potentially resolve assoc typetools/rust-analyzer/crates/hir-ty/src/infer
tools/rust-analyzer/crates/hir-ty/src/infer
FIXME properly handle `RestPat`tools/rust-analyzer/crates/hir-def/src/body/lower
FIXME reduce usage of custom test case commandsrustc_codegen_cranelift/build_system/tests
FIXME removerustc_codegen_cranelift/src/value_and_place
rustc_codegen_cranelift/src/value_and_place
FIXME remove dependency on this from the Rust ABI. cc bytecodealliance/wasmtime#9510rustc_codegen_cranelift/src/lib
rustc_codegen_cranelift/src/lib
Closed
FIXME remove once drops are workingui/sanitizer/cfi/closures
FIXME remove once vendoring is handledbootstrap/src/core/build_steps/test
FIXME replace with core::ffi::c_size_t once stabilizedrustc_codegen_cranelift/src/compiler_builtins
FIXME report error (ambiguous associated type)tools/rust-analyzer/crates/hir-ty/src/lower
tools/rust-analyzer/crates/hir-ty/src/lower
FIXME requires db to resolve line index, THIS IS NOT INCREMENTALtools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
FIXME requires db to resolve the ast id, THIS IS NOT INCREMENTALtools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
FIXME requires db, looks up the parent call sitetools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
FIXME requires db, needs special handling wrt fixup spanstools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
FIXME requires db, returns the top level call sitetools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
FIXME requires optimized MIRrustc_middle/src/ty/sty
FIXME resolve obligations as well (use Guidance if necessary)tools/rust-analyzer/crates/hir-ty/src/infer
FIXME return the actually used target features. this is necessary for #[cfg(target_feature)]rustc_codegen_cranelift/src/lib
FIXME rust-lang/rust#64319, rust-lang/rust#64872rustc_middle/src/ty/context
Closed Closed
FIXME rust-lang/rust#64319, rust-lang/rust#64872: We wantrustc_metadata/src/rmeta/decoder/cstore_impl
Closed Closed
FIXME rustc normalizes assoc types in the sig here, not sure if necessarytools/rust-analyzer/crates/hir-ty/src/infer/coerce
FIXME saturate?rustc_codegen_cranelift/src/intrinsics/llvm_aarch64
FIXME set fundamental flags correctlytools/rust-analyzer/crates/hir-ty/src/chalk_db
FIXME set program arguments somehowrustc_codegen_cranelift/src/main_shim
FIXME setup implicit context in TLS before calling selfrustc_expand/src/base
rustc_expand/src/base
FIXME should we know the mutability here, when autoref is `None`?tools/rust-analyzer/crates/hir-ty/src/method_resolution
FIXME split this into multiple, self-contained teststools/rustfmt/tests/source/multiple
tools/rustfmt/tests/target/multiple
FIXME split this one out once saturating is implementedrustc_codegen_cranelift/src/intrinsics/llvm_aarch64
FIXME still use translatable diagnosticsrustc_middle/src/mir/interpret/error
FIXME support this for `enum`s by either using DWARF'srustc_middle/src/mir/mod
FIXME support unregistering unwind tables once cranelift-jit supports deallocatingrustc_codegen_cranelift/src/debuginfo/unwind
FIXME the correct implementation is not clear. Waiting for a real world use case at rust-lang/libs-team/issues/230core/src/num/saturating
FIXME the span here is wrong, sould be pointing at the line below, not aboveui/consts/interior-mut-const-via-union
FIXME there are other cases that we could tracerustc_borrowck/src/diagnostics/region_name
FIXME there must be a nicer way to write this conditiontools/rust-analyzer/crates/hir-def/src/nameres/path_resolution
tools/rust-analyzer/crates/hir-def/src/nameres/path_resolution
FIXME there must be no acc param for integer vectorsrustc_codegen_cranelift/src/intrinsics/simd
rustc_codegen_cranelift/src/intrinsics/simd
rustc_codegen_cranelift/src/intrinsics/simd
rustc_codegen_cranelift/src/intrinsics/simd
FIXME this can be an exact divisionrustc_codegen_cranelift/src/intrinsics/mod
FIXME this could be [[a]]mir-opt/reference_prop
mir-opt/reference_prop
mir-opt/reference_prop
mir-opt/reference_prop
mir-opt/reference_prop
mir-opt/reference_prop
FIXME this could happen in array size expressions, once we're checking themtools/rust-analyzer/crates/hir-ty/src/infer
FIXME this is a false negativetools/clippy/tests/ui/useless_conversion_try
FIXME this line creates a dependency between borrowck and typeckrustc_borrowck/src/universal_regions
FIXME this one could be done bettertools/rustfmt/tests/source/expr
tools/rustfmt/tests/target/expr
FIXME this says "null pointer" when null but we need translaterustc_const_eval/src/interpret/validity
FIXME this should be configurablerustc_codegen_cranelift/src/debuginfo/mod
FIXME this should be more descriptive i.e. CapturePlace instead of CapturedVarrustc_const_eval/src/interpret/validity
FIXME this simply uses the Debug impl, but we could probably do better by converting bothrustc_middle/src/ty/consts/int
FIXME trap on `ctlz_nonzero` with zero argrustc_codegen_cranelift/src/intrinsics/mod
FIXME trap on `cttz_nonzero` with zero argrustc_codegen_cranelift/src/intrinsics/mod
FIXME trap on inexactrustc_codegen_cranelift/src/intrinsics/mod
FIXME trap on overflow for the Unchecked versionsrustc_codegen_cranelift/src/num
FIXME unify with fn_sig_for_fn instead of doing lowering twice, maybetools/rust-analyzer/crates/hir-ty/src/lower
FIXME use SHT_X86_64_UNWIND for .eh_framerustc_codegen_cranelift/src/debuginfo/object
FIXME use a better heuristic than Spansrustc_borrowck/src/diagnostics/conflict_errors
FIXME use a compiler fence once Cranelift supports itrustc_codegen_cranelift/src/intrinsics/mod
FIXME use a greater base ($ty) for the long divisioncore/src/num/bignum
FIXME use a proper fn ptr typetools/miri/src/eval
FIXME use emit_small_memsetrustc_codegen_cranelift/src/intrinsics/mod
FIXME use emit_small_memset where possiblerustc_codegen_cranelift/src/base
FIXME use the actual type layoutrustc_codegen_cranelift/src/debuginfo/mod
FIXME use this when trying to resolve everything at the endtools/rust-analyzer/crates/hir-ty/src/infer/unify
FIXME use vector instructions when possiblerustc_codegen_cranelift/src/intrinsics/llvm_x86
rustc_codegen_cranelift/src/intrinsics/llvm_x86
rustc_codegen_cranelift/src/intrinsics/simd
rustc_codegen_cranelift/src/intrinsics/simd
rustc_codegen_cranelift/src/intrinsics/simd
rustc_codegen_cranelift/src/intrinsics/simd
FIXME validaterustc_codegen_cranelift/src/intrinsics/simd
FIXME we can also infer bounds on associated typesrustc_lint/src/builtin
FIXME we do a lot of allocation to make our own representationtools/rustfmt/src/imports
FIXME we need to revisit this for #67176rustc_mir_transform/src/known_panics_lint
rustc_mir_transform/src/known_panics_lint
Open
FIXME we probably shouldn't pass this but instead pass an explicit listrustc_target/src/spec/base/wasm
FIXME we should have testing infra for multi level expansion teststools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/mbe/regression
FIXME we should use the type checker for thistools/rust-analyzer/crates/hir-ty/src/diagnostics/expr
FIXME what about transient conditions like `ENOMEM`?std/src/sys/pal/unix/fs
FIXME what is the correct implementation here? see discussion rust-lang/rust/pull/87921#discussion_r695870065core/src/num/saturating
FIXME work around filename too long errorsrustc_codegen_cranelift/src/pretty_clif
FIXME would be nice to reuse the lists API for this, but because each separatortools/rustfmt/src/pairs
FIXME wrong importtools/rust-analyzer/crates/ide-assists/src/handlers/auto_import
tools/rust-analyzer/crates/ide-assists/src/handlers/auto_import
FIXME ~^ ERROR cannot callui/consts/unstable-const-fn-in-libcore
FIXME ~^ ERROR cannot match on `str` in constant functionsui/traits/const-traits/match-non-const-eq
FIXME ~^ ERROR destructor ofui/consts/unstable-const-fn-in-libcore
ui/traits/const-traits/const-drop
ui/traits/const-traits/const-drop
FIXME ~^ ERROR the trait boundui/traits/const-traits/issue-102985
ui/traits/const-traits/issue-88155
FIXME ~^ ERROR: the trait bound `T: ~const Sup` is not satisfiedui/traits/const-traits/specializing-constness-2
FIXME ~| ERROR cannot call non-const closure in constantsui/traits/const-traits/issue-102985
FIXME ~| ERROR cannot call non-const functionui/traits/const-traits/issue-88155
FIXME ~| ERROR destructor ofui/consts/unstable-const-fn-in-libcore
FIXME ~| ERROR the trait boundui/traits/const-traits/issue-102985
FIXME! consider allowing users to specify paths to multiple files, or to a directorytools/miri/src/eval
FIXME(#100717)rustc_parse/src/parser/attr
rustc_session/src/errors
Open
FIXME(#100717): early errors aren't translated at the moment, so this is fine, but it willrustc_session/src/session
Open
FIXME(#100717): migrate users of this to proper localizationrustc_parse/src/parser/pat
Open
FIXME(#100717): needs variant for each `ItemKind` (instead of using `ItemKind::descr()`)rustc_parse/src/parser/item
Open
FIXME(#100717): removerustc_macros/src/diagnostics/utils
Open
FIXME(#100717): replace with a `Option<Span>` when subdiagnostic supports thatrustc_trait_selection/src/errors
Open
FIXME(#100717): support `Option<Span>` on `primary_span` like in therustc_macros/src/diagnostics/subdiagnostic
Open
FIXME(#101695): Test bool's `impls` include "Local for bool"rustdoc-json/impls/local_for_local_primitive
Closed
FIXME(#101728): change this when type ascription syntax is stabilized againrustc_lint/src/if_let_rescope
Open
FIXME(#101728): enable rewrite when type ascription isrustc_borrowck/src/diagnostics/explain_borrow
Open
FIXME(#101728): enable rewrite when type ascription is stabilized againrustc_borrowck/src/diagnostics/explain_borrow
Open
FIXME(#102522) Just iterate on attrs once that iteration order matches HIR'srustc_lint/src/levels
Closed
FIXME(#103640): Should we handle the case where `ty` is a projection?rustc_hir_analysis/src/collect
Open
FIXME(#104478, #104477): This is a hack for backward-compatibilityrustc_borrowck/src/type_check/canonical
Open Open
FIXME(#104767): Should we handle bound regions here?rustc_hir_typeck/src/fn_ctxt/mod
Open
FIXME(#109628): We shouldn't have existential variables in implied boundsrustc_infer/src/infer/outlives/env
Open
FIXME(#109628): panic in this case once the issue is fixedrustc_borrowck/src/type_check/free_region_relations
rustc_trait_selection/src/traits/outlives_bounds
Open
FIXME(#110395)alloc/tests/const_fns
core/tests/atomic
core/tests/bool
core/tests/cell
core/tests/char
core/tests/cmp
core/tests/convert
core/tests/hash/mod
core/tests/hash/mod
core/tests/hash/sip
core/tests/lazy
core/tests/nonzero
core/tests/num/const_from
core/tests/option
core/tests/option
core/tests/option
core/tests/option
core/tests/option
core/tests/option
core/tests/option
core/tests/time
core/tests/time
core/tests/time
Closed
FIXME(#11084): This could be replaced with Iterator::scan when thiscore/src/option
Closed
FIXME(#110897): maybe panic on recursive initializationstd/src/sys/thread_local/statik
Open
FIXME(#111101): Incorporate the explicit predicates of the item hererustdoc/clean/auto_trait
Open
FIXME(#111564): Is this the right behaviour?rustdoc-json/impls/impl_item_visibility
rustdoc-json/impls/impl_item_visibility_show_hidden
rustdoc-json/impls/impl_item_visibility_show_hidden
rustdoc-json/impls/impl_item_visibility_show_private
Open
FIXME(#112480) MSVC and rustc disagree on minimum stack alignment on x86 Windowsrustc_mir_transform/src/check_alignment
Open
FIXME(#112534) Reimplementation of `find`, as it uses indexing, which can (and will intools/clippy/clippy_lints/src/min_ident_chars
Open
FIXME(#112651) `rvalue` may have a subtype to `local`. We can only markrustc_mir_transform/src/gvn
Open
FIXME(#112651): This can be changed to an ICE afterwardsrustc_codegen_ssa/src/mir/locals
Open
FIXME(#112651): This can be removed afterwardsrustc_mir_transform/src/ssa
Open
FIXME(#112651): This can be removed afterwards. Also update the module descriptionrustc_mir_transform/src/dest_prop
Open
FIXME(#113634) We should inject this during post-processing likerustc_builtin_macros/src/standard_library_imports
Closed
FIXME(#114050) ~| HELP use `Option::as_ref` to convert `Option<String>` to `Option<&String>`ui/suggestions/copied-and-cloned
Open
FIXME(#114479): LLVM miscompiles loading and storing `f32` and `f64` when SSE is disabledassembly/x86-return-float
Open
FIXME(#114479): LLVM miscompiles loading and storing `f32` and `f64` when SSE is disabled onui/abi/numbers-arithmetic/return-float
Open
FIXME(#115215): After #115025 get's merged this might not be necessaryrustc_codegen_ssa/src/mir/locals
Closed Closed
FIXME(#115869): support -Z ignore-directory-in-diagnostics-source-blocksrustc_errors/src/annotate_snippet_emitter_writer
Closed
FIXME(#117097): backtrace (possibly unwinding mechanism) seems to be different on at leastui/runtime/backtrace-debuginfo
Open
FIXME(#118552): We should probably feed def_span eagerly on def-id creationrustc_passes/src/lang_items
Open
FIXME(#118761) Should be run-pass once the labels on drop are compatibleui/sanitizer/cfi/drop-no-principal
Closed
FIXME(#118965): We don't canonicalize the static lifetimes that appear in therustc_infer/src/infer/canonical/canonicalizer
Open
FIXME(#11924) allow zero-length arrays?rustc_ty_utils/src/representability
Open
FIXME(#120456) - is `swap_remove` correct?rustc_borrowck/src/diagnostics/mod
rustc_borrowck/src/used_muts
rustc_codegen_ssa/src/target_features
rustc_const_eval/src/const_eval/machine
rustc_const_eval/src/interpret/intern
rustc_errors/src/emitter
rustc_errors/src/lib
rustc_errors/src/lib
rustc_errors/src/lib
rustc_hir_typeck/src/fn_ctxt/_impl
rustc_infer/src/infer/opaque_types/table
rustc_lint_defs/src/lib
rustc_mir_transform/src/dest_prop
rustc_passes/src/stability
rustc_passes/src/stability
rustc_resolve/src/check_unused
rustc_trait_selection/src/error_reporting/traits/mod
Open
FIXME(#120606): `AutoTraitFinder` can actually leak placeholder regions which feelsrustdoc/clean/auto_trait
Open
FIXME(#122848) Remove only-linux once OSX CFI binaries workui/sanitizer/cfi/async-closures
ui/sanitizer/cfi/closures
ui/sanitizer/cfi/complex-receiver
ui/sanitizer/cfi/coroutine
ui/sanitizer/cfi/fn-ptr
ui/sanitizer/cfi/self-ref
ui/sanitizer/cfi/sized-associated-ty
ui/sanitizer/cfi/supertraits
ui/sanitizer/cfi/virtual-auto
Open
FIXME(#122848) Remove only-linux once OSX CFI binaries worksui/sanitizer/cfi/drop-no-principal
Open
FIXME(#122848): Remove only-linux when fixedui/sanitizer/cfi/drop-in-place
Open
FIXME(#12309): An unfortunate side-effect of capturing the testrustdoc/doctest
Closed
FIXME(#124118) Actually instrument if-let and let-chains for branch coveragecoverage/branch/if-let
Open
FIXME(#124118) Actually instrument let-else for branch coveragecoverage/branch/let-else
Open
FIXME(#124118) Actually instrument match arms for branch coveragecoverage/branch/match-arms
Open
FIXME(#125009): Not-local should probably consider same Cargo workspacerustdoc/passes/strip_aliased_non_local
Open
FIXME(#125431): `ReVar` shouldn't reach hererustc_trait_selection/src/error_reporting/infer/region
Open
FIXME(#126180): This test can only run on `x86_64-gnu-debug`, because that CI job setsrun-make/wasm-override-linker/rmake
Closed
FIXME(#126797): "d0" should work with `i64` and `f64` even when `d32` is disabledassembly/asm/arm-types
Closed
FIXME(#127030): `ConstParamHasTy` has bad interactions withrustc_mir_transform/src/inline
Closed
FIXME(#127234): Coverage instrumentation currently doesn't handle inlinedrustc_mir_transform/src/check_inline
Closed
FIXME(#127877): certain experimental targets fail with creating a 'LLVM TargetMachine' in CI, sorun-make/print-target-list/rmake
Closed
FIXME(#128911): still flakey on i686-mingwrun-make/dump-ice-to-disk/rmake
run-make/unstable-feature-usage-metrics/rmake
Open
FIXME(#128955) remove a couple of months after #128936 gets merged in caserustc_codegen_llvm/src/back/archive
Open Closed
FIXME(#129117): Windows rlib + `-Cdebuginfo=2` + `-Z remap-cwd-prefix=.` seemsrun-make/reproducible-build/rmake
Open
FIXME(#129153): instead of all the ad-hoc `download-ci-llvm` checks that followbootstrap/src/core/config/config
Closed
FIXME(#129461): We are time-boxing this code in the compiler. It'll start failingrustc_trait_selection/src/error_reporting/infer/need_type_info
Open
FIXME(#129952): We probably want a more principled approach hererustc_borrowck/src/universal_regions
Open
FIXME(#130766): When the `#[coverage(..)]` attribute is stabilizedui/coverage-attr/bad-attr-ice
Closed
FIXME(#131436): on macOS rustc is still reporting the std broken pipe io error panick but itrun-make/broken-pipe-no-ice/rmake
Open
FIXME(#132279): @lcnr believes that we may want to support coroutinesrustc_mir_transform/src/coroutine
Open
FIXME(#132279): Forking with `TypingMode::non_body_analysis` is a bit questionablerustc_trait_selection/src/traits/coherence
Open
FIXME(#132279): In case we're in a body, we should use a typingrustc_lint/src/context
Open
FIXME(#132279): It feels wrong to use `non_body_analysis` here given that we'rerustc_borrowck/src/region_infer/opaque_types
Open
FIXME(#132279): Once `PostBorrowckAnalysis` is supported in the old solver, this branch should be removedrustc_hir_analysis/src/check/check
Open
FIXME(#132279): Once we've got a typing mode which reveals opaque types using the HIRrustc_const_eval/src/check_consts/qualifs
Open
FIXME(#132279): This erases the `defining_opaque_types` as it isn't possiblerustc_infer/src/infer/mod
Open
FIXME(#132279): This function is quite weird in post-analysisrustc_infer/src/infer/mod
Open
FIXME(#132279): This is still incorrect as we treat opaque typesrustc_trait_selection/src/traits/select/mod
Open
FIXME(#132279): This is used during the phase transition from analysisrustc_mir_transform/src/add_moves_for_packed_drops
rustc_mir_transform/src/elaborate_drops
rustc_mir_transform/src/known_panics_lint
rustc_mir_transform/src/post_analysis_normalize
Open
FIXME(#132279): This likely causes us to incorrectly handle opaque types in theirrustc_hir_analysis/src/check/intrinsicck
Open
FIXME(#132279): This method should not be used as in the futurerustc_middle/src/ty/layout
Open
FIXME(#132279): This should be able to reveal opaquerustc_mir_build/src/builder/mod
Open
FIXME(#132279): This should be removed as it causes us to incorrectlyrustc_trait_selection/src/infer
Open
FIXME(#132279): This will be unnecessary once we have a TypingMode which supports revealingrustc_pattern_analysis/src/rustc
Open
FIXME(#132279): Using `Ty::is_sized` causes us to incorrectly handle opaques hererustc_borrowck/src/type_check/mod
Open
FIXME(#132279): Using `non_body_analysis` here feels wrongrustc_hir_typeck/src/upvar
rustc_hir_typeck/src/upvar
Open
FIXME(#132279): We likely want to be able to use the hidden types ofrustc_mir_build/src/builder/mod
Open
FIXME(#132279): We likely want to reveal opaques during post borrowck analysisrustc_trait_selection/src/traits/normalize
rustc_trait_selection/src/traits/normalize
Open
FIXME(#132279): We should assert that the value does not contain any placeholdersrustc_middle/src/ty/mod
Open
FIXME(#132279): We're in a body, should handle opaquesrustc_mir_build/src/thir/pattern/check_match
Open
FIXME(#132279): We're in a body, we should use a typingrustc_mir_build/src/thir/cx/mod
Open
FIXME(#132279): `TypingMode::non_body_analysis` is a bit questionable here as itrustc_trait_selection/src/traits/coherence
Open
FIXME(#132279): we should reveal the opaques defined in the body during analysisrustc_middle/src/mir/mod
Open
FIXME(#132279): we're clearly in a body hererustc_mir_build/src/check_tail_calls
rustc_mir_build/src/check_unsafety
Open
FIXME(#132279): we're in a body hererustc_passes/src/liveness
Open
FIXME(#132279): what is this, why are we using an empty environment hererustc_middle/src/mir/mod
Open
FIXME(#132279, generic_const_exprs): Using `try_normalize_erasing_regions` hererustc_hir_typeck/src/writeback
Open
FIXME(#132309): add a proper `supports-crate-type` directiveui/invalid-compile-flags/crate-type-flag
Open
FIXME(#132309): dylib crate type is not supported on wasm; we need a properui/lint/non-snake-case/lint-non-snake-case-crate
Open
FIXME(#132395): Can this be none even when coverage is enabled?rustc_codegen_llvm/src/coverageinfo/mapgen
Closed
FIXME(#132436): Even though this doesn't ICE, it still produces coveragecoverage/auxiliary/inline_mixed_helper
Open
FIXME(#132437): We currently don't test this in coverage-run mode, becausecoverage/inline_mixed
Closed
FIXME(#132514): Is needs-llvm-components actually necessary for this test?run-make/print-target-cpus-native/rmake
Closed
FIXME(#132514): This prints the LLVM target string, which can berustc_codegen_llvm/src/llvm_util
Closed
FIXME(#133107): this is temporarily marked as `only-64bit` because of course 32-bit msvc hasdebuginfo/numeric-types
Closed
FIXME(#133381): alt rustc builds currently do *not* have rustc debug assertionsbootstrap/src/core/config/config
Closed
FIXME(#133480): this has been randomly failing on `x86_64-mingw` due to linker hangs orrun-make/avr-rjmp-offset/rmake
Open
FIXME(#133919): Once Rust upgrades to LLVM 20, remove thisui/codegen/target-cpus
Open
FIXME(#134510): auto-registering revision names as check prefix is a bit sketchy, andtools/compiletest/src/runtest
Open
FIXME(#135037): not robust against symlinks, lacks sanity test coveragetools/run-make-support/src/assertion_helpers/mod
Open
FIXME(#13846) this should be enabled for windowsrustc_target/src/spec/base/windows_gnu
Closed
FIXME(#1539): implement for non-sugared macrostools/rustfmt/src/macros
Closed
FIXME(#16847): This code is non-ideal because all these subtyperustc_infer/src/infer/relate/generalize
Closed
FIXME(#17451) Use `expected: f128` once `f128` is stabilisedtools/rust-analyzer/crates/syntax/src/ast/token_ext
Closed
FIXME(#17451): Add `f16` and `f128` intrinsicstools/rust-analyzer/crates/hir-ty/src/mir/eval/shim
Closed
FIXME(#17451): Add `f16` and `f128` once they are stabilisedtools/rust-analyzer/crates/hir-ty/src/layout/tests
Closed
FIXME(#17451): Add `f16` and `f128` tests once intrinsics are addedtools/rust-analyzer/crates/hir-ty/src/consteval/tests/intrinsics
Closed
FIXME(#17451): Replace with builtins once they are stabilisedtools/rust-analyzer/crates/hir-ty/src/display
tools/rust-analyzer/crates/hir-ty/src/display
Closed
FIXME(#17451): Switch to builtin `f16` and `f128` once they are stabletools/rust-analyzer/crates/hir-ty/src/mir/eval
Closed
FIXME(#17451): Use builtin types once stabilisedtools/rust-analyzer/crates/hir-def/src/hir
Closed
FIXME(#18285): we cannot include the current position becauseui/runtime/backtrace-debuginfo
Closed
FIXME(#18741) -- this is almost but not quite the same as therustc_hir_typeck/src/place_op
Open
FIXME(#20): other stuff for parity with make tidytools/rustfmt/src/formatting
FIXME(#20041)rustc_hir_analysis/src/collect/predicates_of
Open
FIXME(#20304) For now, I am caching here, which is good, but itrustc_trait_selection/src/traits/project
Open
FIXME(#2055): rustfmt fails to format when there are comments between trait boundstools/rustfmt/src/items
Closed
FIXME(#21): we're dropping potential comments in between thetools/rustfmt/src/items
FIXME(#21232)ui/borrowck/reassignment_immutable_fields
Closed
FIXME(#23545): Uncomment the remaining testsui/numbers-arithmetic/num-wrapping
ui/numbers-arithmetic/num-wrapping
Open
FIXME(#2455): Reorder trait itemstools/rustfmt/src/reorder
Closed
FIXME(#24570): add more info here (e.g., mode)std/src/sys/pal/windows/fs
Closed
FIXME(#24570): implement this for other Unix platformsstd/src/sys/pal/unix/fs
Closed
FIXME(#2531): we should unify the comparison code here with the formattingtools/rustfmt/src/imports
Closed
FIXME(#26925) Remove in favor of `#[derive(Clone)]`alloc/src/collections/binary_heap/mod
alloc/src/collections/linked_list
alloc/src/collections/vec_deque/iter
core/src/slice/iter
core/src/slice/iter
core/src/slice/iter
core/src/slice/iter
core/src/slice/iter
core/src/slice/iter
core/src/slice/iter
core/src/slice/iter
core/src/slice/iter
core/src/str/iter
std/src/collections/hash/map
std/src/collections/hash/map
std/src/collections/hash/map
Open
FIXME(#27438): Right now, the unit tests of `rustc_middle` don't refer to any actual functionsrustc_middle/src/tests
Open
FIXME(#27579) RFC also considers adding traitrustc_trait_selection/src/traits/wf
Closed
FIXME(#27579): what amount of WF checking do we need for neg impls?rustc_hir_analysis/src/check/wfcheck
Closed
FIXME(#27840) these probably want their ownrustc_mir_build/src/builder/expr/category
Closed
FIXME(#28160) there is an interesting semanticsrustc_mir_build/src/builder/expr/stmt
Closed
FIXME(#29623) we could use PatKind::Range to rulerustc_mir_build/src/builder/matches/test
Open
FIXME(#29623). In some cases, we have some tricky choices to make. forrustc_mir_build/src/builder/matches/test
Open
FIXME(#31844): convert to an associated const once specialization supports thatcore/src/iter/adapters/flatten
Open
FIXME(#33000) -- it'd be better to use a dedicatedtools/compiletest/src/json
Closed
FIXME(#33000) -- it'd be better to use a dedicated UI harnesstools/compiletest/src/json
Closed
FIXME(#3441): post_snippet includes 'const' nowtools/rustfmt/src/lists
Closed
FIXME(#34708): handle partially-dropped array/slice elementsrustc_mir_dataflow/src/elaborate_drops
Closed
FIXME(#38501) This should preferably always be cleanincremental/hashes/trait_defs
Closed
FIXME(#41044) -- not correct, need testrustc_infer/src/infer/relate/lattice
Open
FIXME(#41252) Remove "clang LLVM" if we can get GDB and LLVM to play nicerustc_codegen_llvm/src/debuginfo/metadata
Open
FIXME(#41710): what is the best way to model linear queries?rustc_data_structures/src/steal
Open
FIXME(#41968): Move this check to tidy?tools/compiletest/src/runtest/incremental
tools/compiletest/src/runtest/incremental
Closed
FIXME(#42700) - Need to format self properly torustc_trait_selection/src/error_reporting/infer/nice_region_error/util
Open
FIXME(#42703) - Need to handle certain cases hererustc_trait_selection/src/error_reporting/infer/nice_region_error/util
Open
FIXME(#42706) -- in some cases, we could do better hererustc_middle/src/ty/context
Closed
FIXME(#42800)rustc_codegen_llvm/src/debuginfo/mod
Open
FIXME(#42940): This should use the `FreeRegionsVisitor`, but that'srustc_borrowck/src/type_check/opaque_types
Open
FIXME(#43047) FIXME(#74731) We may eventually want to avoid relying on externalrustc_metadata/src/rmeta/encoder
Closed Open
FIXME(#43348): Make libc adapt #[doc(cfg(...))] so we don't need these fake definitions here?std/src/os/unix/net/addr
std/src/os/unix/net/ancillary
Closed
FIXME(#43408) always enable this once `lazy_normalization` isrustc_hir_analysis/src/collect/generics_of
Open
FIXME(#44232) we should warn that this isn't usedui/feature-gates/issue-43106-gating-of-builtin-attrs
ui/lint/lint-unknown-feature-default
ui/lint/lint-unknown-feature
Open
FIXME(#44232): the `used_features` table no longer exists, so werustc_passes/src/stability
Open
FIXME(#44265) add tests for type-generic and const-genertic associated typesui/generic-associated-types/parameter_number_and_kind_impl
Closed
FIXME(#45727): As discussed in [this comment][c1], naivelyrustc_hir_typeck/src/closure
Closed
FIXME(#47949) Any use of this indicates a bug in rustc: we should neverui/drop/dynamic-drop
Open
FIXME(#48994) - could just be collected into an Option<Vec>rustc_ast/src/ast
Open
FIXME(#51525) -- the shorter notation `T::Assoc` winds up referencing `'static` hereui/impl-trait/bound-normalization-pass
ui/impl-trait/bound-normalization-pass
Closed
FIXME(#53934): make machine-applicable againrustc_lint/src/lints
rustc_lint/src/lints
rustc_lint/src/lints
Open
FIXME(#54366) - We probably shouldn't allow #[thread_local] static mut to get a 'static lifetimeui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn
Open
FIXME(#54571): This constant comes from user input (arustc_mir_build/src/builder/matches/test
Closed
FIXME(#54943) This test targets the scenario where proving the WF requirements requiresui/nll/issue-54943-3
Closed
FIXME(#54987)ui/borrowck/assign_mutable_fields
Open
FIXME(#57965): Make this work across function boundariesrustc_mir_transform/src/check_call_recursion
Open
FIXME(#59346): Figure out if we can _always_ print to stderr or notrustc_errors/src/annotate_snippet_emitter_writer
Open
FIXME(#59346): Is it ok to return None if there's no source_map?rustc_errors/src/annotate_snippet_emitter_writer
Open
FIXME(#59346): Not really sure when `fold` should be true or falserustc_errors/src/annotate_snippet_emitter_writer
Open
FIXME(#59346): Not sure how to map this levelrustc_errors/src/annotate_snippet_emitter_writer
Open
FIXME(#59346): Not sure when this is the case and whatrustc_errors/src/annotate_snippet_emitter_writer
rustc_errors/src/annotate_snippet_emitter_writer
Open
FIXME(#623): - these aren't supported yetui/attributes/item-attributes
Closed
FIXME(#63351): Concat trait in alloc/slice reexported in primitive pagetools/linkchecker/main
Closed
FIXME(#63818): niches in coroutines are disabledui/async-await/async-drop
ui/coroutine/discriminant
ui/coroutine/discriminant
Open
FIXME(#63818): niches in coroutines are disabled. Should be `assert_eq`ui/coroutine/niche-in-coroutine
Open
FIXME(#65833): We permit associated consts to have an `#[inline]` attribute withrustc_passes/src/check_attr
Open
FIXME(#65865)tools/compiletest/src/runtest
Closed
FIXME(#67563): Provide more context for these errors by displaying the spans inlinerustdoc/passes/lint/check_code_block_syntax
Closed
FIXME(#68817) use `llvm.dbg.value` insteadrustc_codegen_ssa/src/mir/debuginfo
Open
FIXME(#70334): this will generate legacy {{closure}}, {{impl}}, etcrustc_hir/src/definitions
Open
FIXME(#71723). This is because we infer at some point a value ofui/generic-associated-types/issue-92096
Open
FIXME(#73154) Pure NLL checker without leak check accepts this testui/lub-glb/old-lub-glb-hr-noteq2
Open
FIXME(#73154): For now, we do leak check when coercing functionrustc_hir_typeck/src/demand
rustc_trait_selection/src/error_reporting/infer/mod
Open
FIXME(#73154): This is a hack. Currently LUB can generaterustc_hir_typeck/src/coercion
Open
FIXME(#73156): Handle source code coverage in const evalrustc_const_eval/src/interpret/step
Open
FIXME(#73156): Handle source code coverage in const eval, but note, if and when construstc_mir_transform/src/coverage/query
Open
FIXME(#73933): Remove this eventuallyrustc_expand/src/base
Open
FIXME(#74563) support UFCSrustdoc-ui/intra-doc/malformed-generics
Open
FIXME(#74563): This gives precedence to `impl SomeItem`rustdoc/passes/collect_intra_doc_links
Open
FIXME(#74563): warn about ambiguityrustdoc/passes/collect_intra_doc_links
Open
FIXME(#75598): Direct use of these intrinsics improves codegen significantly at opt-level <=core/src/ptr/mod
Closed
FIXME(#78168)ui/parser/block-no-opening-brace
ui/parser/block-no-opening-brace
Open
FIXME(#78544): MIR InstrumentCoverage: Improve coverage of `#[should_panic]` tests andrustc_mir_transform/src/coverage/graph
Open
FIXME(#78546): MIR InstrumentCoverage - Can the source_info.span for `FakeRead`rustc_mir_transform/src/coverage/spans/from_mir
Open
FIXME(#78591): Support both inner and outer attributes on the same itemrustc_resolve/src/rustdoc
Closed
FIXME(#78800): This breaks because it's a blanket implrustdoc-ui/intra-doc/non-path-primitives
Open
FIXME(#79417): Currently we have no way to offset doctest _columns_rustc_codegen_llvm/src/coverageinfo/mapgen/spans
Open
FIXME(#79625): Consider improving MIR to provide the information needed, to avoid going backrustc_mir_transform/src/coverage/mod
Open
FIXME(#79651): "Unexecuted instantiation" errors appear in coverage resultscoverage/auxiliary/used_crate
Closed
FIXME(#79651): Consider trying to filter out dummy instantiations ofrustc_codegen_llvm/src/coverageinfo/mapgen
Closed
FIXME(#80564): Same for fields, arms, and macro defsrustc_passes/src/check_attr
Closed
FIXME(#80564): We permit struct fields and match arms to have anrustc_passes/src/check_attr
rustc_passes/src/check_attr
Closed
FIXME(#80564): We permit struct fields, match arms and macro defs to have anrustc_passes/src/check_attr
rustc_passes/src/check_attr
rustc_passes/src/check_attr
rustc_passes/src/check_attr
rustc_passes/src/check_attr
rustc_passes/src/check_attr
rustc_passes/src/check_attr
rustc_passes/src/check_attr
rustc_passes/src/check_attr
rustc_passes/src/check_attr
rustc_passes/src/check_attr
Closed
FIXME(#80931)ui/parser/block-no-opening-brace
Open
FIXME(#82080) The deprecation here is only theoretical, and does not actually produce a warningstd/src/collections/mod
Open
FIXME(#82852): Instantiate const parametersrustdoc/clean/mod
Open
FIXME(#82852): We don't record const params since we don't visit const exprs at all andrustdoc/core
Open
FIXME(#83706): this test triggers errors on aarch64-gnuui/sanitizer/hwaddress
Closed
FIXME(#83838) codegen-units=1 triggers llvm assertsui/linkage-attr/linkage-detect-extern-generated-name-collision
ui/linkage-attr/linkage-detect-local-generated-name-collision
Open
FIXME(#83862): this arbitrarily gives precedence to primitives over modules to supportrustdoc/passes/collect_intra_doc_links
Closed
FIXME(#83989): codegen-units=1 triggers linker errors on aarch64-gnuui/sanitizer/hwaddress
Open
FIXME(#85497): make this a deny instead so it's more clear what's happeningrustdoc-ui/doc-include-suggestion
Closed
FIXME(#85708) - once we properly decode a foreignrustc_expand/src/mbe/quoted
Open
FIXME(#86868): We should be canonicalizing, or else moving this to a method of inferencerustc_middle/src/ty/util
Open
FIXME(#88840): The latest version of the Windows SDK broke the visualizer for strdebuginfo/basic-types
Open
FIXME(#91576): Drop shims for coroutines aren't subject to the MIR passes at the endrustc_mir_transform/src/shim
Open
FIXME(#92165): In order to truly resolve this, we need to make surerustc_monomorphize/src/partitioning
Open
FIXME(#93176): this field is made `#[unstable] #[doc(hidden)] pub` tocore/src/pin
Closed
FIXME(#93754): increase the test coverage of this testrun-make/branch-protection-check-IBT/rmake
Open
FIXME(#95162) For the moment, we adopt a conservative approach andrustc_mir_transform/src/early_otherwise_branch
Closed
FIXME(#95489): there should eventually be a lint for these castsrustc_hir_typeck/src/cast
Open
FIXME(#96332): We should be able to suggest a fix and automatically fixui/suggestions/impl-on-dyn-trait-with-implicit-static-bound
Open
FIXME(#97583): Print associated item bindings properly (i.e., not as equality predicates!)rustc_hir_analysis/src/hir_ty_lowering/mod
Open
FIXME(#97583): This isn't syntactically well-formed!rustc_hir_analysis/src/hir_ty_lowering/mod
Open
FIXME(#98437). This regressed at some point andui/generic-associated-types/collectivity-regression
ui/nll/snocat-regression
Open
FIXME(#98711): Ideally we would also deal with type relativerustc_trait_selection/src/error_reporting/infer/need_type_info
Open
FIXME(-Zlower-impl-trait-in-trait-to-assoc-ty): HIR is not present for RPITITsrustc_trait_selection/src/error_reporting/traits/on_unimplemented
FIXME(-Znext-solver): A bit dubious that we're only registeringrustc_borrowck/src/lib
FIXME(-Znext-solver): A lot of the calls to this method shouldrustc_hir_typeck/src/fn_ctxt/_impl
FIXME(-Znext-solver): Can remove this `if` and always simplify to `Placeholder`rustc_type_ir/src/fast_reject
FIXME(-Znext-solver): Doesn't need diagnostics if new solverrustc_traits/src/codegen
FIXME(-Znext-solver): Due to the recursive nature of the new solverrustc_trait_selection/src/infer
FIXME(-Znext-solver): For diagnostic purposes, it would be nicerustc_trait_selection/src/error_reporting/traits/fulfillment_errors
FIXME(-Znext-solver): For performance reasons, we currently reuse an existingrustc_trait_selection/src/traits/normalize
FIXME(-Znext-solver): How do we accurately report an error span here :(rustc_infer/src/infer/outlives/obligations
FIXME(-Znext-solver): Not needed when the hack below is removedrustc_hir_analysis/src/check/compare_impl_item
FIXME(-Znext-solver): Opaque types defined after this would simply get droppedrustc_hir_typeck/src/writeback
FIXME(-Znext-solver): Remove this branch once `replace_opaque_types_with_infer` is gonerustc_hir_typeck/src/_match
FIXME(-Znext-solver): Remove this hack when trait solver overflow can return an errorrustc_mir_transform/src/inline/cycle
FIXME(-Znext-solver): See the linked issue belowrustc_hir_typeck/src/method/probe
FIXME(-Znext-solver): These error messages are horrible and some of themui/traits/next-solver/dyn-incompatibility
FIXME(-Znext-solver): This *actually* shouldn't happen thenrustc_hir_analysis/src/autoderef
FIXME(-Znext-solver): This currently results in unstable query resultsui/dyn-star/param-env-region-infer
FIXME(-Znext-solver): This does not handle impl candidatesrustc_trait_selection/src/solve/inspect/analyse
FIXME(-Znext-solver): This is public because it's used by therustc_infer/src/infer/canonical/mod
FIXME(-Znext-solver): This or public because it is shared with therustc_infer/src/infer/canonical/instantiate
FIXME(-Znext-solver): Try removing this hack again once the newrustc_hir_analysis/src/check/compare_impl_item
FIXME(-Znext-solver): We can likely remove this hack once the new trait solver landsrustc_hir_analysis/src/bounds
FIXME(-Znext-solver): We only need this hack to deal with fatalrustc_hir_typeck/src/method/probe
FIXME(-Znext-solver): We should instead try to find a `Certainty::Yes` response withrustc_next_trait_solver/src/solve/mod
FIXME(-Znext-solver): We're still figuring out how to best handlerustc_hir_typeck/src/fn_ctxt/mod
FIXME(-Znext-solver): remove this hack since we have deferred projection equalityrustc_trait_selection/src/traits/mod
FIXME(-Znext-solver): shouldn't be using old normalizerrustc_trait_selection/src/traits/query/type_op/normalize
FIXME(-Znext-solver): this fails with a mismatched types as theui/impl-trait/recursive-coroutine-boxed
FIXME(-Znext-solver=coinduction): `_source` is currently unused but willrustc_next_trait_solver/src/solve/eval_ctxt/mod
FIXME(-Znext-solver=coinductive): Adding supertraits here can be removed once werustc_next_trait_solver/src/solve/assembly/structural_traits
FIXME(-Znext-solver=coinductive): Are these even coinductive?rustc_type_ir/src/solve/mod
FIXME(-Znext-solver=coinductive): Explain how and why thisrustc_type_ir/src/solve/mod
FIXME(-Znext-solver=coinductive): I think this should be splitrustc_next_trait_solver/src/solve/normalizes_to/inherent
FIXME(-Znext-solver=coinductive): Should this be `GoalSource::ImplWhereBound`?rustc_next_trait_solver/src/solve/normalizes_to/mod
rustc_next_trait_solver/src/solve/trait_goals
FIXME(-Znext-solver=coinductive): With the new coinduction approachui/traits/next-solver/cycles/mixed-cycles-1
ui/traits/next-solver/cycles/mixed-cycles-2
FIXME(117276): remove this, move feature implementations into individualstd/src/sys/mod
Open
FIXME(30524): impl Op<T> for Saturating<T>, impl OpAssign<T> for Saturating<T>core/src/num/saturating
Closed
FIXME(30524): impl Op<T> for Wrapping<T>, impl OpAssign<T> for Wrapping<T>core/src/num/wrapping
Closed
FIXME(30524): uncomment this testui/numbers-arithmetic/num-wrapping
Closed
FIXME(30524): uncomment this test when it's implementedui/numbers-arithmetic/num-wrapping
Closed
FIXME(31528) we emit a bunch of silly errors here due to continuing past theui/parser/issues/issue-10636-2
Closed
FIXME(60254): deduplicate first error in favor of secondui/expr/if/if-without-else-as-fn-expr
Closed
FIXME(69775): Investigate `assert_fake_source_file`ui/proc-macro/span-api-tests
Closed
FIXME(81490): ld64 as of macOS 11 supports the -needed_frameworkrustc_codegen_ssa/src/back/linker
Closed
FIXME(81490): ld64 doesn't support these flags but macOS 11rustc_codegen_ssa/src/back/linker
Closed
FIXME(@ChrisDenton): this doesn't currently work with llvm's lld-link for other reasonsrun-make/msvc-wholearchive/rmake
FIXME(@compiler-errors): This error message is less than helpfului/nll/issue-57362-2
FIXME(@dingxiangfei2009): choose call arguments hererustc_hir_analysis/src/check/region
FIXME(@dingxiangfei2009): it turns out that `self.body.source_scopes` arerustc_mir_transform/src/lint_tail_expr_drop_order
FIXME(@dingxiangfei2009): select the indicesrustc_hir_analysis/src/check/region
FIXME(@gereeter) consider adding yet another type parameter to `NodeRef`alloc/src/collections/btree/node
FIXME(@kjetilkjeka) Debug symbol generation is broken for nvptx64 so we must remove them even in debug modetools/llvm-bitcode-linker/src/linker
FIXME(@lcnr): It's not really "always fine", having fewer impliedrustc_trait_selection/src/traits/query/type_op/implied_outlives_bounds
FIXME(@lcnr): Move this module out of `rustc_hir_analysis`rustc_hir_analysis/src/check/dropck
FIXME(@lcnr): Remove this functionrustc_middle/src/ty/mod
FIXME(@lcnr): This method should not be necessary, we now normalizerustc_middle/src/ty/normalize_erasing_regions
FIXME(@lcnr): This should also store a `DefId`, similar torustc_infer/src/infer/mod
FIXME(@lcnr): This should probably only trigger during analysisrustc_trait_selection/src/traits/select/candidate_assembly
FIXME(@lcnr): We may even consider experimenting with eagerly replacing bound vars duringrustc_trait_selection/src/traits/util
FIXME(@lcnr): Why does this use an `infcx`, there should berustc_mir_build/src/builder/mod
FIXME(@lcnr): remove that after removing `cause.body_id` fromrustc_hir_analysis/src/check/compare_impl_item
FIXME(@lcnr): remove this module and move this function somewhere elserustc_trait_selection/src/traits/query/dropck_outlives
FIXME(@lcnr): rustc currently does not check wf for typesrustc_trait_selection/src/traits/engine
FIXME(@lcnr): this function doesn't seem right and shouldn't exist?rustc_trait_selection/src/traits/mod
FIXME(@mirkootter): For wasm, we currently do not support terminate duringrustc_codegen_ssa/src/mir/block
FIXME(@poliorcetics): move to multiple targets here too, but this will need more worktools/rust-analyzer/crates/rust-analyzer/src/config
FIXME(@rust-lang/lang-team): consider relaxing this?ui/expr/if/if-no-match-bindings
FIXME(BoxyUwU): Private this once we `generic_const_exprs` isn't doing its own normalization routinerustc_trait_selection/src/traits/mod
rustc_trait_selection/src/traits/mod
FIXME(BoxyUwU): We should remove this `Ty` and look up the type for params via `ParamEnv`rustc_middle/src/mir/consts
FIXME(Centril): Can we unconditionally `allow_plus`?rustc_parse/src/parser/ty
FIXME(Centril): Consider not erroring here and accepting `('lt)` insteadrustc_parse/src/parser/ty
FIXME(Centril): Consider semantic errors instead in `ast_validation`rustc_parse/src/parser/pat
FIXME(Centril): For now closures are an exceptionui/parser/self-param-semantic-fail
ui/parser/self-param-syntactic-pass
FIXME(Centril): Reconsider this?alloc/src/vec/partial_eq
FIXME(Centril): This can be used on stable but shouldn'trustc_feature/src/builtin_attrs
tools/rust-analyzer/crates/hir-expand/src/inert_attr_macro
FIXME(Centril): extend with the rest of the non-`async fn` testui/self/arbitrary_self_types_pin_lifetime-async
FIXME(Centril): perhaps these should be semantic restrictionsui/half-open-range-patterns/half-open-range-pats-inclusive-no-end
FIXME(Centril, #69537): Consider reintroducing panic on overwriting a stashed diagnosticrustc_errors/src/lib
Closed
FIXME(ChAoSUnItY): Too many argumentsrustdoc/passes/lint/redundant_explicit_links
rustdoc/passes/lint/redundant_explicit_links
FIXME(CraneStation/cranelift#849) legalize iadd_cout for i8 and i16rustc_codegen_cranelift/src/num
Closed
FIXME(CraneStation/cranelift#849) legalize isub_bout for i8 and i16rustc_codegen_cranelift/src/num
Closed
FIXME(DIAGNOSE): private tuple fieldtools/rust-analyzer/crates/hir-ty/src/infer/pat
FIXME(Ezrashaw): returning is bad because we still might want torustc_borrowck/src/diagnostics/mutability_errors
FIXME(GATs): these are args for the trait ref, args for assoc type itself should betools/rust-analyzer/crates/hir-ty/src/infer
FIXME(GrigorenkoPV): this `if` and `return` should be removedrustc_lint/src/lints
FIXME(JakobDegen) The validator should check that `self.body.phase <rustc_mir_transform/src/validate
rustc_mir_transform/src/validate
FIXME(JakobDegen): Can we make these lists of passes consts?rustc_mir_transform/src/lib
FIXME(JakobDegen): In a previous version, the `Move` case was incorrectly treated asrustc_mir_transform/src/dest_prop
FIXME(JakobDegen): Return a `(usize, usize)` insteadrustc_middle/src/mir/mod
FIXME(JakobDegen): These bodies never instantiated in codegend anyway, so it's notrustc_mir_transform/src/validate
FIXME(JohnTitor): Centril pointed out this looks suspicions, we should revisit hereui/specialization/issue-39618
FIXME(Kixiron): We can always shuffle fields within a given alignment classrustc_abi/src/layout
FIXME(Manishearth) ideally the emitting coderustc_lint/src/early/diagnostics
FIXME(Manishearth) these tests focus on single-character searching (CharSearcher)core/tests/pattern
FIXME(Nadrieril): A `Box` can in theory be matched either with `Box(_rustc_pattern_analysis/src/rustc
tools/rust-analyzer/crates/hir-ty/src/diagnostics/match_check/pat_analysis
FIXME(Nadrieril): use the same order of patterns for bothrustc_pattern_analysis/src/usefulness
FIXME(Nadrieril): which of these are actually allowed?rustc_pattern_analysis/src/rustc
FIXME(Nilstrieb) Make this function setup translatablerustc_builtin_macros/src/util
FIXME(Nilstrieb) Translate macro_rules diagnosticsrustc_expand/src/lib
FIXME(Nilstrieb) Translate proc_macro diagnosticsrustc_expand/src/lib
FIXME(Nilstrieb): Remove this again after a few monthsrustc_parse/src/parser/stmt
FIXME(Oneirical): Bin builds are not reproducible on non-Linux targetsrun-make/reproducible-build/rmake
run-make/reproducible-build/rmake
FIXME(Oneirical): Building with crate type set to `bin` AND having -Cdebuginfo=2run-make/reproducible-build/rmake
run-make/reproducible-build/rmake
FIXME(Oneirical): Except that due to the reliance on llvm-profdata, this testrun-make/cross-lang-lto-pgo-smoketest-clang/rmake
FIXME(Oneirical): Getting this to work on MSVC requires passing libcmt.lib to CCrun-make/no-alloc-shim/rmake
FIXME(Oneirical): There was a strange workaround for MSVC on this testrun-make/cross-lang-lto-pgo-smoketest-clang/rmake
FIXME(Oneirical): These could be generalized into run_make_supportrun-make/remap-path-prefix/rmake
FIXME(Oneirical): These native build functions should take a Path-based generictools/run-make-support/src/external_deps/c_build
FIXME(Oneirical): This could be adapted to work on Windows by checking howrun-make/lto-avoid-object-duplication/rmake
FIXME(Oneirical): This specific case would fail on Linux, should -Cdebuginfo=2run-make/reproducible-build/rmake
FIXME(Oneirical): This will no longer be required after compiletest receives the ability totools/run-make-support/src/scoped_run
FIXME(Oneirical): the DW_CFA symbol appears on Windows-gnu, because uwtablerun-make/panic-abort-eh_frame/rmake
FIXME(RPITIT): Deny nested RPITIT in args toorustc_hir_analysis/src/check/compare_impl_item
FIXME(RPITIT): Don't replace RPITITs with inference varsrustc_infer/src/infer/opaque_types/mod
FIXME(RPITIT): if we ever synthesize new lifetimes for RPITITs and not justrustc_middle/src/ty/context
FIXME(RalfJung) it makes little sense to not promote this in `fn`/`const fn`rustc_mir_transform/src/promote_consts
FIXME(RalfJung): I don't think it would be correct to do any checks forrustc_ty_utils/src/layout/invariant
FIXME(RalfJung): Should we have a cache here?rustc_const_eval/src/interpret/memory
FIXME(RalfJung): could we allow them? Should we? No point in it until we have arustc_mir_transform/src/promote_consts
FIXME(SarthakSingh31): This points to the start of the declaration block andrustc_expand/src/build
FIXME(SergioBenitez): check that the byte range starts and ends at aproc_macro/src/lib
FIXME(SergioBenitez): there is no way for the user to know whatproc_macro/src/lib
FIXME(Swatinem): Fix known issue that coverage code region columns need to be offset by thecoverage-run-rustdoc/doctest
FIXME(TaKO8Ki): Ideally we should support other kindsrustc_trait_selection/src/error_reporting/infer/need_type_info
FIXME(Urgau): Figure out how to handle modules nested in bodiesrustc_lint/src/non_local_def
FIXME(Zalathar): Currently this treats an unused counter as "used"rustc_middle/src/mir/coverage
FIXME(Zalathar): Find a better solution for mixed-coverage buildsrustc_codegen_llvm/src/coverageinfo/mod
FIXME(Zalathar): If we were to forcibly _set_ all excess bits beforerustc_index/src/bit_set
FIXME(Zalathar): Integrate name/value splitting into `DirectiveLine`tools/compiletest/src/header
FIXME(Zalathar): Integrate this into central skip handling somehow?bootstrap/src/core/build_steps/test
FIXME(Zalathar): Make these commands skip all coverage tests, as expectedbootstrap/src/core/build_steps/test
FIXME(Zalathar): Make this the responsibility of the code that determinesrustc_codegen_llvm/src/coverageinfo/mapgen/covfun
FIXME(Zalathar): Perform all `auxiliary` path resolution in one placetools/compiletest/src/lib
FIXME(Zalathar): These `DW_TAG_*` constants are fake values that wererustc_codegen_llvm/src/debuginfo/mod
FIXME(Zalathar): This should probably be `output_base_dir` to avoidtools/compiletest/src/runtest/run_make
FIXME(Zalathar): Try to split this into two separate steps: a user-visiblebootstrap/src/core/build_steps/test
FIXME(ZuseZ4) We should make this more robust to alsorustc_ast/src/expand/autodiff_attrs
FIXME(ZuseZ4): Do we need that for Enzyme too?bootstrap/src/core/build_steps/llvm
FIXME(ZuseZ4): Find a nicer way to use Enzyme Debug buildsbootstrap/src/core/build_steps/llvm
FIXME(ZuseZ4): In a future update we could figure out how to only optimize individual functions gettingrustc_codegen_llvm/src/back/write
FIXME(ZuseZ4): LLVM intends to drop the offload dependency on openmpbootstrap/src/core/build_steps/llvm
FIXME(ZuseZ4): Once autodiff is enabled by default, make this a doc comment which is checkedrustc_builtin_macros/src/autodiff
FIXME(ZuseZ4): The new pass based approach should not need the {Forward/Reverse}First method anymore, sincerustc_codegen_llvm/src/builder/autodiff
FIXME(ZuseZ4): This logic is a bit more complicated than it should be, can we simplify itrustc_codegen_llvm/src/builder/autodiff
FIXME(ZuseZ4): We should add support for Vec here too, but it's less urgent sincerustc_codegen_llvm/src/builder/autodiff
FIXME(ZuseZ4): We still have cases of incorrect inlining across modules, seerustc_builtin_macros/src/autodiff
FIXME(ZuseZ4): We will upstream a safety check later which asserts thatrustc_codegen_llvm/src/builder/autodiff
FIXME(ZuseZ4): Work with Enzyme core devs to clarify what debug metadata issues we haverustc_codegen_llvm/src/builder/autodiff
FIXME(ZuseZ4): `outer_fn` should include upstream safety checks torustc_codegen_llvm/src/builder/autodiff
FIXME(ZuseZ4): support SanitizeHWAddress and prevent illegal/unsupported optsrustc_codegen_llvm/src/back/write
rustc_codegen_llvm/src/builder/autodiff
FIXME(ZuseZ4): the CC/Addr/Vis values are best effort guesses, we should look at tests andrustc_codegen_llvm/src/builder/autodiff
FIXME(aDotInTheVoid): Consider making this non-public in rustdoc-typesrustdoc-json-types/lib
FIXME(aburka): these structs are used solely by #[derive] tocore/src/clone
FIXME(adotinthevoid): Currently, the index is duplicated. This is a sanity checkrustdoc/json/mod
FIXME(adotinthevoid): I'm not sure if these are correcttools/jsondoclint/src/item_kind
FIXME(adotinthevoid): Show line numbertools/jsondocck/src/main
FIXME(adt_const_params): We should check there's not already anrustc_trait_selection/src/error_reporting/traits/fulfillment_errors
FIXME(adt_const_params): handle `ty::FnDef`/`ty::Closure`core/src/marker
FIXME(antoyo): As a temporary workaround for unsupported LLVM intrinsicsrustc_codegen_gcc/src/builder
FIXME(antoyo): I don't think that's true for libgccjitrustc_codegen_gcc/src/type_of
FIXME(antoyo): Re-add -Zmir-opt-level=2 once rust-lang/rust#67529 is fixedrustc_codegen_gcc/build_system/src/test
Closed
FIXME(antoyo): Should we do something with `FnAbiGcc::fn_attributes`?rustc_codegen_gcc/src/abi
rustc_codegen_gcc/src/type_of
FIXME(antoyo): The LTO frontend generates the following warningrustc_codegen_gcc/src/back/write
FIXME(antoyo): `*` might not be expected: rust-lang/rust/issues/116979#issuecomment-1840926865rustc_codegen_gcc/src/declare
FIXME(antoyo): add a check in the libgccjit API to prevent thisrustc_codegen_gcc/src/intrinsic/mod
FIXME(antoyo): allow comparing vector types as equal in libgccjitrustc_codegen_gcc/src/intrinsic/simd
FIXME(antoyo): clippy bug: remove the #[allow] when it's fixedrustc_codegen_gcc/src/lib
FIXME(antoyo): find a way to refactor in order to avoid this hackrustc_codegen_gcc/src/intrinsic/llvm
FIXME(antoyo): fix bitcast to work in constant contextsrustc_codegen_gcc/src/common
FIXME(antoyo): fix libgccjit to allow comparing an integer type with an aligned integer type becauserustc_codegen_gcc/src/builder
FIXME(antoyo): fix the rustc API to avoid having this hackrustc_codegen_gcc/src/context
FIXME(antoyo): for some reasons, disabling SSE results in the following error whenrustc_codegen_gcc/src/attributes
FIXME(antoyo): if there were more than 1 index, this code is probably wrong and wouldrustc_codegen_gcc/src/builder
FIXME(antoyo): invalid castrustc_codegen_gcc/src/declare
FIXME(antoyo): it would be better if the API only called this on struct, not on arraysrustc_codegen_gcc/src/builder
rustc_codegen_gcc/src/builder
FIXME(antoyo): libgccjit cannot create 128-bit values yetrustc_codegen_gcc/src/int
rustc_codegen_gcc/src/int
Closed
FIXME(antoyo): linker gives multiple definitions error on Linuxrustc_codegen_gcc/build_system/src/test
FIXME(antoyo): not sure why, but we have the wrong type hererustc_codegen_gcc/src/builder
FIXME(antoyo): panicking here makes the test passrustc_codegen_gcc/tests/lang_tests_common
FIXME(antoyo): remove once the atomic shim is gonerustc_codegen_gcc/build_system/src/config
FIXME(antoyo): remove the casts when libgccjit can shift an unsigned number by a signed numberrustc_codegen_gcc/src/int
FIXME(antoyo): remove the casts when libgccjit can shift an unsigned number by an unsigned numberrustc_codegen_gcc/src/int
FIXME(antoyo): remove when having a proper APIrustc_codegen_gcc/src/builder
FIXME(antoyo): rustc_codegen_ssa::mir::intrinsic uses different types for a and b but theyrustc_codegen_gcc/src/builder
FIXME(antoyo): segfault in dump_reproducer_to_file() might be caused byrustc_codegen_gcc/src/back/write
FIXME(antoyo): that shouldn't be Sync. Parallel compilation is currently disabled with "-Zno-parallel-llvm"rustc_codegen_gcc/src/lib
FIXME(antoyo): that's not going to work for masks bigger than 128 bitsrustc_codegen_gcc/src/intrinsic/simd
Closed
FIXME(antoyo): the executables compiled with LTO are bigger than those compiled without LTOrustc_codegen_gcc/src/back/lto
FIXME(antoyo): the rustc API seems to call get_fn_addr() when not needed (e.g. for FFI)rustc_codegen_gcc/src/context
FIXME(antoyo): there's some issues with using the u128 code that follows, so hard-coderustc_codegen_gcc/src/common
FIXME(antoyo): this cast should not be necessary. Removerustc_codegen_gcc/src/int
FIXME(antoyo): this check that we don't call get_aligned() a second time on a typerustc_codegen_gcc/src/builder
FIXME(antoyo): this does not zero-extendrustc_codegen_gcc/src/builder
FIXME(antoyo): this is a hack because libgccjit currently only supports alpha, num and _rustc_codegen_gcc/src/declare
FIXME(antoyo): this is a wrong cast. That requires changing the compiler APIrustc_codegen_gcc/src/context
rustc_codegen_gcc/src/declare
FIXME(antoyo): this is misleading to use the next power of two as rustc_codegen_ssarustc_codegen_gcc/src/type_
FIXME(antoyo): this seems to produce the wrong resultrustc_codegen_gcc/src/builder
FIXME(antoyo): use a new function new_rvalue_from_unsigned_long()?rustc_codegen_gcc/src/int
FIXME(antoyo): use the proper builtins for llvm.x86.sse2.cmp.pd and similarrustc_codegen_gcc/src/base
FIXME(antoyo): we never reach this because get_declared_value only returns global variablesrustc_codegen_gcc/src/callee
FIXME(arielb1): use this instead of field.ty everywhererustc_hir_typeck/src/fn_ctxt/_impl
FIXME(arora-aman): Change `_x` to `_`ui/closures/2229_closure_analysis/wild_patterns
ui/closures/2229_closure_analysis/wild_patterns
ui/closures/2229_closure_analysis/wild_patterns
FIXME(associated_const_equality): All users of normalize_canonicalized_projection_tyrustc_traits/src/normalize_projection_ty
FIXME(associated_const_equality): Also add associated consts torustc_next_trait_solver/src/solve/assembly/structural_traits
FIXME(associated_const_equality): Handle consts here as well? Maybe this progress type should just takerustc_trait_selection/src/traits/project
FIXME(associated_const_equality): This has quite a few false positives and negativesrustc_hir_analysis/src/hir_ty_lowering/errors
FIXME(associated_const_equality): We should walk the const instead of not doing anythingrustc_hir_analysis/src/hir_ty_lowering/dyn_compatibility
FIXME(associated_const_equality): allow for consts hererustc_codegen_ssa/src/debuginfo/type_names
FIXME(async_closures): Get rid of this in favor of `BoundVarReplacerDelegate`rustc_type_ir/src/ty_kind/closure
FIXME(async_closures): Implement thisrustc_hir_typeck/src/fn_ctxt/_impl
FIXME(async_closures): It may be useful to add a debug assert hererustc_borrowck/src/type_check/mod
FIXME(async_closures): It's kind of wacky that we must apply thisrustc_borrowck/src/type_check/input_output
FIXME(async_closures): This could be cleaned up. It's a bit janky that we're justrustc_hir_typeck/src/upvar
FIXME(async_closures): This is probably not going to be correct w.r.trustc_codegen_ssa/src/debuginfo/type_names
FIXME(async_closures): This is somewhat uglyrustc_middle/src/ty/print/mod
FIXME(async_closures): This needs a better error message!ui/async-await/async-closures/not-fn
FIXME(async_closures): This shouldn't be needed when we fixrustc_symbol_mangling/src/legacy
rustc_symbol_mangling/src/v0
FIXME(async_closures): This shouldn't be needed, and we should be populatingrustc_ty_utils/src/abi
FIXME(async_closures): Validity constraints here could be cleaned uprustc_trait_selection/src/traits/project
FIXME(async_fn_in_dyn_trait): Think of a better way to unify these code pathsrustc_trait_selection/src/traits/dyn_compatibility
FIXME(async_fn_in_dyn_trait): We should check that this bound is legal toorustc_trait_selection/src/traits/dyn_compatibility
FIXME(async_fn_track_caller): Can this be moved above?rustc_ast_lowering/src/item
FIXME(bjorn3): Add noreturn attributerustc_codegen_gcc/src/allocator
FIXME(bjorn3): implementrustc_codegen_gcc/src/builder
FIXME(blyxyas): In a future revision, we should also graph #![allow]srustc_lint/src/levels
FIXME(bob_twinkles) is this actually the right thing to do?rustc_borrowck/src/polonius/legacy/loan_invalidations
FIXME(bootstrap): This isn't a known bug, we just don't want to write any error annotationsui/const-generics/early/const_arg_trivial_macro_expansion-1
FIXME(bryangarza): Add separate `IfAny` case, instead of treating as `IfAll`rustc_trait_selection/src/traits/select/confirmation
FIXME(bytecodealliance/wasmtime#6104) do something more efficient for transmutes between vectors and integersrustc_codegen_cranelift/src/value_and_place
Closed
FIXME(bytecodealliance/wasmtime#6104) use bitcast instead of store to get from i64x2 to i128rustc_codegen_cranelift/src/cast
rustc_codegen_cranelift/src/codegen_i128
Closed
FIXME(bytecodealliance/wasmtime#8901) set S_CSTRING_LITERALS section type whenrustc_codegen_cranelift/src/constant
Closed
FIXME(c410-f3r) Nested repetitions are unimplementedrustc_expand/src/mbe/transcribe
FIXME(c410-f3r) See rust-lang/rust/issues/96949rustc_builtin_macros/src/assert
FIXME(c_variadic): Should we just allow `...` syntacticallyrustc_parse/src/parser/ty
FIXME(calebcartwright 2021-01-03) - This exists strictly to maintain legacytools/rustfmt/src/visitor
tools/rustfmt/src/visitor
Closed
FIXME(calebcartwright) - Hopefully one day we cantools/rustfmt/tests/source/statements
tools/rustfmt/tests/target/statements
FIXME(calebcartwright) - This is a hack around a bug in the handling of TyKind::ImplTraittools/rustfmt/src/items
FIXME(calebcartwright) - remove 'version' at some pointtools/rustfmt/src/config/mod
FIXME(calebcartwright) - we need to determine how we'll handle thetools/rustfmt/src/formatting
FIXME(camelid): This may not work correctly if `item_did` is a modulerustdoc/html/format
FIXME(camlorn) also consider small vector optimization hererustc_abi/src/lib
FIXME(chenyukang), remove this after type ascription is removed from ASTtools/clippy/clippy_utils/src/sugg
tools/clippy/clippy_utils/src/sugg
FIXME(chrisvittal) Clean up this function, list of FIXME itemsrustc_hir_analysis/src/check/compare_impl_item
FIXME(cjgillot) Stop hashing HIR manually hererustc_mir_transform/src/coverage/mod
FIXME(clause): This is wonkyrustc_middle/src/ty/structural_impls
FIXME(compiler-errors): Does this ever actually show uprustc_borrowck/src/diagnostics/region_name
FIXME(compiler-errors): Don't like that this needs `Ty`s, butrustc_trait_selection/src/error_reporting/infer/nice_region_error/trait_impl_difference
FIXME(compiler-errors): I don't think this is neededrustc_trait_selection/src/traits/select/confirmation
FIXME(compiler-errors): I'm not exactly sure if this is expected to pass or notui/impl-trait/in-trait/specialization-broken
FIXME(compiler-errors): It would be nice to do the samerustc_trait_selection/src/error_reporting/traits/suggestions
FIXME(compiler-errors): Perhaps there is a case where we need to normalize thisrustc_hir_analysis/src/check/wfcheck
FIXME(compiler-errors): Right now this is only being used for regionrustc_trait_selection/src/error_reporting/infer/note
rustc_trait_selection/src/error_reporting/infer/region
FIXME(compiler-errors): Support suggestions for other matching enum variantsrustc_hir_typeck/src/method/suggest
FIXME(compiler-errors): Think about removing thisrustc_middle/src/ty/consts
rustc_middle/src/ty/consts
rustc_middle/src/ty/predicate
rustc_middle/src/ty/predicate
rustc_middle/src/ty/sty
rustc_middle/src/ty/util
FIXME(compiler-errors): This check is *so* rudimentaryrustc_hir_typeck/src/fn_ctxt/suggestions
FIXME(compiler-errors): This could at least do some first-orderrustc_trait_selection/src/error_reporting/infer/mod
FIXME(compiler-errors): This could be generalized, both torustc_trait_selection/src/error_reporting/traits/fulfillment_errors
FIXME(compiler-errors): This could be problematic if something has tworustc_hir_typeck/src/fn_ctxt/checks
FIXME(compiler-errors): This could use `<$ty as Pointee>::Metadata == ()`rustc_hir_analysis/src/check/intrinsicck
FIXME(compiler-errors): This currently suggests the wrong thingui/suggestions/dont-suggest-doc-hidden-variant-for-enum/hidden-child
FIXME(compiler-errors): This fixup should suggest the full box path, not just `Box`ui/type/type-recursive-box-shadowed
FIXME(compiler-errors): This gives us better spans for badrustc_trait_selection/src/traits/misc
FIXME(compiler-errors): This is kind of a mess, but required for obligationsrustc_trait_selection/src/error_reporting/traits/suggestions
FIXME(compiler-errors): This should and could be deduplicated into a queryrustc_hir_analysis/src/coherence/builtin
FIXME(compiler-errors): This suggestion might be erroneous if Box is shadowedrustc_middle/src/values
FIXME(compiler-errors): We can actually do this if the checked_ty isrustc_hir_typeck/src/fn_ctxt/suggestions
FIXME(compiler-errors): We could also recover `; PAT =>` hererustc_parse/src/parser/expr
FIXME(compiler-errors): We could probably point to somethingrustc_trait_selection/src/error_reporting/traits/suggestions
FIXME(compiler-errors): We may benefit from resolving regions hererustc_hir_analysis/src/collect
FIXME(compiler-errors): We should remove this when the old solver goes away;rustc_middle/src/ty/util
FIXME(compiler-errors): are Bound and Placeholder types ever known sized?rustc_trait_selection/src/traits/project
FIXME(compiler-errors): is this correct?rustc_mir_transform/src/shim
FIXME(compiler-errors): this could be improved by suggesting liftingrustc_parse/src/parser/path
FIXME(compiler-errors): this should probably parse an arbitrary expr and notrustc_parse/src/parser/stmt
FIXME(compiler-team#422): musl targets should be dynamically linked by defaultrustc_target/src/spec/targets/aarch64_unknown_linux_musl
rustc_target/src/spec/targets/arm_unknown_linux_musleabi
rustc_target/src/spec/targets/arm_unknown_linux_musleabihf
rustc_target/src/spec/targets/armv5te_unknown_linux_musleabi
rustc_target/src/spec/targets/armv7_unknown_linux_musleabi
rustc_target/src/spec/targets/armv7_unknown_linux_musleabihf
rustc_target/src/spec/targets/i586_unknown_linux_musl
rustc_target/src/spec/targets/i686_unknown_linux_musl
rustc_target/src/spec/targets/mips64_unknown_linux_muslabi64
rustc_target/src/spec/targets/mips64el_unknown_linux_muslabi64
rustc_target/src/spec/targets/powerpc64_unknown_linux_musl
rustc_target/src/spec/targets/powerpc64le_unknown_linux_musl
rustc_target/src/spec/targets/powerpc_unknown_linux_musl
rustc_target/src/spec/targets/powerpc_unknown_linux_muslspe
rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl
rustc_target/src/spec/targets/s390x_unknown_linux_musl
rustc_target/src/spec/targets/thumbv7neon_unknown_linux_musleabihf
rustc_target/src/spec/targets/x86_64_unknown_linux_musl
Closed
FIXME(const-generic-body): The expected type should not betools/rust-analyzer/crates/hir-def/src/lib
FIXME(const-generic-body): Use an stable id for in type conststools/rust-analyzer/crates/hir-def/src/lib
FIXME(const-generic-body): We should not get the return type in this waytools/rust-analyzer/crates/hir-ty/src/infer
FIXME(const-hack)core/tests/option
FIXME(const-hack) Remove me once `Ord::max` is usable in constcore/src/ptr/alignment
FIXME(const-hack) Simplify the implementation once more `str` methods get const-stablerustc_mir_transform/src/pass_manager
rustc_mir_transform/src/pass_manager
rustc_mir_transform/src/pass_manager
FIXME(const-hack) make this const againrustc_ast/src/ptr
FIXME(const-hack) replace `mem::replace` by `mem::take` when the latter is const readycore/src/option
FIXME(const-hack) replace with `From`core/src/ptr/unique
FIXME(const-hack) replace with mincore/src/ptr/mod
FIXME(const-hack) replace with range indexcore/src/ffi/c_str
core/src/ffi/c_str
FIXME(const-hack): Replace with `text.iter().pos(|c| *c == x)`core/src/slice/memchr
FIXME(const-hack): Revert to `slice::get` when slice indexing becomes possible in constcore/src/unicode/unicode_data
core/src/unicode/unicode_data
tools/unicode-table-generator/src/range_search
tools/unicode-table-generator/src/range_search
FIXME(const-hack): This implementation can be reverted whencore/src/slice/ascii
FIXME(const-hack): This should become `map` again, once it's `const`core/src/str/error
FIXME(const-hack): This should just be `VecDeque::new_in(Global)` once that hits stablealloc/src/collections/vec_deque/mod
FIXME(const-hack): This should use `?` again, once it's `const`core/src/str/converts
core/src/str/converts
FIXME(const-hack): Use `?` insteadcore/src/slice/memchr
FIXME(const-hack): Used because the `?` operator is not allowed in a const contextcore/src/num/mod
FIXME(const-hack): We would like to simply iterate using `for` loops but this isn't currently allowed in constant expressionscore/src/slice/ascii
core/src/slice/ascii
FIXME(const-hack): We would like to simply use iterators for this (as in the original implementation), but this is not allowed in constant expressionscore/src/array/mod
core/src/array/mod
FIXME(const-hack): Without const traits, we need this instead of `get_unchecked`core/src/slice/mod
core/src/slice/mod
FIXME(const-hack): could be written with `and_then`core/src/option
core/src/result
FIXME(const-hack): once Result::ok is const fn, use it herecore/src/char/convert
FIXME(const-hack): once then_some is const fn, use it herecore/src/char/methods
FIXME(const-hack): replace with `From`core/src/ptr/unique
FIXME(const-hack): replace with cmpcore/src/num/int_macros
FIXME(const-hack): the const function `from_raw_parts` is used to make thiscore/src/slice/mod
FIXME(const-hack): this implementation, which sidesteps using `Option::map` since it's not constcore/src/option
FIXME(const-hack): this implementation, which sidesteps using `Result::map` since it's not constcore/src/result
core/src/result
FIXME(const-hack): use `and_then` once that is possiblecore/src/time
FIXME(const-hack): use `map` once that is possiblecore/src/option
core/src/option
FIXME(const-hack): use get_uncheckedcore/src/ffi/c_str
FIXME(const-hack): use unreachable! once that works in constalloc/src/vec/in_place_collect
FIXME(const-hack, fee1-dead): use range slicingcore/src/slice/memchr
FIXME(const-trait): readd thisrustdoc/hide-complex-unevaluated-const-arguments
FIXME(const_generics): Add `DefKind::TyParam` and `SelfTyParam` once we support genericrustc_resolve/src/late/diagnostics
FIXME(const_generics): Currently this only suggests one const parameterui/const-generics/infer/one-param-uninferred
FIXME(const_generics): Make sure that `<'a, 'b, const N: &'a &'b u32>` is soundrustc_trait_selection/src/traits/query/type_op/implied_outlives_bounds
rustc_trait_selection/src/traits/query/type_op/implied_outlives_bounds
FIXME(const_generics): This is a temporary and semi-artificial restriction until therustc_hir_analysis/src/hir_ty_lowering/bounds
FIXME(const_generics): create real const to allow fn items as const pathsrustc_hir_analysis/src/hir_ty_lowering/mod
FIXME(const_generics): handle paths when #67075 is fixedrustc_lint/src/unused
Open
FIXME(const_generics): having special methods for rustdoc in `rustc_hir_analysis` is cursedrustc_hir_analysis/src/lib
FIXME(const_generics): these diagnostics are awful, because trait objects without `dyn` wereui/const-generics/min_const_generics/const-expression-suggest-missing-braces
FIXME(const_generics): we should hide this error as we've already errored aboveui/const-generics/type-mismatch-in-nested-goal
FIXME(const_generics): we should suggest to the user how they can resolve thisrustc_trait_selection/src/error_reporting/traits/fulfillment_errors
FIXME(const_generics_defaults): It seems like we aren't testing the right thing hereui/const-generics/defaults/default-annotation
FIXME(const_trait_impl)rustc_hir_analysis/src/impl_wf_check/min_specialization
rustc_trait_selection/src/error_reporting/traits/fulfillment_errors
rustc_trait_selection/src/error_reporting/traits/fulfillment_errors
tools/clippy/tests/ui/missing_const_for_fn/could_be_const
tools/clippy/tests/ui/missing_const_for_fn/could_be_const
FIXME(const_trait_impl) #[const_trait]core/src/ops/function
core/src/ops/function
core/src/ops/function
FIXME(const_trait_impl) ^ should errorui/traits/const-traits/specialization/const-default-bound-non-const-specialized-bound
FIXME(const_trait_impl) add `const_trait` to `Fn` so we use `~const`rustdoc/rfc-2632-const-trait-impl
FIXME(const_trait_impl) add effectsui/traits/const-traits/const-trait-bounds-trait-objects
FIXME(const_trait_impl) aux-build:closure-in-foreign-crate.rsui/consts/closure-in-foreign-crate
FIXME(const_trait_impl) check constnessrustdoc/clean/mod
FIXME(const_trait_impl) check-passui/traits/const-traits/call-generic-in-impl
ui/traits/const-traits/call-generic-method-chain
ui/traits/const-traits/call-generic-method-dup-bound
ui/traits/const-traits/call-generic-method-pass
ui/traits/const-traits/call
ui/traits/const-traits/const_derives/derive-const-with-params
FIXME(const_trait_impl) const _: () = closure_in_foreign_crate::test();ui/consts/closure-in-foreign-crate
FIXME(const_trait_impl) constnesstools/clippy/clippy_utils/src/qualify_min_const_fn
FIXME(const_trait_impl) derive_const as suggestion?rustc_trait_selection/src/error_reporting/traits/suggestions
FIXME(const_trait_impl) extern crate closure_in_foreign_crate;ui/consts/closure-in-foreign-crate
FIXME(const_trait_impl) make it passui/consts/const_cmp_type_id
FIXME(const_trait_impl) replace with `NonNull::from`core/src/ffi/c_str
FIXME(const_trait_impl) restore `const_trait` to `Destruct`rustdoc/rfc-2632-const-trait-impl
FIXME(const_trait_impl) revisit thisrustc_const_eval/src/check_consts/ops
FIXME(const_trait_impl) this should probably say constant closuresui/traits/const-traits/const_closure-const_trait_impl-ice-113381
FIXME(const_trait_impl) use original ipnsort approach with choose_unstable_small_sortcore/src/slice/sort/shared/smallsort
FIXME(const_trait_impl): ATPITs could be conditionally const?rustc_middle/src/ty/mod
FIXME(const_trait_impl): Consider making the note/reason the message of the diagnosticrustc_ast_passes/src/errors
FIXME(const_trait_impl): Do we need any of this on the non-const codepath?rustc_const_eval/src/check_consts/ops
FIXME(const_trait_impl): Improve the span hererustc_passes/src/stability
FIXME(const_trait_impl): Instead of suggesting `+ const Trait`, suggestui/traits/const-traits/unsatisfied-const-trait-bound
FIXME(const_trait_impl): Provide structured suggestions (e.g., add `const` / `#[const_trait]` here)rustc_ast_passes/src/errors
FIXME(const_trait_impl): Should this be `is_const_fn_raw`? It depends on if we moverustc_hir_typeck/src/callee
FIXME(const_trait_impl): Somehow emit `the trait bound `T: const Trait`ui/traits/const-traits/unsatisfied-const-trait-bound
FIXME(const_trait_impl): The constness environment for const closures is wrongui/traits/const-traits/call-const-closure
FIXME(const_trait_impl): This API should be really reworked. It's dangerously general forrustc_const_eval/src/check_consts/qualifs
FIXME(const_trait_impl): This should eventually be caught hererustc_hir_typeck/src/callee
FIXME(const_trait_impl): Use this span with a better cause coderustc_hir_typeck/src/callee
FIXME(const_trait_impl): We *could* enforce `&T: ~const Deref` hererustc_hir_typeck/src/fn_ctxt/_impl
FIXME(const_trait_impl): We can probably use this `HostEffect` pred to render `~const`rustdoc/clean/mod
FIXME(const_trait_impl): We could enforce these; they correspond torustc_hir_typeck/src/fn_ctxt/_impl
FIXME(const_trait_impl): We may need to do this using the higher-rankedrustc_trait_selection/src/traits/fulfill
FIXME(const_trait_impl): We should be enforcing these effects unconditionallyrustc_hir_typeck/src/callee
FIXME(const_trait_impl): We should probably enforce theserustc_hir_typeck/src/fn_ctxt/_impl
FIXME(const_trait_impl): We should recompute the predicate with `~const`rustc_trait_selection/src/error_reporting/traits/fulfillment_errors
FIXME(const_trait_impl): When we do that, please make sure to also registerrustc_hir_analysis/src/check/check
FIXME(const_trait_impl): do a more fine-grained check whether thisrustc_const_eval/src/check_consts/check
FIXME(const_trait_impl): how is this supposed to interact with `#[rustc_const_stable_indirect]`?rustc_passes/src/stability
FIXME(const_trait_impl): revert to span_bug?rustc_const_eval/src/check_consts/ops
FIXME(const_trait_impl): should this behavior also be used byrustc_next_trait_solver/src/solve/assembly/mod
FIXME(const_trait_impl): these arms should error because we can't enforce themrustc_hir_typeck/src/callee
FIXME(const_trait_impl): we could perhaps do this for `Iterator`rustc_const_eval/src/check_consts/ops
FIXME(const_trait_impl): we have to eventually allow some of these if these things can ever be stablerustc_const_eval/src/check_consts/mod
FIXME(const_trait_impl, fee1-dead) revert to const destruct once it works againtools/clippy/clippy_utils/src/qualify_min_const_fn
FIXME(coroutines): Do we want this to apply to synthetic coroutines?rustc_borrowck/src/diagnostics/mod
FIXME(coroutines): Make this just return the `ClosureKind` directly?rustc_borrowck/src/diagnostics/mod
FIXME(danielhenrymantilla): a private macro should need no stability guaranteecore/src/future/join
FIXME(davidtwco) translatable deprecated attrrustc_lint/src/lints
FIXME(davidtwco): Support Split DWARF on Windows GNU - may require LLVM changes torustc_target/src/spec/base/windows_gnu
rustc_target/src/spec/base/windows_gnullvm
FIXME(davidtwco): This is a hack to detect macros which produce spans of therustc_ast_passes/src/ast_validation
FIXME(davidtwco): avoid depending on the error message textrustc_expand/src/mbe/diagnostics
FIXME(davidtwco): deliberately do not include `UNTRANSLATABLE_DIAGNOSTIC` andrustc_lint/src/lib
FIXME(davidtwco): make translatablerustc_lint/src/lints
FIXME(davidtwco): this isn't properly translatable because of therustc_lint/src/lints
rustc_lint/src/lints
FIXME(davidtwco): this isn't properly translatable because of the pre/postrustc_lint/src/lints
FIXME(davidtwco): translatable expected/foundrustc_lint/src/lints
FIXME(default_field_values): Implement formattingtools/rustfmt/src/items
FIXME(default_field_values): This needs to be adjustedtools/rustfmt/src/spanned
FIXME(default_type_parameter_fallback): Consider reallowing them once they work properlyui/generic-const-items/parameter-defaults
FIXME(deferred_projection_equality): This isn't right, I think?rustc_infer/src/infer/relate/lattice
FIXME(deferred_projection_equality): add a test that this is true during coherenceui/traits/next-solver/alias-relate/alias_eq_cant_be_furthur_normalized
FIXME(denzp): add tests for `core::sync::atomic::*`assembly/nvptx-atomics
FIXME(deref_patterns): At least detect that `box _` is irrefutablerustc_pattern_analysis/src/rustc
FIXME(deref_patterns): The precise semantics are undecided; the rough idea is thatcore/src/ops/deref
FIXME(deref_patterns): dedup temporaries to avoid multiple `deref()` calls?rustc_mir_build/src/builder/matches/match_pair
FIXME(deref_patterns): fails to typecheck because `"foo"` has type &str but deref creates aui/pattern/deref-patterns/typeck_fail
FIXME(diagnostic_namespace): disallow filters for nowrustc_trait_selection/src/error_reporting/traits/on_unimplemented
FIXME(dianne): That note shouldn't depend on a coercion being blamed; see issuerustc_borrowck/src/region_infer/mod
FIXME(dianne): this misses the case where users need both to deref and remove `&`srustc_trait_selection/src/error_reporting/traits/suggestions
FIXME(dingxiangfei2009): Investigate the set of attributes on target struct to be propagated to implsrustc_builtin_macros/src/deriving/coerce_pointee
FIXME(dlrobertson): In order to use the VaArgSafe trait in a public interfacecore/src/ffi/va_list
FIXME(dtolnay): We actually want both of these to work. I think it'sui/macros/format-args-temporaries-in-write
FIXME(dyn-star)tools/clippy/clippy_utils/src/qualify_min_const_fn
FIXME(dyn-star) same FIXME as above applies here toorustc_middle/src/ty/layout
FIXME(dyn-star): Do the right thing with DynKindsrustc_codegen_cranelift/src/value_and_place
FIXME(dyn-star): We probably have to do a bitcast first, then inttoptrrustc_codegen_ssa/src/base
FIXME(dyn-star): We should regionck this implementationrustc_hir_analysis/src/coherence/builtin
FIXME(dyn-star): make sure nothing needs to be done hererustc_mir_transform/src/validate
FIXME(dyn-star): need to update v0 mangling docsrustc_symbol_mangling/src/v0
FIXME(dyn_compat_renaming): Rename test and update commentrustc_hir_analysis/src/coherence/mod
FIXME(dyn_compat_renaming): Update URL and link textstd/src/keyword_docs
FIXME(dyn_compat_renaming): Update the URLrustc_trait_selection/src/error_reporting/traits/mod
FIXME(dyn_compat_renaming): Update the URL once the Reference is updatedrustdoc/html/render/print_item
FIXME(dyn_compat_renaming): Update the URL once the Reference is updated and hits stablerustdoc-json-types/lib
FIXME(dyn_star): Make this into a deriveui/dyn-star/drop
FIXME(dyn_star): We should probably allow things like casting fromrustc_hir_typeck/src/coercion
FIXME(ecstaticmorse): Maybe we should `bug` here? This should probably only berustc_middle/src/ty/util
FIXME(eddyb) Get more valid `Span`s on queriesrustc_query_system/src/query/mod
FIXME(eddyb) Improve unoptimized codegen to avoid the temporaryui/codegen/issue-28950
FIXME(eddyb) Precompute a custom symbol name based on attributesrustc_symbol_mangling/src/lib
FIXME(eddyb) This could be more efficient with a "gap buffer"rustc_middle/src/mir/mod
FIXME(eddyb) This one doesn't even compile because of the unsupported syntaxui/associated-types/associated-types-project-from-hrtb-in-struct
FIXME(eddyb) We could find a better approximation if ity.align < alignrustc_codegen_gcc/src/type_
FIXME(eddyb) `legacy` mangling uses `{{closure}}`, while `v0`codegen/internalize-closures
FIXME(eddyb) `pub` only for `ExecutionStrategy` belowproc_macro/src/bridge/server
FIXME(eddyb) add debuginfo for unsized places toorustc_codegen_ssa/src/mir/debuginfo
FIXME(eddyb) almost all of this should be in `rustc_codegen_ssa::mir::debuginfo`rustc_codegen_llvm/src/debuginfo/create_scope_map
FIXME(eddyb) always use the shortest range, e.g., by findingrustc_abi/src/lib
FIXME(eddyb) avoid computing this if possible, when `instance` isrustc_codegen_ssa/src/mir/block
FIXME(eddyb) avoid passing information like this, and instead add morerustc_middle/src/ty/layout
FIXME(eddyb) avoid printing twice (needed to ensurerustc_middle/src/ty/print/pretty
FIXME(eddyb) avoid rechecking UTF-8 validityrustc_symbol_mangling/src/v0
FIXME(eddyb) benchmark if this would be faster as a `VecDeque`rustc_passes/src/reachable
FIXME(eddyb) build a better abstraction for permutations, if possiblerustc_abi/src/lib
rustc_index/src/slice
rustc_ty_utils/src/layout
FIXME(eddyb) compute both `trait_` and `for_` fromrustdoc/clean/blanket_impl
FIXME(eddyb) consolidate this and other methods that find the appropriaterustc_abi/src/lib
FIXME(eddyb) deduplicate this with the identicalrustc_codegen_ssa/src/mir/operand
FIXME(eddyb) describe the `F` type (e.g. via `type_name::<F>`) once panicproc_macro/src/bridge/selfless_reify
FIXME(eddyb) does this matter at all for promotion?rustc_mir_transform/src/promote_consts
FIXME(eddyb) does this need to be separate from `loc.line` for some reason?rustc_codegen_llvm/src/debuginfo/mod
FIXME(eddyb) find a better name; this is more general than "printing"rustc_middle/src/ty/print/mod
FIXME(eddyb) find a common convention for all of the debuginfo-relatedrustc_codegen_gcc/src/debuginfo
rustc_codegen_llvm/src/debuginfo/mod
rustc_codegen_llvm/src/debuginfo/mod
rustc_codegen_ssa/src/traits/backend
rustc_codegen_ssa/src/traits/debuginfo
rustc_codegen_ssa/src/traits/debuginfo
rustc_codegen_ssa/src/traits/debuginfo
FIXME(eddyb) find a nicer way to do thisrustc_codegen_gcc/src/intrinsic/mod
rustc_codegen_llvm/src/intrinsic
FIXME(eddyb) find a place for this (or a way to replace it)rustc_codegen_ssa/src/debuginfo/mod
FIXME(eddyb) find something better to key this onrustc_middle/src/ty/print/pretty
FIXME(eddyb) generate these impls by pattern-matching on theproc_macro/src/bridge/client
FIXME(eddyb) get a better `span` hererustc_middle/src/ty/layout
rustc_middle/src/ty/layout
FIXME(eddyb) ignoring `obligations` might cause false positivesrustdoc/clean/blanket_impl
FIXME(eddyb) investigate more compact encodings for sparse tablesrustc_metadata/src/rmeta/table
FIXME(eddyb) is this `+ 1` needed at all?rustc_codegen_ssa/src/mir/debuginfo
FIXME(eddyb) is this `doc(hidden)` check needed?rustdoc/passes/collect_trait_impls
FIXME(eddyb) is this really needed?rustc_codegen_ssa/src/mir/debuginfo
FIXME(eddyb) make this O(1) by using a pre-cached query name `EventId`rustc_query_impl/src/profiling_support
FIXME(eddyb) make this a `ty::TraitRef<'tcx>` setrustdoc/core
FIXME(eddyb) maybe cache this?rustc_mir_transform/src/promote_consts
FIXME(eddyb) maybe include I128 in the future, when it works everywhererustc_abi/src/lib
FIXME(eddyb) maybe include the crate name in this?rustc_metadata/src/fs
FIXME(eddyb) maybe replace `Bridge::enter` with this?proc_macro/src/bridge/client
FIXME(eddyb) maybe use something like this for an unified `fn_abi_of`, notrustc_middle/src/ty/layout
FIXME(eddyb) move all the code accessing internal fields like thisrustc_lint/src/context
FIXME(eddyb) pass `&CStr` directly to FFI once it's a thin pointerrustc_codegen_llvm/src/builder
FIXME(eddyb) pass something else for the name so no work is donerustc_codegen_ssa/src/mir/place
rustc_codegen_ssa/src/mir/place
FIXME(eddyb) perhaps compute this on the fly if cheap enough?rustc_metadata/src/rmeta/mod
FIXME(eddyb) perhaps group the signature/type-containing (or all of them?)rustc_ty_utils/src/abi
FIXME(eddyb) perhaps make this mandatory to get contexts to track it better?rustc_middle/src/ty/layout
FIXME(eddyb) perhaps move some of this logic intorustc_codegen_cranelift/src/abi/mod
rustc_codegen_ssa/src/mir/block
FIXME(eddyb) perhaps use `ItemLocalId` instead?rustc_passes/src/upvars
FIXME(eddyb) print this with `print_def_path`rustc_middle/src/ty/print/pretty
FIXME(eddyb) producing readable type names for trait objects can resultrustc_codegen_gcc/src/type_of
rustc_codegen_llvm/src/type_of
FIXME(eddyb) rename `llbb` and other `ll`-prefixed things to use arustc_codegen_ssa/src/mir/block
FIXME(eddyb) rename `llbbs` and other `ll`-prefixed things to use arustc_codegen_ssa/src/mir/mod
FIXME(eddyb) rename this to `eh_pad_for_uncached`rustc_codegen_ssa/src/mir/block
FIXME(eddyb) rename this to `eh_pad_for`rustc_codegen_ssa/src/mir/block
FIXME(eddyb) rename this to `eh_pads`rustc_codegen_ssa/src/mir/mod
FIXME(eddyb) rename this to better indicate it's a duplicate ofrustc_codegen_gcc/src/debuginfo
rustc_codegen_gcc/src/debuginfo
rustc_codegen_llvm/src/debuginfo/mod
rustc_codegen_llvm/src/debuginfo/mod
FIXME(eddyb) replace `llvm.dbg.declare` with `llvm.dbg.addr`rustc_codegen_llvm/src/debuginfo/mod
FIXME(eddyb) replace this with a `Function` "subclass" of `Value`rustc_codegen_llvm/src/common
FIXME(eddyb) replace this with something typed, like an `enum`rustc_ty_utils/src/abi
FIXME(eddyb) replace uses of this with `append_sibling_block`rustc_codegen_ssa/src/traits/builder
FIXME(eddyb) shorten the name so windows doesn't choke on itui/traits/object/with-self-in-projection-output-repeated-supertrait
FIXME(eddyb) should use `def_span`rustc_middle/src/ty/print/pretty
rustc_middle/src/ty/print/pretty
rustc_middle/src/ty/print/pretty
FIXME(eddyb) shouldn't `ArgumentVariable` indicesrustc_codegen_ssa/src/mir/debuginfo
FIXME(eddyb) shouldn't `ArgumentVariable` indices berustc_codegen_ssa/src/mir/debuginfo
FIXME(eddyb) take `whole_local_var.source_info.scope` intorustc_codegen_ssa/src/mir/debuginfo
FIXME(eddyb) take into account that arguments always have debuginforustc_codegen_gcc/src/debuginfo
rustc_codegen_llvm/src/debuginfo/create_scope_map
FIXME(eddyb) the `void @` forces a match on the instruction, instead of thecodegen/drop
FIXME(eddyb) there should be a size cap hererustc_target/src/callconv/x86_win64
FIXME(eddyb) these are scalar componentsrustc_codegen_ssa/src/mir/debuginfo
FIXME(eddyb) this calls `decode` for each argument, but in reverseproc_macro/src/bridge/mod
FIXME(eddyb) this calls `encode` for each argument, but in reverseproc_macro/src/bridge/mod
FIXME(eddyb) this can be vec![[0: LEN]] pendingui/codegen/issue-28950
FIXME(eddyb) this could be `trait` impls except for the `const fn` requirementproc_macro/src/bridge/selfless_reify
FIXME(eddyb) this could be a bit more specific than `AlreadyReported`rustc_const_eval/src/interpret/eval_context
FIXME(eddyb) this doesn't account for the macro-relatedrustc_codegen_gcc/src/debuginfo
FIXME(eddyb) this doesn't belong here AFAICT, should be moved to callsiterustc_errors/src/lib
FIXME(eddyb) this is an awkward spot for this method, maybe move it?rustc_middle/src/ty/context
FIXME(eddyb) this might be incorrect - it doesn'trustc_abi/src/layout
rustc_abi/src/layout
FIXME(eddyb) this should be unnecessary, as the shallowly resolvedrustc_type_ir/src/ty_kind/closure
FIXME(eddyb) this should ideally not be neededrustc_symbol_mangling/src/v0
FIXME(eddyb) this was supposed to be `RefMutZst` with `&mut []`ui/symbol-names/const-generics-structural-demangling
FIXME(eddyb) this would be `self.monomorphize(&callee)`rustc_codegen_llvm/src/debuginfo/create_scope_map
FIXME(eddyb) try to move this into the parent's printingrustc_middle/src/ty/print/mod
FIXME(eddyb) try to remove the lifetime from `BridgeConfig`, that'd helpproc_macro/src/bridge/selfless_reify
FIXME(eddyb) use `retain` on `macro_backtrace` to remove all therustc_errors/src/emitter
FIXME(eddyb) use a better `TyContext` hererustc_middle/src/mir/visit
FIXME(eddyb) use a specialized hex-encoding looprustc_symbol_mangling/src/v0
FIXME(eddyb) use lang items for methods instead of namesrustc_ty_utils/src/instance
FIXME(eddyb) use small vector optimization for the common caserustc_abi/src/lib
FIXME(eddyb) use smallvec hererustc_codegen_ssa/src/mir/debuginfo
FIXME(eddyb) we should probably roll our own punycode implementationrustc_symbol_mangling/src/v0
FIXME(eddyb): Figure out when the simpler Store is safe, clangrustc_codegen_gcc/src/intrinsic/mod
FIXME(eddyb): We should figure out how to use llvm.dbg.value insteadrustc_codegen_ssa/src/mir/mod
FIXME(eddyb, varkor) handle type paths here too, not just value onesrustc_hir_analysis/src/hir_ty_lowering/mod
FIXME(edition_2024): Change this to `-Wrust_2024_idioms` when allbootstrap/src/core/builder/cargo
FIXME(edition_2024): Fix the `keyword_idents_2024` lint to not trigger here?rustc_macros/src/diagnostics/diagnostic
rustc_macros/src/diagnostics/diagnostic
rustc_macros/src/diagnostics/subdiagnostic
rustc_macros/src/try_from
FIXME(edition_2024): switch back to a normal method callrustc_mir_transform/src/inline
rustc_mir_transform/src/inline
FIXME(emilio): We could avoid this most of the time if needed, buttools/rustfmt/src/format-diff/main
FIXME(erikdesjardins): handle non-default addrspace ptr sizesrustc_codegen_cranelift/src/common
rustc_codegen_llvm/src/asm
rustc_codegen_llvm/src/asm
rustc_codegen_ssa/src/debuginfo/mod
rustc_codegen_ssa/src/mir/place
rustc_middle/src/ty/layout
rustc_middle/src/ty/layout
rustc_middle/src/ty/layout
FIXME(erikdesjardins): ignoring address space is technically wrong, pointers inrustc_abi/src/lib
rustc_abi/src/lib
FIXME(erikdesjardins): we should be parsing nonzero address spacesrustc_abi/src/lib
FIXME(estebank): once support to add notes in `rustc_on_unimplemented`core/src/marker
FIXME(estebank): unify with `report_similar_impl_candidates`. The message is similarrustc_trait_selection/src/error_reporting/infer/mod
FIXME(estebank): we could also verify that the arguments beingrustc_hir_analysis/src/hir_ty_lowering/errors
rustc_hir_analysis/src/hir_ty_lowering/errors
FIXME(explicit_tail_calls)rustc_const_eval/src/interpret/call
tools/miri/tests/fail/tail_calls/signature-mismatch-arg
FIXME(explicit_tail_calls) code duplication with `build_scope_drops`rustc_mir_build/src/builder/scope
FIXME(explicit_tail_calls): add a diagnostic note that `become` doesn't allow coercionsrustc_hir_typeck/src/expr
FIXME(explicit_tail_calls): add support for tail calls to the cranelift backend, once cranelift supports tail callsrustc_codegen_cranelift/src/base
FIXME(explicit_tail_calls): determine if we need to do something here (probablyrustc_mir_transform/src/dataflow_const_prop
FIXME(explicit_tail_calls): enable this test once rustc_codegen_ssa supports tail callsui/explicit-tail-calls/drop-order
FIXME(explicit_tail_calls): figure out how exactly functions containing tailrustc_mir_transform/src/inline
FIXME(explicit_tail_calls): figure out if we can inline tail callsrustc_mir_transform/src/inline
FIXME(explicit_tail_calls): highlight tail calls as "recursive call site"rustc_mir_transform/src/check_call_recursion
FIXME(explicit_tail_calls): highlight the `...`rustc_mir_build/src/check_tail_calls
FIXME(explicit_tail_calls): highlight the function or somethingrustc_mir_build/src/check_tail_calls
FIXME(explicit_tail_calls): implement tail calls in ssa backendrustc_codegen_ssa/src/mir/block
FIXME(explicit_tail_calls): implement tail-call specific checks here (suchrustc_mir_transform/src/validate
FIXME(explicit_tail_calls): maybe get `become` a new errorrustc_ty_utils/src/consts
FIXME(explicit_tail_calls): overloaded index is represented like `[&]*x.index(i)`ui/explicit-tail-calls/become-operator
FIXME(explicit_tail_calls): refactor this & add tail-call specific checksrustc_mir_transform/src/validate
FIXME(explicit_tail_calls): should we have the span for `become`? is this span accurate? do we need it?rustc_middle/src/mir/syntax
FIXME(explicit_tail_calls): this currently fails for cases where opaques are usedrustc_mir_build/src/check_tail_calls
FIXME(explicit_tail_calls): uhhhh I think we can return without return now, does it change anythingrustc_const_eval/src/check_consts/check
FIXME(f16_f128): Add `q: F128;` once LLVM support the `Q` extensionrustc_target/src/asm/riscv
FIXME(f16_f128): Change back to `$func(x: $ty) -> $ty` once arm64ec can pass and returnassembly/asm/aarch64-types
FIXME(f16_f128): Only needed for FIXME in check! and check_reg!assembly/asm/aarch64-types
assembly/asm/aarch64-types
FIXME(f16_f128): See FIXME in `check!`assembly/asm/aarch64-types
FIXME(f16_f128): When available, compare to the library parser as with `f32` and `f64`rustc_mir_build/src/builder/mod
rustc_mir_build/src/builder/mod
FIXME(f16_f128): `f16` and `f128` have no MSVC representation. We could improve therustc_codegen_llvm/src/debuginfo/metadata
FIXME(f16_f128): add `f16` and `f128` when these types become stabletools/clippy/clippy_lints/src/approx_const
FIXME(f16_f128): add a clamp test once the function is availabletools/clippy/tests/ui-toml/toml_disallowed_methods/conf_disallowed_methods
FIXME(f16_f128): add f16 and f128 when constants are availabletools/clippy/clippy_lints/src/manual_float_methods
tools/clippy/clippy_lints/src/manual_float_methods
FIXME(f16_f128): add math tests when availablestd/src/f16/tests
FIXME(f16_f128): add tests for these types once const casting is availabletools/clippy/tests/ui/cast_lossless_float
FIXME(f16_f128): add tests for these types once constants are availabletools/clippy/tests/ui/manual_float_methods
FIXME(f16_f128): add tests for these types once math functions are availabletools/clippy/tests/ui/floating_point_log
FIXME(f16_f128): add tests for these types when `powf` is availabletools/clippy/tests/ui/floating_point_powf
FIXME(f16_f128): add tests for these types when abs is availabletools/clippy/tests/ui/float_equality_without_abs
FIXME(f16_f128): add tests once const casting is available for these typestools/clippy/tests/ui/cast
FIXME(f16_f128): add tests when constants are availabletools/clippy/tests/ui/cast_nan_to_int
FIXME(f16_f128): add tests when exp is availabletools/clippy/tests/ui/floating_point_exp
FIXME(f16_f128): add tests when math functions are availabletools/clippy/tests/ui/unused_rounding
FIXME(f16_f128): add these types when `{to_from}_*_bytes` are availabletools/clippy/tests/ui/endian_bytes
FIXME(f16_f128): add these types when binary operations are available on all platformstools/clippy/clippy_utils/src/consts
FIXME(f16_f128): add these types when eq is available on all platformstools/clippy/clippy_lints/src/zero_div_zero
FIXME(f16_f128): add these types when nan checks are available on all platformstools/clippy/clippy_lints/src/casts/cast_nan_to_int
FIXME(f16_f128): add this check once `is_infinite` is reliable (ABIrustc_lint/src/types/literal
FIXME(f16_f128): add when casting is available on all platformstools/clippy/clippy_lints/src/operators/modulo_arithmetic
FIXME(f16_f128): add when equality check is available on all platformstools/clippy/clippy_lints/src/operators/float_cmp
FIXME(f16_f128): add when supportedtools/miri/tests/pass/float
tools/miri/tests/pass/float
FIXME(f16_f128): adding additional `From<{float}>` impls to `f32` breaks inference. Seecore/src/convert/num
FIXME(f16_f128): almost all methods in this `impl` are missing examples and a constcore/src/num/f128
core/src/num/f16
FIXME(f16_f128): also test f16 and f128ui/float/classify-runtime-const
FIXME(f16_f128): const casting is not yet supported for these types. Add when availabletools/clippy/tests/ui/float_cmp
FIXME(f16_f128): do a check like the others when parsing is availabletools/clippy/clippy_lints/src/float_literal
FIXME(f16_f128): enable f16 and f128 conversions once const eval supports themtools/clippy/tests/ui/cast_size
FIXME(f16_f128): in order to avoid crashes building `core`, always inline to skiprustc_mir_transform/src/cross_crate_inline
FIXME(f16_f128): just use `parse()` directly when available for `f16`/`f128`tools/clippy/clippy_utils/src/consts
FIXME(f16_f128): once conversions to/from `f128` are available on all platformstools/clippy/clippy_utils/src/consts
FIXME(f16_f128): only tested on platforms that have symbols and aren't buggystd/src/f128/tests
std/src/f16/tests
FIXME(f16_f128): remove gate when ABI issues are resolvedui/half-open-range-patterns/half-open-range-pats-semantics
ui/half-open-range-patterns/half-open-range-pats-semantics
ui/half-open-range-patterns/half-open-range-pats-semantics
ui/half-open-range-patterns/half-open-range-pats-semantics
ui/half-open-range-patterns/half-open-range-pats-semantics
ui/half-open-range-patterns/half-open-range-pats-semantics
FIXME(f16_f128): remove gates when ABI issues are resolvedui/match/match-float
FIXME(f16_f128): replace with `intrinsics::fabsf128` when availablecore/src/num/f128
FIXME(f16_f128): replace with `intrinsics::fabsf16` when availablecore/src/num/f16
FIXME(f16_f128): replace with a `test_num` call once the required `fmodl`/`fmodf128`std/src/f128/tests
FIXME(f16_f128): test subnormals when powf is availablestd/src/f128/tests
std/src/f16/tests
FIXME(fee1-dead) do not use stringly typed `ConstContext`rustc_const_eval/src/errors
FIXME(fee1-dead) these could be variants of the UB info enum instead of thisrustc_const_eval/src/interpret/call
FIXME(fee1-dead) these should all be actual variants of the enum instead of dynamicallyrustc_middle/src/mir/interpret/error
FIXME(fee1-dead), HACK: we want to use the error as title therefore we can just extract therustc_const_eval/src/interpret/eval_context
FIXME(fee1-dead): assert_eqcore/tests/hash/mod
FIXME(fee1-dead): use debug_assert_eqcore/src/hash/sip
FIXME(flip1995): See comment in `mangle_typeid_for_fnabi`rustc_symbol_mangling/src/v0
FIXME(flip1995): The virtual function elimination optimization only works with full LTO inrustc_codegen_llvm/src/debuginfo/metadata
FIXME(fmease): Copied from `rustc_hir_typeck::method::probe`. Deduplicaterustc_hir_analysis/src/hir_ty_lowering/errors
FIXME(fmease): Currently creating throwaway `parent_args` to pleaserustc_hir_analysis/src/hir_ty_lowering/mod
FIXME(fmease): Deduplicaterustc_hir_analysis/src/errors
FIXME(fmease): Don't compare lexically but respect de Bruijn indices etc. to handle shadowing correctlyrustdoc/clean/mod
rustdoc/clean/mod
FIXME(fmease): Heavily adapted from `rustc_hir_typeck::method::suggest`. Deduplicaterustc_hir_analysis/src/hir_ty_lowering/errors
FIXME(fmease): I'd prefer to report a cycle error here instead of an overflow oneui/associated-inherent-types/normalization-overflow
FIXME(fmease): It'd make a lot of sense to just incorporate this logic into `clean_ty_generics`rustdoc/clean/simplify
FIXME(fmease): This is very likely reachablerustc_hir_analysis/src/coherence/orphan
FIXME(fmease): This one is pretty badui/const-generics/bad-const-generic-exprs
FIXME(fmease): This was copied in parts from an old version of `rustc_hir_typeck::method::suggest`rustc_hir_analysis/src/hir_ty_lowering/errors
FIXME(fmease): Write explainerrustc_lint_defs/src/builtin
FIXME(fmease): `rustc_hir_typeck::method::suggest` uses a `skip_list` to filter out some boundsrustc_hir_analysis/src/hir_ty_lowering/errors
FIXME(fn_delegation): Alternatives for target expression loweringrustc_ast_lowering/src/delegation
FIXME(fn_delegation): Default parameters are not inherited, because they arerustc_hir_analysis/src/delegation
FIXME(fn_delegation): Delegation to inherent methods is not yet supportedrustc_hir_typeck/src/method/probe
FIXME(fn_delegation): In delegation item argument spans are equal to last pathrustc_trait_selection/src/error_reporting/infer/need_type_info
FIXME(fn_delegation): Move generics inheritance to the AST->HIR loweringrustc_hir_analysis/src/delegation
FIXME(fn_delegation): This often leads to type inferencerustc_hir_analysis/src/delegation
FIXME(fn_delegation): `recursive delegation` error should be emitted hereui/delegation/ice-issue-124347
FIXME(fn_delegation): this is supposed to work eventuallyui/delegation/generics/free-fn-to-free-fn
FIXME(fn_delegation): use function delegation instead of manually forwardingrustc_ast/src/attr/mod
rustc_hir/src/hir
FIXME(gen_blocks): Do we want to unconditionally parse `gen` and thenrustc_parse/src/parser/mod
FIXME(gen_blocks): Parse `gen async` and suggest swaprustc_parse/src/parser/expr
FIXME(gen_blocks): This perhaps should be a different gaterustc_parse/src/parser/expr
FIXME(gen_blocks): This probably could be deduplicatedcore/src/async_iter/async_iter
FIXME(gen_blocks): This span is wrong, didn't want to think about itrustc_parse/src/parser/item
FIXME(gen_blocks): add keyword recovery logic for gennessrustc_parse/src/parser/item
FIXME(gen_blocks): emit a similar error for `gen fn()`rustc_parse/src/parser/ty
FIXME(gen_blocks): how does `closure_track_caller`/`async_fn_track_caller`rustc_ast_lowering/src/lib
FIXME(generic-associated-types): Addresses aggressive inference in #92917rustc_trait_selection/src/traits/select/mod
Closed
FIXME(generic-associated-types): This only detects one layer of inferencerustc_trait_selection/src/traits/select/mod
FIXME(generic_associated_types): Remove one of the below boundsui/generic-associated-types/issue-88595
FIXME(generic_const_exprs)rustc_middle/src/ty/print/pretty
FIXME(generic_const_exprs): Consider accepting a `ty::UnevaluatedConst` when we are not rolling our ownrustc_trait_selection/src/traits/mod
rustc_trait_selection/src/traits/mod
FIXME(generic_const_exprs): Implement handling for genericrustc_next_trait_solver/src/solve/mod
FIXME(generic_const_exprs): May want to look inside const hererustc_privacy/src/lib
FIXME(generic_const_exprs): Occurs check failures for unevaluatedrustc_infer/src/infer/relate/generalize
FIXME(generic_const_exprs): Remove this bodge once that feature is stablerustc_hir/src/def
FIXME(generic_const_exprs): Revisit this before stabilizationrustc_lint/src/builtin
ui/const-generics/generic_const_exprs/type-alias-bounds
FIXME(generic_const_exprs): See comment in `fulfill.rs`rustc_trait_selection/src/traits/select/mod
FIXME(generic_const_exprs): This doesn't recurse into `<T as Trait<U>>::ASSOC`'s argsrustc_trait_selection/src/traits/const_evaluatable
FIXME(generic_const_exprs): This is incorrect when dealing with unused const paramsrustc_hir_analysis/src/check/wfcheck
FIXME(generic_const_exprs): Verify/explain why this is soundrustc_ty_utils/src/consts
FIXME(generic_const_exprs): We currently only do this for anonymous constantsrustc_ty_utils/src/consts
FIXME(generic_const_exprs): We may want to support theserustc_ty_utils/src/consts
FIXME(generic_const_exprs): `ConstEvaluatable` can be writtenrustc_lint/src/builtin
FIXME(generic_const_exprs): come up with a less brittle test for this using assoc constsui/const-generics/generic_const_exprs/nested_uneval_unification-2
FIXME(generic_const_exprs): is it possible to relate two consts which are not identicalrustc_middle/src/ty/relate
FIXME(generic_const_exprs): relating the `ty()`s is a little weird since it is supposed torustc_middle/src/ty/relate
FIXME(generic_const_exprs): should this do something?rustdoc/clean/mod
FIXME(generic_const_exprs): this can mention `Self`rustc_trait_selection/src/traits/dyn_compatibility
FIXME(generic_const_exprs): this doesn't verify that given `Expr(N + 1)` therustc_trait_selection/src/traits/wf
FIXME(generic_const_exprs): this feels wrong to have in `encode_mir`rustc_metadata/src/rmeta/encoder
FIXME(generic_const_exprs): we have a fully concrete `ConstKind::Expr`, butrustc_trait_selection/src/traits/const_evaluatable
FIXME(generic_const_exprs): we should construct an alias likerustc_trait_selection/src/traits/fulfill
FIXME(generic_const_exprs): we would need to support generic consts hererustc_next_trait_solver/src/solve/normalizes_to/mod
FIXME(generic_const_exprs): you can absolutely add this as a where clausesrustc_trait_selection/src/traits/auto_trait
FIXME(generic_const_exprs, default_field_values): this is a hack and needs torustc_hir_analysis/src/check/wfcheck
FIXME(generic_const_items): Add support for generic associated constsrustdoc/json/conversions
rustdoc/json/conversions
FIXME(generic_const_items): Add support for generic const itemsrustdoc/json/conversions
rustdoc/json/conversions
FIXME(generic_const_items): Add support for generic free constsrustdoc/json/conversions
FIXME(generic_const_items): I don't think checking `generics.hwcp` suffices as ittools/clippy/clippy_lints/src/large_const_arrays
FIXME(generic_const_items): If possible extract the common parts of `compare_{type,const}_predicate_entailment`rustc_hir_analysis/src/check/compare_impl_item
FIXME(generic_const_items): Pass the generics as a parameterrustc_expand/src/build
FIXME(generic_const_items): Provide a structured suggestion to merge the firstrustc_parse/src/parser/item
FIXME(generic_const_items): This looks like a bug to me. I expected that we wouldn't emit anyui/generic-const-items/trivially-unsatisfied-bounds-1
FIXME(generic_const_items): We should provide a structured sugg to merge the 1st into the 2nd WCui/generic-const-items/duplicate-where-clause
FIXME(guard_patterns): convert this to a normal guard insteadrustc_parse/src/parser/expr
FIXME(guard_patterns): implement guard pattern loweringrustc_mir_build/src/thir/pattern/mod
FIXME(guard_patterns): suggest this regardless of a match armrustc_parse/src/parser/pat
FIXME(guswynn) update this test when async-fn-in-traits worksui/lint/unused/unused-async
FIXME(hack_recover_crate_name): Remove this moduletools/rust-analyzer/crates/rust-analyzer/src/hack_recover_crate_name
FIXME(hkmatsumoto): Might be better to triggerrustc_parse/src/parser/stmt
FIXME(rust-lang/rfcs/issues/811) Nested method callsrustc_hir_analysis/src/check/region
FIXME(rust-lang/rust/issues/114583): Remove this when <OsStr as Debug>::fmt matches <str as Debug>::fmtstd/src/sys/pal/hermit/os
std/src/sys/pal/sgx/os
std/src/sys/pal/solid/os
std/src/sys/pal/teeos/os
std/src/sys/pal/uefi/os
std/src/sys/pal/unix/os
std/src/sys/pal/unsupported/os
std/src/sys/pal/wasi/os
std/src/sys/pal/windows/os
std/src/sys/pal/xous/os
std/src/sys/pal/xous/os
FIXME(rust-lang/rust/issues/77425)rustc_mir_transform/src/check_const_item_mutation
FIXME(impl_trait_in_bindings): We don't really have a good way ofrustc_resolve/src/def_collector
FIXME(import_trait_associated_functions): associate `const` or `fn` are not importable unlessrustc_resolve/src/lib
FIXME(import_trait_associated_functions): remove this when `import_trait_associated_functions` is stablerustc_resolve/src/diagnostics
FIXME(in 2040 or so): once the minimum kernel version is 5.6, remove thestd/src/sys/random/linux
Closed
FIXME(inherent_associated_types)ui/associated-inherent-types/type-alias-bounds
FIXME(inherent_associated_types): Acquiring the ParamEnv this early leads to cycle errorsrustc_hir_analysis/src/hir_ty_lowering/mod
FIXME(inherent_associated_types): Avoid emitting two diagnostics (they only differ in span)ui/associated-inherent-types/issue-109789
FIXME(inherent_associated_types): Below we link to `Proj` but we should link to `Proj-1`rustdoc/inherent-projections
FIXME(inherent_associated_types): Enhancement: Spruce up the diagnostic by saying something likeui/associated-inherent-types/issue-109789
FIXME(inherent_associated_types): Extend this to support `ty::Inherent`, toorustc_infer/src/infer/opaque_types/mod
rustc_trait_selection/src/error_reporting/infer/note_and_explain
FIXME(inherent_associated_types): Figure out which error would be more helpful hereui/associated-inherent-types/not-found-self-type-differs-shadowing-trait-item
FIXME(inherent_associated_types): Find similarly named associated types and suggest themrustc_hir_analysis/src/hir_ty_lowering/errors
FIXME(inherent_associated_types): Merge this function with `fn compute_alias`rustc_trait_selection/src/traits/wf
FIXME(inherent_associated_types): Most likely we can just map to `GenericType` like aboverustc_middle/src/ty/inhabitedness/mod
FIXME(inherent_associated_types): Once we support non-ADT self-types (#106719)rustdoc/html/format
Open
FIXME(inherent_associated_types): Revisit this decision once the implementation is smarterui/associated-inherent-types/dont-select-if-disabled
FIXME(inherent_associated_types): Should this happen inside of a snapshot?rustc_trait_selection/src/traits/wf
FIXME(inherent_associated_types): Since we can't pass along the self type to therustc_trait_selection/src/traits/project
FIXME(inherent_associated_types): The example code above currently leads to a cyclerustc_hir_analysis/src/coherence/orphan
FIXME(inherent_associated_types): The intra-doc link below should point to `Proj-1` not `Proj`rustdoc/intra-doc/inherent-associated-types
FIXME(inherent_associated_types): This is incompatible with the new solver and lazy norm!rustc_trait_selection/src/traits/wf
FIXME(inherent_associated_types): This should failui/associated-inherent-types/bugs/wf-check-skipped
FIXME(inherent_associated_types): This should passui/associated-inherent-types/bugs/cycle-iat-inside-of-adt
FIXME(inherent_associated_types): This shouldn't lead to a cycle errorui/associated-inherent-types/bugs/cycle-iat-inside-of-where-predicate
FIXME(inherent_associated_types): Use the explicit predicates from the parent implrustc_hir_analysis/src/outlives/implicit_infer
FIXME(inherent_associated_types): We always link to the very first associatedrustdoc/html/format
FIXME(inherent_associated_types): update `resolution` based on `ty` heretools/rust-analyzer/crates/hir-ty/src/infer
FIXME(inherent_associated_types, #106719): Support self types other than ADTsrustc_hir_analysis/src/hir_ty_lowering/mod
Open
FIXME(inline_const_pat): once stabilized, remove this check and remove the `(requires #[feature(inline_const_pat)])` note from the messagerustc_parse/src/parser/pat
FIXME(issue#3281): We must follow UAX#14 algorithm instead of thistools/rustfmt/src/string
Closed
FIXME(jackh726): This is a hack. It's somewhat likerustc_borrowck/src/type_check/input_output
FIXME(jackh726): we can also warn in the more general caserustc_hir_analysis/src/check/wfcheck
FIXME(jieyouxu) Ideally these checks would be integrated into compiletest'stools/tidy/src/unknown_revision
FIXME(jieyouxu): I feel like there's a better way to do this, leaving for latertools/compiletest/src/header
FIXME(jieyouxu): check cross-compile setuprun-make/comment-section/rmake
FIXME(jieyouxu): convert these to return `PathBuf`s instead of strings!tools/run-make-support/src/artifact_names
FIXME(jieyouxu): fix this ugly fragile test when `BacktraceFrame` has accessors likeui/backtrace/line-tables-only
FIXME(jieyouxu): for some forsaken reason on i686-msvc `foo` doesn't have an entry in theui/backtrace/line-tables-only
FIXME(jieyouxu): improve error handlingtools/compiletest/src/header
FIXME(jieyouxu): improve the communication between bootstrap and compiletest here sotools/compiletest/src/runtest/run_make
FIXME(jieyouxu): make this test use proper accessors on `BacktraceFrames` once it hasui/backtrace/dylib-dep
FIXME(jieyouxu): please rename `TARGET_RPATH_ENV`, `HOST_RPATH_DIR` andtools/compiletest/src/runtest/run_make
FIXME(jieyouxu): remove this check once all run-make tests are ported over to rmake.rstools/tidy/src/main
FIXME(jieyouxu): there almost certainly is a better way to do this (specifically how thetools/compiletest/src/runtest/run_make
FIXME(jieyouxu): there has to be a better way to do this, without the needs-llvm-components itrun-make/print-target-list/rmake
run-make/print-to-output/rmake
FIXME(jieyouxu): this check is currently order-dependent, but we should probablytools/compiletest/src/header
FIXME(jieyouxu): this flag is load-bearing for rustc to not ICE on broken pipes, becausebootstrap/src/core/build_steps/compile
FIXME(jieyouxu): this test is NOT run-rustfix because this test contains conflictingui/typeck/issue-112007-leaked-writeln-macro-internals
FIXME(jieyouxu): this test is currently NOT run-rustfix because there are conflictingui/typeck/question-mark-operator-suggestion-span
FIXME(jieyouxu): this will cause `//@` directives in the rest of the test file totools/compiletest/src/header
FIXME(jieyouxu): tighten up this parsing to reject using both `:` and ` ` as means totools/compiletest/src/header/needs
FIXME(jieyouxu): triple check if this works in CIdebuginfo/unit-type
FIXME(jieyouxu): triple check in CI if the directive actually worksdebuginfo/range-types
FIXME(jieyouxu): untangle these paths, we should provide both a path to root `tests/` ortools/compiletest/src/lib
FIXME(jieyouxu): use proper `BacktraceFrame` accessors when it becomes available. Right nowui/backtrace/dylib-dep
FIXME(jieyouxu): we should report a fatal error or warning if user wrote `-Cpanic=` withtools/compiletest/src/runtest
FIXME(jistone): the following was originally the fallback SSA implementation, before LLVM 13rustc_codegen_gcc/src/builder
FIXME(joboet): implement support for native TLS insteadstd/src/sys/thread_local/key/xous
FIXME(jordanrh): use PanicStrategy::Unwind when SEH isrustc_target/src/spec/targets/thumbv7a_pc_windows_msvc
rustc_target/src/spec/targets/thumbv7a_uwp_windows_msvc
FIXME(jseyfried)rustc_span/src/lib
FIXME(jseyfried) improve `Self` hygienerustc_resolve/src/ident
FIXME(jseyfried): positional field hygienerustc_ast_lowering/src/item
FIXME(jswrenn): This const op is not actually usable. Why?core/src/mem/transmutability
core/src/mem/transmutability
FIXME(jynelson): this is way too many argumentsrustdoc/passes/collect_intra_doc_links
FIXME(jynelson): this might conflict with my `Self` fix in #76467rustdoc/passes/collect_intra_doc_links
Closed
FIXME(kobzol): remove this flag once MCP510 gets stabilizedbootstrap/src/utils/helpers
bootstrap/src/utils/helpers
FIXME(kobzol): try gather profiles together, at once for LLVM and rustctools/opt-dist/src/main
FIXME(kobzol): try to re-enable this once BOLT in-place rewriting is merged or aftertools/opt-dist/src/bolt
FIXME(lazy_normalization): Lazy normalization should save us fromrustc_trait_selection/src/traits/project
FIXME(lazy_type_alias): Once the feature is complete or stable, rewrite thisrustdoc/html/render/write_shared
FIXME(libc): adding real STATUS, ERROR type eventuallystd/src/sys/pal/unix/thread
FIXME(llvm19): LLVM misoptimizes `powi.f16`std/src/f16/tests
FIXME(lqd): Unify and de-duplicate the following with the actualrustc_borrowck/src/diagnostics/bound_region_errors
FIXME(madsmtm): Certain other targets also include a versionrustc_codegen_ssa/src/back/mod
FIXME(madsmtm): Incremental cache is not yet bustedrun-make/apple-deployment-target/rmake
FIXME(madsmtm): Parse the SDK version from the SDK root insteadrustc_codegen_ssa/src/back/link
FIXME(madsmtm): This uses the current deployment targetrun-make/apple-sdk-version/rmake
FIXME(madsmtm): Use `sess.target.llvm_target` once target-lexicon supports unversioned macOSrustc_codegen_cranelift/src/lib
FIXME(madsmtm): Xcode's version of Clang seems to require a minimumrun-make/apple-deployment-target/rmake
FIXME(matthewj, petrochenkov) Use this more often, add a similarrustc_span/src/symbol
FIXME(matthewjasper) Don't store in this in `Body`rustc_middle/src/mir/mod
rustc_middle/src/mir/mod
rustc_middle/src/mir/mod
FIXME(matthewjasper) This allows copying a type that doesn't implementcore/src/marker
FIXME(maurer) only reify it if it is a vtable-safe functionrustc_middle/src/ty/instance
FIXME(mejrs) unfortunately `#[derive(LintDiagnostic)]`rustc_pattern_analysis/src/errors
rustc_pattern_analysis/src/errors
FIXME(michaelwoerister): do commented out onesrustc_incremental/src/persist/dirty_clean
FIXME(michaelwoerister):Interesting. I would have thought that that changes the MIR. And itincremental/hashes/enum_constructors
FIXME(mikeyhew) get rid of this `if` statement once `receiver_is_dispatchable` allowsrustc_trait_selection/src/traits/dyn_compatibility
FIXME(mikeyhew) this is a total hack. Once dyn_compatible_for_dispatch is stabilized, we canrustc_trait_selection/src/traits/dyn_compatibility
FIXME(mikeyhew) when unsized receivers are implemented as part of unsized rvalues, add thisrustc_trait_selection/src/traits/dyn_compatibility
FIXME(min_const_generic_exprs): We could perhaps defer this check so thatrustc_hir_typeck/src/expr
FIXME(min_const_generic_exprs): We could process obligations here if `ct` is a varrustc_hir_typeck/src/fn_ctxt/_impl
FIXME(min_generic_const_args): implement support for this, behind the feature gateui/feature-gates/feature-gate-min-generic-const-args
FIXME(min_generic_const_args): this branch is dead once new const path loweringrustc_hir_analysis/src/hir_ty_lowering/generics
FIXME(min_generic_const_args): update for `fn foo() -> Bar<FOO<impl Trait>>` supportrustc_ast_lowering/src/lib
rustc_ast_lowering/src/lib
FIXME(min_generic_const_args): we only allow one-segment const paths for nowrustc_ast_lowering/src/lib
rustc_ast_lowering/src/lib
FIXME(min_generic_const_exprs): We should shallowly normalize thisrustc_trait_selection/src/traits/select/confirmation
FIXME(min_specialization), FIXME(const_generics)rustc_hir_analysis/src/impl_wf_check/min_specialization
FIXME(mir-drop): use the vec![..] macroui/mir/mir_augmented_assignments
FIXME(misdreavus): if a doc comment is placed on an extern crate statement, it will berustdoc/doctest/make
FIXME(misdreavus): pass `-Z treat-err-as-bug` to the doctest parserrustdoc/doctest/make
FIXME(mu001999) E0599 maybe not suitable here because it is for typesrustc_hir_typeck/src/method/suggest
FIXME(must_not_suspend): This is wrong. We should handle printing unevaluated constsrustc_mir_transform/src/coroutine
FIXME(mw): Anything that is produced via DepGraph::with_task() must implementrustc_codegen_ssa/src/common
FIXME(mw): Cache this via a regular UniqueTypeId instead of an extra field in the debug contextrustc_codegen_llvm/src/debuginfo/metadata
FIXME(nagisa): figure out how to not allocate a full hashset hererustc_codegen_gcc/src/gcc_util
rustc_codegen_llvm/src/llvm_util
FIXME(nagisa): investigate whether it can be changed into define_globalrustc_codegen_gcc/src/consts
rustc_codegen_llvm/src/consts
FIXME(nagisa): it isn't clear what's the best interaction between features implied byrustc_codegen_gcc/src/gcc_util
rustc_codegen_llvm/src/llvm_util
FIXME(nagisa): remove the flags below once all targets support `asm!`codegen/asm/sanitize-llvm
FIXME(nbdd0121): This is broken in MinGW, see rust-lang/rust/pull/95604#issuecomment-1101564032run-make/symbol-visibility/rmake
run-make/symbol-visibility/rmake
FIXME(nbdd0121): `#[used]` are marked as reachable here so it's picked up byrustc_passes/src/reachable
FIXME(negative_bounds): Handle this correctlyrustc_hir_analysis/src/hir_ty_lowering/dyn_compatibility
FIXME(never_patterns): Also assert validity of the data at `place`rustc_mir_build/src/builder/matches/test
FIXME(never_patterns): does this do what I expect?rustc_hir_typeck/src/expr_use_visitor
FIXME(never_patterns): does this make sense?rustdoc/clean/utils
FIXME(nikomatsakis) -- this cache is not taking intorustc_trait_selection/src/traits/select/mod
FIXME(nll-rfc#40): do more precise destructor tracking here. For nowrustc_borrowck/src/lib
FIXME(nnethercote) All the output is currently wrongrustc_parse/src/parser/tests
FIXME(nnethercote) The `NtExpr` case should only match ifrustc_parse/src/parser/expr
FIXME(nnethercote): you might expect `ast::TyKind::Dummy` to be used here, but somerustc_expand/src/base
FIXME(non-lifetime-binders): What to do here?rustc_symbol_mangling/src/v0
FIXME(non_lifetime_binders): Const bound params are pretty brokenrustc_ast_passes/src/feature_gate
FIXME(non_lifetime_binders): Placeholders don't currentlyrustc_trait_selection/src/traits/query/type_op/implied_outlives_bounds
FIXME(non_lifetime_binders): Stop special-casingrustc_resolve/src/late
FIXME(non_lifetime_binders): Support higher-ranked const parametersrustdoc/clean/mod
FIXME(non_lifetime_binders): What to do here?rustc_infer/src/infer/outlives/test_type_match
FIXME(nonpoison_mutex,nonpoison_condvar): switch to nonpoison versions once they are availablestd/src/sync/barrier
FIXME(nonpoison_once): if possible, switch to nonpoison version once it is availablestd/src/sync/lazy_lock
FIXME(nonpoison_once): switch to nonpoison version once it is availablestd/src/sync/once_lock
FIXME(notriddle): rust-lang/rust/issues/97129rustdoc/passes/collect_trait_impls
FIXME(oli-obk): also pretty print arrays and other aggregate constants by readingrustc_middle/src/mir/pretty
rustc_middle/src/ty/print/pretty
FIXME(oli-obk): at least print tuples and slices nicelyrustc_const_eval/src/interpret/operand
FIXME(oli-obk): can we use this to simplify slice/array pattern hacks?rustc_mir_build/src/builder/matches/match_pair
FIXME(oli-obk): collect multiple spans for better diagnostics down the roadrustc_borrowck/src/region_infer/opaque_types
FIXME(oli-obk): deduplicate and harden these checksrustc_abi/src/layout
rustc_abi/src/layout
FIXME(oli-obk): it is suspicious that we are dropping the constness andrustc_trait_selection/src/traits/select/candidate_assembly
FIXME(oli-obk): make `expected_inputs_for_expected_output` support thisui/impl-trait/hidden-type-is-opaque-2
FIXME(oli-obk): replace the magic const generic argument of `simd_shuffle` with arustc_codegen_ssa/src/mir/constant
FIXME(oli-obk): these currently cause cycle errorsui/type-alias-impl-trait/not_a_defining_use
FIXME(oli-obk): this should instead panic (not hard-abort) at runtimeui/consts/const-eval/promoted_const_fn_fail_deny_const_err
FIXME(oli-obk): we can probably encode closures just like structsrustc_const_eval/src/const_eval/valtrees
FIXME(oli-obk): we could look behind opaque typesrustc_const_eval/src/const_eval/valtrees
FIXME(oli-obk): we should be able to just walk the `inlined_parent_scope`, but itrustc_middle/src/mir/mod
FIXME(onur-ozkan): extend scope of the testbootstrap/src/core/config/tests
FIXME(or_patterns; matthewjasper) Don't give up if we have a guardrustc_mir_build/src/builder/matches/mod
FIXME(or_patterns; matthewjasper) Try to be more aggressive hererustc_mir_build/src/builder/matches/mod
FIXME(parallel_compiler): Get rid of these aliases across the compilerrustc_data_structures/src/sync
FIXME(pattern_types): Figure out the exact coherence rules we want hererustc_hir_analysis/src/coherence/inherent_impls
FIXME(pattern_types): make equal patterns equal (`0..=` is the same as `..=`)rustc_middle/src/ty/relate
FIXME(pattern_types): report a better errorrustc_middle/src/ty/relate
FIXME(pattern_types): take pattern into accountrustc_type_ir/src/fast_reject
FIXME(pietroalbini): this test currently does not work on cross-compiled targetstools/compiletest/src/header
FIXME(pnkfelix): this currently derives `PartialOrd` and `Ord` torustc_middle/src/middle/region
FIXME(precise_captures): Suggest adding to `use<...>` list insteadrustc_trait_selection/src/error_reporting/infer/nice_region_error/static_impl_trait
FIXME(precise_capturing): Add rustfix here after dealing w/ elided lifetimesui/lifetimes/issue-105227
FIXME(precise_capturing): If we were to allow `use` in other positionsrustc_ast_passes/src/ast_validation
FIXME(precise_capturing): Structured suggestion for this would be usefulrustc_hir_analysis/src/check/check
rustc_hir_analysis/src/check/check
rustc_hir_analysis/src/check/check
FIXME(project-rfc-2229#48): This should be a list of capture names/placesrustc_middle/src/mir/pretty
rustc_middle/src/mir/pretty
Closed
FIXME(project-rfc-2229#8): Use place span for diagnosticsrustc_borrowck/src/diagnostics/var_name
Closed
FIXME(project-rfc_2229#36): print capture precisely hererustc_borrowck/src/diagnostics/mod
FIXME(ptr_metadata): This impl overlaps with the other impls and shouldn'trustc_next_trait_solver/src/solve/normalizes_to/mod
rustc_trait_selection/src/traits/project
FIXME(quote)ui/proc-macro/quote/auxiliary/basic
FIXME(quote): `proc_macro::quote!` doesn't support repetition at the moment, so the stderr isui/proc-macro/quote/does-not-have-iter-interpolated-dup
ui/proc-macro/quote/does-not-have-iter-interpolated
ui/proc-macro/quote/does-not-have-iter-separated
ui/proc-macro/quote/does-not-have-iter
ui/proc-macro/quote/not-repeatable
FIXME(rcvalle): Enforce autotraits ordering when encoding (e.g., alphabetical order)codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-trait-types
FIXME(rcvalle): This allows a drop call on any trait object to call the drop function ofrustc_sanitizers/src/cfi/typeid/itanium_cxx_abi/transform
FIXME(repr_simd): This check is nice, but perhaps unnecessary due to the factrustc_hir_analysis/src/check/check
FIXME(repr_simd): rust-lang/rust/pull/78863#discussion_r522784112rustc_middle/src/ty/sty
FIXME(return_type_notation): Could also recover `...` hererustc_parse/src/parser/path
FIXME(return_type_notation): Fix RTN parens renderingrustdoc/clean/mod
FIXME(return_type_notation): Is this correct? I think sorustc_ast_lowering/src/path
FIXME(return_type_notation): Provide some structured suggestion hererustc_hir_analysis/src/hir_ty_lowering/bounds
FIXME(return_type_notation): This check should be more robustrustc_hir_analysis/src/collect/predicates_of
FIXME(return_type_notation): We only support lifetime params for nowrustc_middle/src/ty/print/pretty
FIXME(return_type_notation): track binders in this normalizer, asrustc_trait_selection/src/traits/mod
FIXME(return_type_notation): we could issue a feature errorrustc_ast_lowering/src/lib
FIXME(richkadel): If/when migrating the MIR graphviz to this generic implementationrustc_middle/src/mir/generic_graphviz
rustc_middle/src/mir/generic_graphviz
FIXME(rust-lang/cargo#5754) we shouldn't be using special command argumentsbootstrap/src/core/builder/cargo
Closed
FIXME(rust-lang/lang): I think this behavior is logical if we want to allowui/associated-type-bounds/assoc-type-eq-with-dyn-atb-fail
FIXME(rust-lang/rust#100717) - cranelift codegen backend is not yet translatedrustc_codegen_cranelift/src/lib
Open
FIXME(rust-lang/rust#85105): Casts like `IMM8 as u32` result in the const being storedrustc_codegen_cranelift/src/constant
Open
FIXME(rust/#120456) - is `swap_remove` correct?tools/clippy/clippy_lints/src/copies
tools/clippy/clippy_lints/src/escape
tools/clippy/clippy_lints/src/escape
tools/clippy/clippy_lints/src/index_refutable_slice
tools/clippy/clippy_lints/src/index_refutable_slice
tools/clippy/clippy_lints/src/matches/match_same_arms
tools/clippy/clippy_lints/src/needless_pass_by_ref_mut
tools/clippy/clippy_lints/src/only_used_in_recursion
Open
FIXME(rylev): we hardcode the dep graph file name so werustc_query_system/src/dep_graph/serialized
FIXME(rylev, wesleywiser): uncommenting this item breaks the test, and we're not sure whydebuginfo/no_mangle-info
FIXME(smir-rename): change this to PointerCoercion(DynStar)stable_mir/src/mir/body
FIXME(smir-rename): rename this to PointerExposeProvenancestable_mir/src/mir/body
FIXME(stable_mir): Movability here is redundantstable_mir/src/mir/body
stable_mir/src/ty
FIXME(static_mut_refs): Do not allow `static_mut_refs` lintalloc/src/collections/linked_list/tests
alloc/src/collections/vec_deque/tests
alloc/tests/fmt
alloc/tests/vec
alloc/tests/vec
alloc/tests/vec_deque
core/tests/atomic
std/src/sys/alloc/wasm
std/src/sys/alloc/xous
std/src/thread/local/tests
tools/clippy/tests/ui/redundant_static_lifetimes
tools/clippy/tests/ui/useless_conversion
tools/miri/tests/pass/atomic
tools/miri/tests/pass/static_memory_modification
tools/miri/tests/pass/static_mut
tools/miri/tests/pass/tls/tls_static
tools/miri/tests/pass-dep/concurrency/linux-futex
tools/miri/tests/pass-dep/concurrency/tls_pthread_drop_order
tools/miri/tests/pass-dep/libc/libc-eventfd
tools/miri/tests/pass-dep/libc/libc-pipe
tools/miri/tests/pass-dep/libc/libc-socketpair
ui/abi/statics/static-mut-foreign
ui/async-await/issues/issue-67611-static-mut-refs
ui/binding/order-drop-with-match
ui/consts/static-mut-refs
ui/coroutine/static-mut-reference-across-yield
ui/drop/issue-23338-ensure-param-drop-order
ui/drop/issue-23611-enum-swap-in-drop
ui/drop/issue-48962
ui/drop/static-issue-17302
ui/functional-struct-update/functional-struct-update-respects-privacy
ui/issues/issue-16151
ui/issues/issue-4734
ui/issues/issue-6892
ui/link-section
ui/linkage-attr/linkage-attr-mutable-static
ui/methods/method-self-arg-trait
ui/methods/method-self-arg
ui/nll/issue-69114-static-mut-ty
ui/numbers-arithmetic/shift-near-oflo
ui/thread-local/thread-local-issue-37508
FIXME(static_mut_refs): this could use an atomicui/array-slice-vec/slice-panic-1
ui/array-slice-vec/slice-panic-2
ui/array-slice-vec/slice
ui/drop/drop-struct-as-object
ui/drop/repeat-drop
ui/for-loop-while/cleanup-rvalue-during-if-and-while
ui/issues/issue-10734
ui/issues/issue-15858
ui/issues/issue-8860
ui/lto/lto-still-runs-thread-dtors
ui/mir/mir_early_return_scope
ui/self/where-for-self
ui/traits/impl
ui/union/union-drop-assign
ui/union/union-drop
FIXME(stmt_expr_attributes)tools/rust-analyzer/crates/hir-expand/src/lib
FIXME(strict provenance)std/src/sys/personality/dwarf/eh
FIXME(strict_provenance_magic): I am magic and should be a compiler intrinsicportable-simd/crates/core_simd/src/simd/ptr/const_ptr
portable-simd/crates/core_simd/src/simd/ptr/const_ptr
portable-simd/crates/core_simd/src/simd/ptr/mut_ptr
portable-simd/crates/core_simd/src/simd/ptr/mut_ptr
FIXME(strict_provenance_magic): we defined RawSocket to be a u64 ;-;std/src/os/windows/io/socket
FIXME(swatinem): the following lang items are used for async lowering andrustc_hir/src/lang_items
tools/rust-analyzer/crates/hir-def/src/lang_item
FIXME(sync_nonpoison) add links to sync::nonpoison to the doc comment abovestd/src/sync/poison
FIXME(sync_nonpoison): `WaitTimeoutResult` is actually poisoning-agnostic, it seemsstd/src/sync/poison/condvar
FIXME(sync_nonpoison): implement nonpoison versionsstd/src/sync/mod
FIXME(sync_nonpoison,sync_poison_mod): remove all `#[doc(inline)]` once the modules are stabilizedstd/src/sync/mod
FIXME(tempdragon): Add the scope related code here if the scope is supportedrustc_codegen_gcc/src/debuginfo
FIXME(tempdragon): Currently, this function is not yet implemented. It seems that therustc_codegen_gcc/src/debuginfo
FIXME(tempdragon): Not sure if this is correct, probably wrong but still keep it hererustc_codegen_gcc/src/debuginfo
FIXME(tempdragon): Re-enable `clippy::suspicious_else_formatting` if the following issue is solvedrustc_codegen_gcc/src/intrinsic/mod
FIXME(tempdragon/?): Add Scope Support Hererustc_codegen_gcc/src/debuginfo
FIXME(tmandry): Consider using sparse bitsets here once we have goodrustc_mir_transform/src/coroutine
FIXME(trait-system-refactor-initiative#117): we don't detect whether a responserustc_next_trait_solver/src/solve/mod
Closed
FIXME(trait_alias): Implement trait aliastools/rust-analyzer/crates/hir-ty/src/lower
FIXME(trait_alias): Suggest adding `Self: Trait` torustc_hir_analysis/src/hir_ty_lowering/errors
FIXME(trait_alias): Trait alias brings aliased traits in scope! Note that supertraits oftools/rust-analyzer/crates/hir-def/src/resolver
FIXME(trait_alias): We need to handle trait alias heretools/rust-analyzer/crates/hir-ty/src/lower
FIXME(translation) there might be pieces that are translatablerustc_const_eval/src/interpret/memory
FIXME(transmutability): This really should be returning nested goals for `Answer::If*`rustc_trait_selection/src/solve/delegate
FIXME(tschottdorf): #44912ui/rfcs/rfc-2005-default-binding-mode/general
Open
FIXME(tschottdorf): This should compile. See #44912ui/rfcs/rfc-2005-default-binding-mode/issue-44912-or
Open
FIXME(tschottdorf): `contains_explicit_ref_binding()` must be removedrustc_hir_typeck/src/fn_ctxt/checks
FIXME(tschottdorf): don't call contains_explicit_ref_binding, whichrustc_hir_typeck/src/_match
FIXME(tschottdorf): this is problematic as the HIR is being scraped, butrustc_hir/src/pat_util
FIXME(tschottdorf): this test should passui/rfcs/rfc-2005-default-binding-mode/const
FIXME(tschottdorf): we want these to compile, but they don'tui/rfcs/rfc-2005-default-binding-mode/lit
FIXME(twk): this is obviously not nice to duplicate like thatrustc_trait_selection/src/traits/auto_trait
FIXME(type-alias-impl-trait): We could probably make this workui/type-alias-impl-trait/nested-tait-inference
FIXME(type_alias_impl_trait): These opaque typesrustc_trait_selection/src/error_reporting/infer/need_type_info
FIXME(type_alias_impl_trait): What does this test? This needs a commentui/type-alias-impl-trait/coherence_generalization
FIXME(type_alias_impl_trait): inform the user about why `F` is not available hereui/impl-trait/issues/issue-78722-2
FIXME(typed_def_id): Further propagate ModDefIdrustc_middle/src/ty/print/pretty
rustc_middle/src/ty/print/pretty
FIXME(typed_def_id): Introduce checked constructors that check def_kindrustc_privacy/src/lib
FIXME(typed_def_id): Make `Visibility::Restricted` use a `LocalModDefId` by defaultrustc_privacy/src/lib
FIXME(typed_def_id): Replace this with `as_mod_def_id`rustc_span/src/def_id
FIXME(typing_env): This should be able to reveal the opaques local to therustc_mir_transform/src/lint_tail_expr_drop_order
FIXME(unsafe_binder)rustc_symbol_mangling/src/v0
FIXME(unsafe_binder): Better spanrustc_resolve/src/late
FIXME(unsafe_binder): Figure out how to handle pointee for unsafe bindersrustc_next_trait_solver/src/solve/normalizes_to/mod
FIXME(unsafe_binder): Implement rustdoc-jsonrustdoc/json/conversions
FIXME(unsafe_binder): Should we conditionallyrustc_trait_selection/src/traits/select/mod
FIXME(unsafe_binder): print this like `unsafe<'a> T<'a>`rustc_type_ir/src/ty_kind
FIXME(unsafe_binders)rustc_middle/src/ty/util
rustc_smir/src/rustc_smir/convert/ty
FIXME(unsafe_binders): Implement thisrustc_sanitizers/src/cfi/typeid/itanium_cxx_abi/encode
FIXME(unsafe_binders): Instantiate the binder with placeholders I guessrustc_next_trait_solver/src/solve/normalizes_to/mod
FIXME(unsafe_binders): Make this print `unsafe<>` rather than `for<>`rustc_middle/src/ty/print/pretty
FIXME(unsafe_binders): Non-local?rustc_next_trait_solver/src/coherence
FIXME(unsafe_binders): Squash the double binder for now, I guessrustc_trait_selection/src/traits/select/mod
FIXME(unsafe_binders): This binder needs to be squashedrustc_trait_selection/src/traits/select/mod
FIXME(unsafe_binders): This is covariant, right?rustc_hir_analysis/src/variance/constraints
FIXME(unsafe_binders): This should report ambiguity once we've removedui/unsafe-binders/mismatch
ui/unsafe-binders/mismatch
FIXME(unsafe_binders): Unsafe binders could implement `~const Drop`rustc_next_trait_solver/src/solve/assembly/structural_traits
rustc_trait_selection/src/traits/effects
FIXME(unsafe_binders): We should also recurse into the binder hererustc_trait_selection/src/traits/wf
FIXME(unsafe_binders): coerce here if needed?rustc_hir_typeck/src/expr
FIXME(unsafe_binders): instantiate this with placeholders?? i guess??rustc_next_trait_solver/src/solve/normalizes_to/mod
FIXME(unsized_const_params): Make `const N: [u8]` work then forbid referencesrustc_trait_selection/src/traits/misc
FIXME(valtrees): Correctly print mir constantsrustc_middle/src/mir/consts
FIXME(valtrees): Remove the special case for `str`rustc_symbol_mangling/src/v0
FIXME(vincenzopalazzo): make the check smarterrustc_resolve/src/late/diagnostics
FIXME(vincenzopalazzo): move the HirId to a LocalDefIdrustc_middle/src/ty/mod
FIXME(welseywiser) const prop doesn't work on coroutines because of query cyclesrustc_mir_transform/src/known_panics_lint
FIXME(wesleywiser) This logic could be extended further to arbitrary structs orrustc_const_eval/src/interpret/validity
FIXME(wesleywiser): Ideally, we could const-prop away all of this and just be left withmir-opt/const_prop/discriminant
FIXME(wg-debugging): implement CPP like printing for patternsrustc_codegen_ssa/src/debuginfo/type_names
FIXME(with_negative_coherence): the infcx has constraints from equatingrustc_trait_selection/src/traits/coherence
FIXME(workingjubilee): add proper diagnostics when we factor out "pre-run" setuprustc_interface/src/util
FIXME(yaahc): once metrics can be enabled by default we will want "failure to emitrustc_driver_impl/src/lib
FIXME(yukang) Test remove NestedFullUnusedui/imports/suggest-remove-issue-121315
FIXME(yukang): Test remove both redundant and unusedui/imports/suggest-remove-issue-121315
FIXME(zetanumbers): Add same restrictions on AsyncDrop impls ascore/src/future/async_drop
FIXME(zetanumbers): Disallow types with `AsyncDrop` in unionstools/miri/tests/pass/async-drop
ui/async-await/async-drop
FIXME(zetanumbers): Note that this method is used to check eligible typesrustc_middle/src/ty/util
FIXME(zetanumbers): Send and Sync implscore/src/future/async_drop
FIXME(zetanumbers): Temporary workaround for async drop of dynamic typesrustc_middle/src/ty/util
FIXME(zetanumbers): This check fully depends on the layout ofui/async-await/async-drop
FIXME(zetanumbers): consider AsyncDestruct::async_drop cleanup teststools/miri/tests/pass/async-drop
ui/async-await/async-drop
FIXME(zetanumbers): consider replacing this with onlyrustc_middle/src/ty/util
FIXME**: Document exactly which `CastKind`s allow which types of castsrustc_middle/src/mir/syntax
FIXME**: Document exactly which `CastKind`s allow which types of casts. Figure out whytools/rust-analyzer/crates/hir-ty/src/mir
FIXME, quote is incompatible with third-party toolstools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
FIXME, this resolution should not be done syntacticallytools/rust-analyzer/crates/hir-expand/src/db
FIXME, type mismatch should not occurtools/rust-analyzer/crates/hir-ty/src/tests/method_resolution
FIXME-CHECK-DAG: %[[CMP0:.+]] = icmp sge i16 %[[A0]], %[[B0]]codegen/comparison-operators-2-tuple
FIXME-CHECK-DAG: %[[CMP0:.+]] = icmp sgt i16 %[[A0]], %[[B0]]codegen/comparison-operators-2-tuple
FIXME-CHECK-DAG: %[[CMP0:.+]] = icmp sle i16 %[[A0]], %[[B0]]codegen/comparison-operators-2-tuple
FIXME-CHECK-DAG: %[[CMP1:.+]] = icmp uge i16 %[[A1]], %[[B1]]codegen/comparison-operators-2-tuple
FIXME-CHECK-DAG: %[[CMP1:.+]] = icmp ugt i16 %[[A1]], %[[B1]]codegen/comparison-operators-2-tuple
FIXME-CHECK-DAG: %[[CMP1:.+]] = icmp ule i16 %[[A1]], %[[B1]]codegen/comparison-operators-2-tuple
FIXME-CHECK-DAG: %[[EQ:.+]] = icmp eq i16 %[[A0]], %[[B0]]codegen/comparison-operators-2-tuple
codegen/comparison-operators-2-tuple
codegen/comparison-operators-2-tuple
FIXME-CHECK-LABEL: @bool_eqcodegen/option-niche-eq
FIXME-CHECK-NEXT: icmp eq i8codegen/option-niche-eq
FIXME-CHECK-NEXT: ret i1codegen/option-niche-eq
FIXME-CHECK: %[[R:.+]] = select i1 %[[EQ]], i1 %[[CMP1]], i1 %[[CMP0]]codegen/comparison-operators-2-tuple
codegen/comparison-operators-2-tuple
codegen/comparison-operators-2-tuple
FIXME-CHECK: _0 = const -1_i8;mir-opt/dataflow-const-prop/transmute
FIXME-CHECK: ret i1 %[[R]]codegen/comparison-operators-2-tuple
codegen/comparison-operators-2-tuple
codegen/comparison-operators-2-tuple
FIXME-CHECK: startcodegen/option-niche-eq
FIXME. Except we don't!ui/regions/forall-wf-ref-reflexive
FIXME. This ought to be accepted, presumablyui/regions/forall-wf-ref-reflexive
FIXME. This struct gets converted to a `ResolveBoundVars` forrustc_hir_analysis/src/collect/resolve_bound_vars
FIXME. Unfortunately, this doesn't quite work right now becauserustc_hir_analysis/src/check/compare_impl_item
FIXME. We currently fail to recognize this as the self type, whichui/self/elision/ref-alias-async
ui/self/elision/ref-alias
FIXME. We should handle this case better. Itrustc_borrowck/src/diagnostics/region_errors
FIXME. We should really... do something with these regionrustc_trait_selection/src/traits/mod
FIXME/HACK: Go back to `GenericArgsRef` to use its inherent methodsrustc_trait_selection/src/error_reporting/infer/mod
FIXME: We should raise a deadlock error if the self_ref upgrade failedtools/miri/src/shims/unix/unnamed_socket
tools/miri/src/shims/unix/unnamed_socket
FIXME: #114050rustc_hir_typeck/src/errors
Open
FIXME: #4825; This is required, because Clippy lints that are based on MIR have to betools/clippy/src/driver
Closed
FIXME: #67062 has details about why this is sub-optimalrustc_expand/src/mbe
Open
FIXME: #7698, false positive of the internal lintstools/clippy/clippy_lints/src/uninit_vec
Closed
FIXME: #94122 this extern crate definition only exist here to stopstd/src/lib
Closed
FIXME: #[cfg_eval] is not implemented. But it is not stable yettools/rust-analyzer/crates/hir-expand/src/cfg_process
FIXME: #[cold] was previously allowed on non-functions and some crates usedrustc_passes/src/check_attr
FIXME: #[cold] was previously allowed on non-functions/statics and some cratesrustc_passes/src/check_attr
FIXME: #[link_section] was previously allowed on non-functions/statics and somerustc_passes/src/check_attr
FIXME: #[no_mangle] was previously allowed on non-functions/statics and somerustc_passes/src/check_attr
FIXME: #[no_mangle] was previously allowed on non-functions/statics, this should be an errorrustc_passes/src/check_attr
FIXME: #[target_feature] was previously erroneously allowed on statements and somerustc_passes/src/check_attr
FIXME: %g1 is volatile in ABI, but used internally by LLVMrustc_target/src/asm/sparc
FIXME: &affected_workspacetools/rust-analyzer/crates/rust-analyzer/src/flycheck
FIXME: (async) gen closures aren't yet parsedrustc_parse/src/parser/expr
FIXME: +pc was only recently added to LLVMrun-make/pointer-auth-link-with-c/rmake
FIXME: +soft-float itself doesn't set -vectorui/simd-abi-checks-s390x
FIXME: ...which hopefully allows us to simplify thisrustdoc/clean/auto_trait
FIXME: ...which obviously won't have any genericsrustc_hir_analysis/src/hir_ty_lowering/errors
FIXME: 16 is made up and arbitrary. We should look at somerustc_next_trait_solver/src/canonicalizer
FIXME: 2 * hole.pos() + 1 or 2 * hole.pos() + 2 could overflowalloc/src/collections/binary_heap/mod
alloc/src/collections/binary_heap/mod
FIXME: 4 is probably unnecessary and duplicativetools/rustfmt/src/config/config_type
FIXME: 91167run-make/raw-dylib-alt-calling-convention/lib
Open
FIXME: <Gankra/thin-vec/pull/66> is merged, this can be removedrustc_trait_selection/src/solve/fulfill
FIXME: @nikomatsakis suggested that this flag could be removed with the following modificationsrustc_borrowck/src/lib
FIXME: A `HirDatabase` query may be handy if this process is needed in moretools/rust-analyzer/crates/hir-ty/src/lower
FIXME: A not fully instantiated drop shim can cause ICEs if one attempts torustc_mir_transform/src/inline/cycle
FIXME: A recursion limit is necessary as well, for irregularrustc_lint/src/types
FIXME: AIX's strip utility only offers option to strip line number informationrustc_codegen_ssa/src/back/link
FIXME: Accepting floats here to reject them in validation latertools/rust-analyzer/crates/syntax/src/ast/node_ext
FIXME: Account for `#[no_implicit_prelude]` attributesrustc_resolve/src/build_reduced_graph
FIXME: Account for self-contained linking settings and Apple SDKrustc_metadata/src/native_libs
FIXME: Actually make use of `features`rustdoc/clean/cfg
FIXME: Actually use a proper binder here instead of relying on `ReErased`rustc_next_trait_solver/src/solve/normalizes_to/opaque_types
FIXME: Add Checks for theserustc_mir_transform/src/validate
FIXME: Add Snippet Supporttools/rust-analyzer/crates/ide-diagnostics/src/handlers/unresolved_field
FIXME: Add an assertion that opaque type storage is emptyrustc_next_trait_solver/src/solve/normalizes_to/opaque_types
FIXME: Add bless optiontools/compiletest/src/runtest/rustdoc_json
FIXME: Add check for trait bound that is already present, particularly `?Sized` so werustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: Add checking whether the bindings are actually used in the prefixrustc_mir_build/src/thir/pattern/check_match
FIXME: Add pretty_aggregate function that returns a pretty stringstable_mir/src/mir/pretty
FIXME: Add rest of the statementsstable_mir/src/mir/pretty
FIXME: Add some nicer tooltips to each of thesetools/rust-analyzer/crates/ide/src/inlay_hints/adjustment
FIXME: Add support for Tuple Structs. Tuple Structs are not sent to this diagnostictools/rust-analyzer/crates/ide-diagnostics/src/handlers/unresolved_field
FIXME: Add support for nested ref slices when using `render_eval`tools/rust-analyzer/crates/ide-assists/src/handlers/inline_const_as_literal
FIXME: Add support for non-integer typesrustc_codegen_cranelift/src/abi/mod
FIXME: Add support for unary tuple expressions when using `render_eval`tools/rust-analyzer/crates/ide-assists/src/handlers/inline_const_as_literal
FIXME: Add support to handle type aliases for builtin scalar typestools/rust-analyzer/crates/ide-assists/src/handlers/inline_const_as_literal
FIXME: Add this variant and delete the `retain_adt_literal_usages` functiontools/rust-analyzer/crates/ide-db/src/search
FIXME: Adjust hygiene for idents from globs, like for glob importsrustc_resolve/src/macros
FIXME: All annotation should be resolvabletools/rust-analyzer/crates/hir-ty/src/tests/traits
tools/rust-analyzer/crates/hir-ty/src/tests/traits
FIXME: All upstream crates are deserialized internally in therustc_codegen_gcc/src/back/lto
rustc_codegen_llvm/src/back/lto
FIXME: Allow Redox prefixesstd/src/sys/path/unix
FIXME: Allow attributes in pattern constexprs?ui/parser/attribute/attr-stmt-expr-attr-bad
FIXME: Allow configuring the replacement of `self`tools/rust-analyzer/crates/ide-assists/src/handlers/convert_closure_to_fn
FIXME: Allow for choosing a visibility modifier see rust-lang/rust-analyzer/issues/11563tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unresolved_field
tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unresolved_field
FIXME: Also add a test for <rust-lang/rust/issues/66738>, once that is fixedtools/miri/tests/pass/issues/issue-miri-1075
FIXME: Also detect the proposed lsp version at caps.workspace.workspaceEdit.snippetEditSupporttools/rust-analyzer/crates/rust-analyzer/src/config
FIXME: Also do this for Windows once incremental post-optimization stage0 testsbootstrap/src/core/build_steps/compile
FIXME: Also make use of the syntax context to determine which site we are at?tools/rust-analyzer/crates/ide/src/navigation_target
FIXME: Also print `#[doc(hidden)]` for `macro_rules!` if it `is_doc_hidden`rustdoc/html/render/print_item
FIXME: Also, include column numbers into the debug format as Display already has themstd/src/backtrace
FIXME: Also, what about considering >1 layer up the stack? May be necessaryrustc_trait_selection/src/solve/fulfill
FIXME: An "unclosed `char`" error will be emitted already in some casesrustc_parse/src/lexer/mod
FIXME: An ambiguity error should be thrown for `error`ui/imports/extern-with-ambiguous-2
ui/imports/extern-with-ambiguous-3
FIXME: Any emitted errors are droppedtools/rust-analyzer/crates/mbe/src/expander/transcriber
FIXME: Append `::` to the thing here, since a trait on its own won't worktools/rust-analyzer/crates/ide-completion/src/completions/expr
FIXME: Are we just trying to map to the `T` in `MaybeUninit<T>`?rustc_hir_analysis/src/check/intrinsicck
FIXME: Arguably this should be an error, but the WARNINGS group isui/lint/forbid-group-group-1
FIXME: As above, we'd like to print out the regionrustc_borrowck/src/universal_regions
FIXME: Associated items on some primitives aren't working, because the implsrustdoc-ui/intra-doc/non-path-primitives
FIXME: Assume that all nonterminals are not equal, we can't compare themrustc_ast/src/token
FIXME: At some point when our hir infra is fleshed out enough we should flip this and traverse thetools/rust-analyzer/crates/ide/src/inlay_hints
FIXME: Autogenerate this instead of enumerating by handtools/rust-analyzer/crates/ide-diagnostics/src/lib
FIXME: Automate gathering of all relevant C source files in the directorytools/miri/tests/ui
FIXME: Avoid having to adjust the signature both here and inrustc_mir_transform/src/shim
FIXME: Before moving this lint out of nursery, the lint name needs to be updated. It now alsotools/clippy/clippy_lints/src/option_if_let_else
FIXME: Borrow checker problems without thistools/rust-analyzer/crates/hir-ty/src/infer/closure
FIXME: Borrow checker won't allow without thistools/rust-analyzer/crates/hir-ty/src/infer/closure
tools/rust-analyzer/crates/hir-ty/src/infer/closure
FIXME: Bound vars matter here!rustc_type_ir/src/outlives
FIXME: Breaking here and proceeding to `count()` isn't the mosttools/rust-analyzer/crates/mbe/src/expander/transcriber
FIXME: Built-in derives often forget to give spans contextsrustc_builtin_macros/src/deriving/mod
FIXME: Built-in target specs occasionally use this for linking system librariesrustc_codegen_ssa/src/back/link
FIXME: Can they contain const arguments and thus leak private struct fields?rustc_metadata/src/rmeta/encoder
FIXME: Can this be `Some` for `Auto` or `Blanket`?rustdoc/core
FIXME: Can this just be part of [`graph::DirectedGraph`]?rustc_mir_transform/src/coverage/counters/iter_nodes
FIXME: Can we derive this from somewhere else?tools/rust-analyzer/crates/rust-analyzer/src/global_state
FIXME: Can we do this for arguments as well?rustc_mir_transform/src/nrvo
FIXME: Can we do this for simple coroutines too?rustc_codegen_ssa/src/mir/rvalue
FIXME: Can we implement this in terms of `add` and `inject`?rustc_next_trait_solver/src/delegate
FIXME: Can we just change the type on this to `Alignment`?core/src/alloc/layout
FIXME: Can we remove this somehow?tools/rust-analyzer/crates/hir-expand/src/mod_path
FIXME: Cannot use a `pub` macro 2.0 in a staged API crate due to reachability issuesui/macros/auxiliary/unstable-macros
FIXME: Cargo should probably do this itselfbootstrap/src/core/build_steps/doc
FIXME: Censoring info should be calculated by the caller! Namely by name resolutiontools/rust-analyzer/crates/hir-expand/src/db
FIXME: Change `node_` prefix to something more reasonabletools/rust-analyzer/crates/hir-def/src/body
FIXME: Change this back to `LazyCell` if rust-lang/libs-team/issues/429 is acceptedtools/rust-analyzer/crates/hir-def/src/generics
FIXME: Change this once we have CtorKind in StableMIRstable_mir/src/mir/pretty
FIXME: Check for defaultness here may cause diagnostics problemsrustc_trait_selection/src/solve/delegate
FIXME: Check if the signature matchesrustc_const_eval/src/interpret/validity
FIXME: Check metadata more generallyrustc_mir_transform/src/validate
FIXME: Check pointee typesrustc_mir_transform/src/validate
FIXME: Check that the arg is of the form `() -> T`tools/rust-analyzer/crates/ide-assists/src/handlers/replace_method_eager_lazy
FIXME: Check that this has the form of `() -> T` where T is the current type of the argumenttools/rust-analyzer/crates/ide-assists/src/handlers/replace_method_eager_lazy
FIXME: Check type-relative associated types in signaturesrustc_privacy/src/lib
FIXME: Check whether these files could be build script relatedtools/rust-analyzer/crates/rust-analyzer/src/main_loop
FIXME: Claiming that those kinds of QPaths are simple is probably not true if the Tyrustc_metadata/src/rmeta/encoder
FIXME: Clarify interaction with SourceIter/InPlaceIterable. Calling `SourceIter::as_inner`core/src/iter/adapters/zip
FIXME: Collect tokens and use them instead of generatingrustc_expand/src/expand
FIXME: Consider adding a reverse map to ExpansionInfo to get rid of the linear search whichtools/rust-analyzer/crates/hir-expand/src/lib
FIXME: Consider applying `#[inline]` / `#[inline(never)]` optimizations already appliedstd/src/io/buffered/bufwriter
FIXME: Consider checking ctx transparency for being opaque?tools/rust-analyzer/crates/ide/src/syntax_highlighting
FIXME: Consider doing normalization in the `vfs` instead? That allowstools/rust-analyzer/crates/rust-analyzer/src/global_state
FIXME: Consider generic parameters that do not appear in params/return type/captures buttools/rust-analyzer/crates/ide-assists/src/handlers/convert_closure_to_fn
FIXME: Consider if `#[rustc_diagnostic_item = "ptr_drop_in_place"]` is needed?core/src/future/async_drop
FIXME: Consider implementing this in cg_llvm instead?portable-simd/crates/core_simd/src/ops
FIXME: Consider moving this method to a more fitting placerustc_hir_analysis/src/check/mod
FIXME: Consider optimizing combinators to not have to use fuse in majoritycore/src/future/async_drop
FIXME: Consider removing this, making HirDatabase::target_data_layout an input querytools/rust-analyzer/crates/base-db/src/lib
FIXME: Consider specializing this message if there is a single `_`rustc_trait_selection/src/error_reporting/infer/need_type_info
FIXME: Consider using the derive resolutions (`_exts`)rustc_expand/src/expand
FIXME: Consider using unsafe trait for matching protocol with guidstd/src/sys/pal/uefi/helpers
FIXME: Consider wrapping the hidden type in an existential `Binder` and instantiating itrustc_hir_analysis/src/check/check
FIXME: ControlFlow and ContainerInfo both track some function modifiers, feels like these two shouldtools/rust-analyzer/crates/ide-assists/src/handlers/extract_function
FIXME: Copied from librustc_ast until linkage errors are resolved. Issue #47566test/src/cli
Closed
FIXME: Could also check that the RPIT is not definedrustc_hir_typeck/src/_match
FIXME: Could be optimized to not walk into components with no escaping bound varsrustc_type_ir/src/ty_kind/closure
FIXME: Could we make `build_with_canonical` into `enter_with_canonical` and call this at the end?rustc_next_trait_solver/src/solve/eval_ctxt/mod
FIXME: Currently only handles ?Sizedrustc_trait_selection/src/error_reporting/traits/mod
FIXME: Currently shows "cannot determine" but should be `false`ui/conditional-compilation/cfg_accessible-bugs
FIXME: Currently shows "not sure" but should be `false`ui/conditional-compilation/cfg_accessible-bugs
FIXME: Currently we force all DISCR_* values to be u64's as LLDB seems to haverustc_codegen_llvm/src/debuginfo/metadata/enums/cpp_like
FIXME: Currently we lower every bounds in a trait alias as a trait bound on `Self` i.etools/rust-analyzer/crates/hir/src/display
FIXME: Currently, rust is invoking cc to link, which ends uprustc_target/src/spec/base/illumos
FIXME: Currently, we cannot represent partial initializationtools/miri/src/concurrency/weak_memory
FIXME: Currently, we only report suggestions if the `RegionNameSource` is an early-boundrustc_borrowck/src/diagnostics/outlives_suggestion
FIXME: Deal with type aliases?rustc_hir_typeck/src/fn_ctxt/adjust_fulfillment_errors
rustc_hir_typeck/src/fn_ctxt/adjust_fulfillment_errors
rustc_hir_typeck/src/fn_ctxt/adjust_fulfillment_errors
rustc_hir_typeck/src/fn_ctxt/adjust_fulfillment_errors
rustc_hir_typeck/src/fn_ctxt/adjust_fulfillment_errors
FIXME: Decide what public API we want for these two flagscore/src/fmt/mod
FIXME: Decide what should be used here, `=` or `==`rustc_parse/src/parser/generics
FIXME: Deduplicate this with hir::Local::sources()tools/rust-analyzer/crates/hir-ty/src/tests/closure_captures
FIXME: Definition should include known lints and the like instead of having this special case heretools/rust-analyzer/crates/ide/src/hover
FIXME: Depending on the PassMode, this should reset some padding to uninitialized. (Thisrustc_const_eval/src/interpret/call
FIXME: Detect and report the deadlock proactively. (We currentlytools/miri/src/shims/unix/sync
FIXME: Determine where exactly these args need to be insertedrustc_codegen_ssa/src/back/link
rustc_codegen_ssa/src/back/link
rustc_codegen_ssa/src/back/link
rustc_codegen_ssa/src/back/link
FIXME: Diagnosetools/rust-analyzer/crates/hir-def/src/hir/format_args
tools/rust-analyzer/crates/hir-def/src/hir/format_args
tools/rust-analyzer/crates/hir-def/src/hir/format_args
tools/rust-analyzer/crates/hir-def/src/hir/format_args
tools/rust-analyzer/crates/hir-def/src/hir/format_args
FIXME: Disabled on Miri as the intrinsics are not implemented yetstd/build
std/build
FIXME: Do some kind of check of the inner type, like for Scalar and ScalarPairrustc_ty_utils/src/layout/invariant
FIXME: Do these need handling?rustdoc/formats/cache
FIXME: Do this differently, this is very inflexible the callertools/rust-analyzer/crates/ide/src/navigation_target
FIXME: Do unescaping in a less ad-hoc way, and perhaps support escapedtools/compiletest/src/header
FIXME: Do unsafe analysis on expression, sem highlighting knows this so we should be abletools/rust-analyzer/crates/ide-assists/src/handlers/extract_function
FIXME: Do we really need this `local_used_in` check?tools/clippy/clippy_lints/src/eta_reduction
FIXME: Do what rustc does for repetitionstools/rust-analyzer/crates/mbe/src/expander/transcriber
FIXME: Document and simplify thistools/rust-analyzer/crates/hir-def/src/item_scope
FIXME: Document these and merge with the list belowrustc_feature/src/unstable
FIXME: Document thistools/rust-analyzer/crates/hir/src/lib
FIXME: Does `&raw const foo` allow mutation? See #90413rustc_mir_dataflow/src/impls/initialized
Closed
FIXME: Does `asm!` have any aliasing requirements?rustc_mir_transform/src/coroutine
FIXME: Does it make sense to have this here?tools/rust-analyzer/crates/span/src/map
FIXME: Does this need extra logic to handle let-chains?rustc_mir_build/src/builder/expr/into
FIXME: Doesn't handle "path-like" primitives like arrays or tuplesrustdoc/html/render/span_map
FIXME: Doing the merge step of a merge sort here would be a bit more performanttools/rust-analyzer/crates/rust-analyzer/src/diagnostics
FIXME: Don't `unwrap_or`, I think we should panic if we encounter an infer var thatrustdoc/clean/auto_trait
FIXME: Don't bother dealing with non-lifetime binders hererustc_hir_analysis/src/hir_ty_lowering/mod
FIXME: Don't consider alias bounds on types that have escaping boundrustc_infer/src/infer/outlives/for_liveness
FIXME: Don't delete storage statements, but "merge" the storage ranges insteadrustc_mir_transform/src/dest_prop
FIXME: Don't hard-code this offset. Is this meant to representrustc_errors/src/emitter
FIXME: Don't inline user-written `extern "rust-call"` functionsrustc_mir_transform/src/inline
FIXME: Due to shortcomings in the current type system implementation, only emittools/rust-analyzer/crates/hir-ty/src/diagnostics/expr
FIXME: Editiontools/rust-analyzer/crates/ide/src/lib
FIXME: Edition, is this rightr?tools/rust-analyzer/crates/hir-def/src/nameres/mod_resolution
FIXME: Emit lexer warningstools/rust-analyzer/crates/syntax/src/validation
FIXME: Emitting whitespace for this is really just a hack, we should get rid of ittools/rust-analyzer/crates/syntax-bridge/src/lib
FIXME: Enable bolt for aarch64 once it's fixed upstream. Broken as of December 2024tools/opt-dist/src/main
Closed
FIXME: Enable this when the FIXME on FnAbi regarding PartialEq is fixedtools/rust-analyzer/crates/hir-ty/src/display
FIXME: Enforce that values are structurally-matchablerustc_trait_selection/src/traits/wf
FIXME: Ensure this won't cause a deadlock before we returnrustc_query_system/src/query/job
FIXME: Even though negative bounds are not implemented, we could maybe handlerustc_hir_typeck/src/method/suggest
FIXME: Eventually this trait should become `#[rustc_deny_explicit_impl]`core/src/marker
FIXME: Eventually uplift the impl out of rustc and make this defaultedrustc_type_ir/src/inherent
FIXME: Experiment with choosing most common words in overall data settools/unicode-table-generator/src/raw_emitter
FIXME: Extend builder tests to cover the `crates` field of `Std` instancesbootstrap/src/core/build_steps/compile
FIXME: Extend this to other cases, such as associated types/consts/enum variants (note those can be `use`d)tools/rust-analyzer/crates/ide-db/src/search
FIXME: FP, because the `MutexGuard` is dropped before crossing the await point. This istools/clippy/tests/ui/await_holding_lock
FIXME: Fallback for 'static and '_, as we do not resolve these yettools/rust-analyzer/crates/ide/src/syntax_highlighting/highlight
FIXME: Feature gating is performed inconsistently between `Expr` and `OptExpr`rustc_expand/src/expand
FIXME: Fetching metadata is a slow process, as it might requiretools/rust-analyzer/crates/project-model/src/cargo_workspace
FIXME: Figure out a better way for the IDE layer to resolve these?tools/rust-analyzer/crates/hir-def/src/nameres
FIXME: Figure out an API that makes proper use of ctx, this only exists totools/rust-analyzer/crates/hir-expand/src/files
tools/rust-analyzer/crates/hir-expand/src/files
FIXME: Figure out cases in which WASM needs to link with a native toolchainrustc_target/src/spec/base/wasm
rustc_target/src/spec/targets/wasm32_wasip1
rustc_target/src/spec/targets/wasm32_wasip1_threads
rustc_target/src/spec/targets/wasm32_wasip2
FIXME: Figure out how to do labels in SMIRrustc_smir/src/rustc_smir/convert/mir
FIXME: Figure out how to remove `visibilities_for_hashing` by hashing visibilities onrustc_middle/src/hir/map/mod
FIXME: Figure out if this is correct wrt. match ergonomicstools/rust-analyzer/crates/hir-ty/src/mir
FIXME: Figure out the way to get a correct span when converting `try!` to `?`tools/rustfmt/src/chains
FIXME: Figure out why this doesn't work anymoretools/rust-analyzer/crates/ide-ssr/src/tests
FIXME: Fill me in with more detail when the interface settlescore/src/lib
FIXME: Fill out the rest of this matrixrustdoc/json/conversions
FIXME: Find a better heuristic for "native musl toolchain is available"rustc_codegen_ssa/src/back/link
FIXME: Find a better way of ignoring the trailingrustc_lint/src/redundant_semicolon
FIXME: Find a better way to detect those casestools/clippy/clippy_lints/src/misc_early/mod
FIXME: Find a better way to know if it is a dylibtools/rust-analyzer/crates/project-model/src/build_dependencies
FIXME: Find a cleaner way to support varargsrustc_codegen_cranelift/src/abi/mod
FIXME: Find a more principled way to solve this problemrustc_mir_transform/src/coverage/spans/from_mir
FIXME: Find better API that also handles const genericstools/rust-analyzer/crates/hir/src/lib
FIXME: Find better API to also handle const genericstools/rust-analyzer/crates/hir/src/lib
tools/rust-analyzer/crates/hir/src/lib
tools/rust-analyzer/crates/hir/src/lib
tools/rust-analyzer/crates/hir/src/lib
FIXME: Find out where to report the lint on. Maybe simply crate-level lint rootrustc_monomorphize/src/mono_checks/move_check
FIXME: Fix "Cannot determine resolution" error and remove built-in macrosrustc_passes/src/check_attr
FIXME: Fold this into Block with an unsafe flag?tools/rust-analyzer/crates/hir-def/src/hir
FIXME: Fold this into InternalErrortools/rust-analyzer/crates/hir-ty/src/mir/eval
FIXME: For backward dataflow analyses, the initial state should be applied to every basicrustc_mir_dataflow/src/framework/mod
FIXME: For now, should only be used with def_kinds from ItemIdsrustc_hir/src/target
FIXME: For now, we handle `DefKind` if it's not a `DefKind::TyParam`rustdoc/html/render/span_map
FIXME: For some reason, `#[cfg(doc)]` wasn't sufficient, resulting inalloc/src/collections/vec_deque/mod
FIXME: Function definitions could actually implement `FnPtr` byrustc_trait_selection/src/traits/select/candidate_assembly
FIXME: GCC doesn't support __builtin_arm_isb yet, check if this builtin is OKrustc_codegen_gcc/src/intrinsic/llvm
FIXME: Generate proper `index_mut` method body refer to `index` method body may impossible due to the unpredictable case [#15581]tools/rust-analyzer/crates/ide-assists/src/handlers/generate_mut_trait_impl
Closed
FIXME: Generic parameter `T` should be part of impl, not methodtools/rust-analyzer/crates/ide-assists/src/handlers/generate_function
FIXME: Get rid of this lock. We have ownership of the QueryWaiterrustc_query_system/src/query/job
FIXME: Get rid of this, it's not a good abstractiontools/rust-analyzer/crates/hir-ty/src/chalk_ext
FIXME: GitHub's UI truncates file lists that exceed 1000 entries, so thesetools/tidy/src/ui_tests
Closed
FIXME: Give a bonus to functions with only a single callerrustc_mir_transform/src/inline
FIXME: Give this a better fitting nametools/rust-analyzer/crates/span/src/lib
FIXME: HVX length defaults are per-CPUrustc_target/src/spec/targets/hexagon_unknown_linux_musl
FIXME: Hack for mutable syntax trees not having great support for macrostools/rust-analyzer/crates/ide-assists/src/handlers/add_missing_match_arms
FIXME: Handle `Invisible`-delimited groups in a more systematic wayrustc_expand/src/mbe/quoted
FIXME: Handle libc++ version checkbootstrap/src/core/sanity
FIXME: Handle lifetimes heretools/rust-analyzer/crates/hir/src/semantics
FIXME: Handle more than one spantools/rust-analyzer/crates/hir-ty/src/mir/lower
FIXME: Handle owners of blocks correctly heretools/rust-analyzer/crates/ide/src/navigation_target
FIXME: Having to clone `region_constraints` for folding feels bad andrustc_middle/src/traits/solve
rustc_middle/src/traits/solve
FIXME: Here and elsewhere in this file, the `expr` wastools/rust-analyzer/crates/hir/src/lib
FIXME: Here's a false positiveui/lint/unused/lint-unused-mut-variables
FIXME: How can we handle renaming any one of multiple anonymous lifetimes?tools/rust-analyzer/crates/ide-assists/src/handlers/introduce_named_lifetime
FIXME: How can we integrate it with the `update_resolution`?rustc_resolve/src/lib
FIXME: How we should handle this?ui/lint/special-upper-lower-cases
FIXME: However, for trait aliases, this incorrectly returns the enclosing modulerustc_hir_analysis/src/hir_ty_lowering/errors
FIXME: I am probably not unsafestd/src/sys/pal/unix/stack_overflow
std/src/sys/pal/unix/stack_overflow
FIXME: I guess we could also check something here? Like, look at all fields?rustc_ty_utils/src/layout/invariant
rustc_ty_utils/src/layout/invariant
FIXME: I probably cause more bugs than I'm worth!std/src/sys/pal/unix/stack_overflow
FIXME: I sometimes use memory, sometimes use an IR aggregate!rustc_abi/src/lib
FIXME: I think This could be generalized to not bool if werustc_mir_transform/src/jump_threading
FIXME: I think we should just control the flags externallyrustc_mir_dataflow/src/elaborate_drops
FIXME: I'm sure there's already better way to do thistools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/mod
FIXME: Ideally MIR types are normalized, but this is not always truerustc_borrowck/src/type_check/canonical
FIXME: Ideally constants in const eval should have separate body (issue #7434), and this function shouldtools/rust-analyzer/crates/hir-ty/src/consteval
Closed
FIXME: Ideally here we should do everything that we do with type alias, i.e. adding a variabletools/rust-analyzer/crates/hir-ty/src/infer/unify
FIXME: Ideally these suggestions would be fixed via rustfix. Blocked by rust-lang/rust#53934tools/clippy/tests/ui/print_with_newline
tools/clippy/tests/ui/significant_drop_in_scrutinee
tools/clippy/tests/ui/write_with_newline
Open
FIXME: Ideally this should be handled in fixup in a structured way, but our listtools/rust-analyzer/crates/parser/src/grammar
FIXME: Ideally type mismatch should be reported on `take_u32(42 - p)`tools/rust-analyzer/crates/hir-ty/src/tests/traits
FIXME: Ideally we could give an unreachable warningui/c-variadic/variadic-unreachable-arg-error
FIXME: Ideally we should look into the generic constantrustc_trait_selection/src/error_reporting/infer/need_type_info
FIXME: Ideally we should support this. For thatrustc_trait_selection/src/error_reporting/infer/need_type_info
FIXME: IdentClass as a name no longer fitstools/rust-analyzer/crates/ide-db/src/defs
FIXME: If Rust ever gains the ability to `use Struct::method` we'll also need to account for freetools/rust-analyzer/crates/ide-db/src/search
FIXME: If `type_alias_impl_trait` is enabled, also look for `Trait0<Ty = Trait1>`rustc_hir_analysis/src/hir_ty_lowering/lint
FIXME: If can reliably detect that MSVC's link.exe is used, thentools/compiletest/src/runtest/debuginfo
FIXME: If it is unreachable, use proper error instead of `not_supported`tools/rust-analyzer/crates/hir-ty/src/mir/lower
FIXME: If normal `transmute` ever gets smart enough to allow thiscore/src/array/iter
FIXME: If one `let` is wrapped in parentheses and the second is nottools/rust-analyzer/crates/ide-assists/src/handlers/replace_if_let_with_match
FIXME: If the code is changed enough for this node to be marked before requiring therustc_query_system/src/dep_graph/graph
FIXME: If the next segment doesn't resolve in the module andtools/rust-analyzer/crates/hir-def/src/nameres/path_resolution
FIXME: If there are more than one attributes, this will force multilinetools/rustfmt/src/types
FIXME: If there are multiple items, it's definitely redundant (and it's hacky!tools/rust-analyzer/crates/mbe/src/expander/matcher
FIXME: If this is the first arm and the pattern is irrefutablerustc_hir_typeck/src/_match
FIXME: If this span comes from a `derive` macro but it points at code the user wroterustc_span/src/lib
FIXME: If this test fails and the compiler does print to the consolerun-make/emit-to-stdout/rmake
FIXME: If this wide pointer is a `Box` then we don't want to use itsrustc_codegen_llvm/src/debuginfo/metadata
FIXME: If trait lowering fails, due to a non PathType for example, we treat this impltools/rust-analyzer/crates/hir-def/src/item_tree/lower
FIXME: If two macros in the same module have the same namerustdoc/macro-document-private-duplicate
FIXME: If we also fix `SegmentParam`, then we should apply the sametools/rustfmt/src/overflow
FIXME: If we are in an expression context (i.e. fn bodies and const exprs) then the default isrustdoc/clean/mod
FIXME: If we cannot determine the size (because the unsized tail is an `extern type`)tools/miri/src/borrow_tracker/stacked_borrows/mod
FIXME: If we ever add an inherent impl for tuplesrustdoc/clean/types
FIXME: Immediately expanding in "Case 1" is insufficient since "Case 2" may also definetools/rust-analyzer/crates/hir-def/src/nameres/collector
FIXME: Implement for other items if necessary. As we do not support #[cfg_eval] yet, we do not need to implement it for nowtools/rust-analyzer/crates/hir-expand/src/cfg_process
FIXME: Implement these with renaming requirements so that e.grustc_resolve/src/ident
FIXME: Implement this on structtools/rustfmt/config_proc_macro/src/config_type
FIXME: Implement this structtools/rustfmt/tests/source/enum
tools/rustfmt/tests/target/enum
FIXME: Implements subset of HashMap APIrustc_data_structures/src/sso/map
FIXME: Implements subset of HashSet APIrustc_data_structures/src/sso/set
FIXME: In HashMap most methods accepting key referencerustc_data_structures/src/sso/map
FIXME: In case it imports multiple items under different namespaces we just pick one arbitrarilytools/rust-analyzer/crates/hir/src/symbols
FIXME: In practice built-in target specs use this for arbitrary order-independent optionsrustc_codegen_ssa/src/back/link
rustc_codegen_ssa/src/back/link
FIXME: In principle, the inherited base LLVM target code model could be largerustc_session/src/session
FIXME: In some rare cases `AssocItem::container_or_implemented_trait` returns `None` for trait methodstools/rust-analyzer/crates/rust-analyzer/src/cli/analysis_stats
FIXME: In the future, we should also call `prepare_for_native_call` on all previouslytools/miri/src/shims/native_lib
FIXME: In which cases should we trigger UB when the source is uninit?rustc_const_eval/src/interpret/cast
FIXME: Incorporate this into [`BitRelations`] and fill outrustc_index/src/bit_set
FIXME: Inherited `impl Trait`s create query cycles when used inside trait implsui/delegation/unsupported
FIXME: Instantiated functions with i128 in the signature is not supported in Emscriptenalloc/tests/lib
core/tests/hash/mod
FIXME: Instead of bailing out with None, we should note down thattools/rust-analyzer/crates/ide-db/src/imports/insert_use
tools/rust-analyzer/crates/ide-db/src/imports/insert_use
tools/rust-analyzer/crates/ide-db/src/imports/insert_use
FIXME: Instead of searching through the attributes again to get spanrustc_lint/src/foreign_modules
FIXME: Instead of using the hard-coded `23` value, better to compute it insteadrustc_codegen_gcc/build_system/src/test
FIXME: Instead of waiting try generating all trait methods, and pruningrustc_resolve/src/macros
FIXME: Interner argument is needed to constrain the `I` parameterrustc_next_trait_solver/src/solve/normalizes_to/opaque_types
FIXME: Is a memcpy really the best we can do?codegen/simd/packed-simd-alignment
FIXME: Is it correct for us to only take the span at the start? This feels somewhattools/rust-analyzer/crates/hir-expand/src/span_map
FIXME: Is it really perf sensitive to use reuse_or_mk_predicate here?rustc_middle/src/ty/predicate
FIXME: Is the trait scope needed for trait impl assoc items?tools/rust-analyzer/crates/ide-db/src/search
FIXME: Is the upper bound a better guess? Or something else?alloc/src/vec/splice
FIXME: Is there a better place to put this?core/src/primitive_docs
FIXME: Issue-3581: this should be renamed to ItemsLayout when publishing 2.0tools/rustfmt/src/config/options
Closed
FIXME: It may be better to take the first if there are multiplerustc_hir_typeck/src/fn_ctxt/adjust_fulfillment_errors
FIXME: It may be faster if we build just a stage 1 compiler and thenbootstrap/src/core/build_steps/compile
FIXME: It might be a good idea to handle lifetime parameters tootools/rust-analyzer/crates/ide-assists/src/handlers/generate_function
FIXME: It might be better to use the same value for both `RUSTFLAGS` and `RUSTDOCFLAGS`bootstrap/src/core/builder/cargo
FIXME: It should infer the eldided lifetimes instead of stubbing with statictools/rust-analyzer/crates/hir-ty/src/lower
FIXME: It should never happens, but currently it will happen in `const_dependent_on_local` test, whichtools/rust-analyzer/crates/hir-ty/src/mir/lower
FIXME: It should return a new hir::Type, but currently constructing new types is too cumbersometools/rust-analyzer/crates/ide-assists/src/utils
FIXME: It would be nice for this to work. See #94067ui/async-await/drop-track-field-assign-nonsend
ui/async-await/field-assign-nonsend
Open
FIXME: It would be nice to have a less-awkward way to apply permutationsrustc_mir_transform/src/prettify
FIXME: It would be nice to make this not use string manipulationrustc_middle/src/ty/diagnostics
rustc_middle/src/ty/diagnostics
FIXME: It would possibly be better to do this more continuously, at each levelrustc_hir_typeck/src/fn_ctxt/adjust_fulfillment_errors
FIXME: It would probably be nicer if we could get this via HIR (i.e. get thetools/rust-analyzer/crates/ide-db/src/path_transform
FIXME: It'd be great if we could add suggestion to the following caseui/parser/trait-object-lifetime-parens
FIXME: It'd be great if we could also warn themui/lint/unused/issue-74883-unused-paren-baren-yield
FIXME: It'd be nice to print the late-bound regionsrustc_borrowck/src/universal_regions
FIXME: It's not clear that this code ought to reportui/higher-ranked/trait-bounds/issue-59311
FIXME: It's suspicious that this is public; clippy should probably use `walk_expr`rustc_hir_typeck/src/expr_use_visitor
FIXME: It's very weird that we ignore region obligations but apparentlyrustc_trait_selection/src/traits/mod
FIXME: Known buggy cases are described heretools/rust-analyzer/crates/rust-analyzer/src/cli/scip
FIXME: LLVM generates invalid debug info for variables requiringdebuginfo/simd
FIXME: LLVM only supports this optimization for `Lto::Fat` currently. Once it alsorustc_codegen_llvm/src/debuginfo/metadata
FIXME: Limit the length and bail out on excess somehow?tools/rust-analyzer/crates/ide/src/inlay_hints
FIXME: Linear lookuptools/rust-analyzer/crates/hir-def/src/data/adt
FIXME: Lint attributes currently don't work directly on macros, andui/lint/rfc-2383-lint-reason/expect_lint_from_macro
FIXME: Literals are already lexed by this point, so we can't recover gracefully just byrustc_parse/src/lexer/unicode_chars
FIXME: Longterm canonical queries should deal with all placeholdersrustc_next_trait_solver/src/solve/eval_ctxt/canonical
FIXME: MSVC 2015+ will pass the first 3 vector arguments in [XYZ]MM0-2rustc_target/src/callconv/x86
Closed
FIXME: Macro callstools/rust-analyzer/crates/hir/src/semantics/child_by_source
FIXME: Macro shadowing in one module is not properly handled. Non-item place macros willtools/rust-analyzer/crates/hir-def/src/item_scope
FIXME: Make better use of this. Right now things like return and break without a valuetools/rust-analyzer/crates/hir-ty/src/infer/coerce
FIXME: Make the control flow more propertools/rust-analyzer/crates/ide-db/src/syntax_helpers/node_ext
FIXME: Make this >= 3, and migrate len(values)==1 cases to @istools/jsondocck/src/main
FIXME: Make this a SyntaxContextExt method once we have RPITtools/rust-analyzer/crates/hir-expand/src/hygiene
FIXME: Make this a submodule of [`pattern`]tools/rust-analyzer/crates/ide-completion/src/completions/fn_param
FIXME: Make this an enumtools/rust-analyzer/crates/ide-diagnostics/src/lib
FIXME: Make this failible, so jsonpath syntax error has line numbertools/jsondocck/src/cache
FIXME: Make this into a real type op?rustc_borrowck/src/type_check/canonical
rustc_borrowck/src/type_check/canonical
FIXME: Make this smaller, its stored in database queriestools/rust-analyzer/crates/hir-ty/src/mir/lower
FIXME: Maybe do something smarter for Ref types too?rustc_codegen_ssa/src/traits/builder
FIXME: Maybe need to normalize hererustc_hir_typeck/src/expr_use_visitor
FIXME: Maybe these calls to `lower_ty` can be removed (and the ones below)rustc_hir_typeck/src/fn_ctxt/suggestions
FIXME: Maybe this could use insertvalue/extractvalue instead?rustc_codegen_ssa/src/mir/rvalue
FIXME: Maybe this needs to be relative to the project size, or at least to the initial search scope?tools/rust-analyzer/crates/ide-db/src/search
FIXME: Maybe we can indent this properly, adding newlines and all, but this is hardtools/rust-analyzer/crates/ide-assists/src/handlers/convert_closure_to_fn
FIXME: Maybe we should merge copy and clone in a single flag?tools/rust-analyzer/crates/ide-diagnostics/src/tests
FIXME: Merge this diagnostic into UnresolvedField?tools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: Merge this function to `add_upstream_rust_crates` so that all native librariesrustc_codegen_ssa/src/back/link
FIXME: Merge this lint with USELESS_TRANSMUTE once that is out of the nurserytools/clippy/clippy_lints/src/transmute/mod
FIXME: Merge this with the forced ambiguity candidates, so those don't use `Misc`rustc_type_ir/src/solve/mod
FIXME: Merge with the `else` below?rustc_codegen_gcc/src/builder
rustc_codegen_llvm/src/builder
FIXME: Meta and Item should get proper defaultstools/rust-analyzer/crates/mbe/src/expander/transcriber
FIXME: Migrate these code after PR #130693 is landedassembly/rust-abi-arg-attr
Closed
FIXME: Missing variablestools/rust-analyzer/crates/project-model/src/env
FIXME: Module doesn't have visibility saved in datatools/rust-analyzer/crates/hir/src/display
FIXME: More robust support for checking things in $.index also exist in $.pathstools/jsondoclint/src/validator
FIXME: Move `/LIBPATH` addition for uwp targets from the linker constructionrustc_codegen_ssa/src/back/linker
FIXME: Move into r-efi once extended_varargs_abi_support is stablizedstd/src/sys/pal/uefi/helpers
std/src/sys/pal/uefi/helpers
FIXME: Move more of the nameres independent tests fromtools/rust-analyzer/crates/mbe/src/tests
FIXME: Move some of these arms out into separate methods for claritytools/rust-analyzer/crates/hir-def/src/body/lower
FIXME: Move these to an `arm` submoduletools/miri/src/shims/foreign_items
FIXME: Move this check out of typeck, since it'll easily cycle when revealing opaquesrustc_hir_typeck/src/intrinsicck
FIXME: Move this into `InferenceContext`tools/rust-analyzer/crates/hir-ty/src/infer
FIXME: Move this into context/analysis.rstools/rust-analyzer/crates/ide-completion/src/completions/attribute/cfg
FIXME: Move this into load-cargo?tools/rust-analyzer/crates/rust-analyzer/src/reload
FIXME: Move this into the span crate? Not quite possible today as that depends on `MacroCallLoc`tools/rust-analyzer/crates/hir-expand/src/hygiene
FIXME: Move this to `complexity` again, after #5343 is fixedtools/clippy/clippy_lints/src/transmute/mod
Closed
FIXME: Move this to `fn linker_with_args`rustc_codegen_ssa/src/back/linker
FIXME: Move this to a more appropriate placerustc_hir_analysis/src/check/mod
FIXME: Move update_submodule into build_helper, that way we can also ensure the submoduletools/opt-dist/src/main
FIXME: Multiple derives can have the same helpertools/rust-analyzer/crates/hir/src/source_analyzer
FIXME: NFC normalize the resulttools/rust-analyzer/crates/mbe/src/expander/transcriber
FIXME: Need to filter visibility here and below? Not suretools/rust-analyzer/crates/hir-def/src/nameres/path_resolution
FIXME: Needs safety information. See entry.S for `set_tls_ptr` definitionstd/src/sys/pal/sgx/abi/tls/mod
std/src/sys/pal/sgx/abi/tls/mod
std/src/sys/pal/sgx/abi/tls/mod
FIXME: Nix this cfg, so we can write unit tests independently of rustcrustc_transmute/src/maybe_transmutable/mod
FIXME: No way to reliably check the filenamecodegen/async-fn-debug-msvc
codegen/async-fn-debug
codegen/coroutine-debug-msvc
codegen/coroutine-debug
FIXME: Not all puncts are handledtools/rust-analyzer/crates/hir-expand/src/builtin/quote
FIXME: Note down method resolution hertools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: Omit the curly braces if the enclosing expression is an array literalrustc_metadata/src/rmeta/encoder
FIXME: On AIX this also has the side-effect of making the list of library search pathsrustc_metadata/src/native_libs
FIXME: On macOS we use a provenance-incorrect implementation and Miristd/src/sync/poison/rwlock/tests
FIXME: On macOS we use a provenance-incorrect implementation and Miri catches that issuestd/src/sync/poison/rwlock/tests
std/src/sync/poison/rwlock/tests
FIXME: Once rust-lang/rust/issues/67792 is implemented, we can removerustdoc/html/render/mod
rustdoc/html/render/mod
FIXME: Once rustdoc can handle URL conflicts on case insensitive file systems, werustc_passes/src/check_attr
FIXME: Once rustdoc can handle URL conflicts on case insensitive file systems, we can replacestd/src/keyword_docs
FIXME: Once the line below compiles, make this a test thatrustdoc/hide-complex-unevaluated-const-arguments
FIXME: Once the other errors that embed this error have been converted to translatablerustc_middle/src/ty/layout
FIXME: Once the portability lint RFC is implemented (see tracking issue #41619)rustdoc/clean/cfg
Open
FIXME: Once the size of iterator adaptors is further reducedui/iterators/issue-58952-filter-type-length
FIXME: Once we can talk back to the client, implement a "long join" request for anchorstools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
FIXME: Once we diagnose the inputs to builtin derives, we should at least extract those diagnostics somehowtools/rust-analyzer/crates/hir/src/lib
FIXME: Once we have specialized trait impl (for `Iterator` impl on `LinkReplacer`)rustdoc/html/markdown
FIXME: Once we remove support for the old impl we can remove thisrustc_next_trait_solver/src/solve/eval_ctxt/mod
FIXME: Once we stop removing globals in `codegen_static`, we can uncomment this coderustc_codegen_gcc/src/consts
FIXME: One possible strategy for pruning the reachable set is to avoid marking implrustc_passes/src/reachable
FIXME: Only emit this suggestion if the trait is dyn-compatiblerustc_hir_analysis/src/hir_ty_lowering/lint
FIXME: Only simple types are supported here, see if we can supportrustdoc/passes/collect_intra_doc_links
FIXME: Only works cross-crateui/const-generics/legacy-const-generics
FIXME: Optimize for checking for infer flagsrustc_type_ir/src/visit
FIXME: Our infra can't handle allow from within macro expansions rntools/rust-analyzer/crates/ide-diagnostics/src/handlers/remove_trailing_return
tools/rust-analyzer/crates/ide-diagnostics/src/handlers/remove_unnecessary_else
tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unused_variables
FIXME: PackageRoots dont allow specifying files, only directoriestools/rust-analyzer/crates/project-model/src/workspace
FIXME: Parse errorstools/rust-analyzer/crates/hir-expand/src/builtin/fn_macro
FIXME: Pass the `UserWritten` segment to JSON consumerrustdoc/json/conversions
FIXME: Path resolution will ICE if segment IDs presentrustc_resolve/src/macros
FIXME: Paths in nested macros are not handled well. Seetools/rust-analyzer/crates/ide-assists/src/utils
tools/rust-analyzer/crates/ide-completion/src/completions/item_list/trait_impl
tools/rust-analyzer/crates/ide-completion/src/completions/item_list/trait_impl
FIXME: Per doc.rust-lang.org/nightly/nightly-rustc/rustc_trait_selection/infer/at/struct.At.html#method.normalizetools/clippy/clippy_utils/src/ty/mod
FIXME: Perhaps use Intel TSX to avoid locking?std/src/sys/pal/sgx/waitqueue/spin_mutex
FIXME: Place the cursor at `fun_name`, like rename doestools/rust-analyzer/crates/ide-assists/src/handlers/convert_closure_to_fn
FIXME: Point to the correct error span here, not just the macro-call nametools/rust-analyzer/crates/ide-diagnostics/src/lib
FIXME: Print `builtin # asm` once macro `asm` uses `builtin_syntax`rustc_ast_pretty/src/pprust/state/expr
FIXME: Print `builtin # format_args` once macro `format_args` uses `builtin_syntax`rustc_ast_pretty/src/pprust/state/expr
FIXME: Print `builtin # global_asm` once macro `global_asm` uses `builtin_syntax`rustc_ast_pretty/src/pprust/state/item
FIXME: Probably a bad idearustc_data_structures/src/sync
FIXME: Proper equality breaks `coercion::two_closures_lub` testtools/rust-analyzer/crates/hir-ty/src/lib
FIXME: Properly collect tokens for empty statementsrustc_ast/src/tokenstream
FIXME: Properly encapsulate mirtools/rust-analyzer/crates/hir/src/lib
FIXME: Properly handle use declarations. At the moment, if our search pattern is `foo::bar`tools/rust-analyzer/crates/ide-ssr/src/search
FIXME: Provide a suggestionrustc_hir_analysis/src/hir_ty_lowering/mod
FIXME: Provide more fields using platform specific methodstools/miri/src/shims/unix/fs
FIXME: Put these into `else if` blocks above, since they're built-inrustc_trait_selection/src/traits/select/candidate_assembly
FIXME: Put this backrustc_type_ir/src/relate
rustc_type_ir/src/relate
FIXME: RA purposefully lacks knowledge of absolute file namestools/rust-analyzer/crates/hir-expand/src/builtin/fn_macro
FIXME: RPITs are not allowed to be nested in `impl Fn() -> ...`rustc_trait_selection/src/errors
FIXME: RPITs have variance, but we can't treat them as their own thing right nowtools/rust-analyzer/crates/hir-ty/src/variance
FIXME: Re-enable emscripten once it can catch panicsalloc/tests/vec
FIXME: Re-enable emscripten once it can catch panics again (introduced by #65251)test/src/tests
test/src/tests
test/src/tests
test/src/tests
test/src/tests
Closed
FIXME: Re-enable this test once we support choosingui/issues/issue-59756
FIXME: Re-enable where clauses on associated types when an upstream chalk bug is fixedtools/rust-analyzer/crates/hir-ty/src/chalk_db
FIXME: Reconsider if accounting for borrows in drops is necessary for const droprustc_const_eval/src/check_consts/resolver
FIXME: Record allow_internal_unstable in the macro def (not been done yet because ittools/rust-analyzer/crates/hir-expand/src/builtin/fn_macro
FIXME: Redox kernel does not support setgroups yetstd/src/sys/pal/unix/process/process_unix
std/src/sys/pal/unix/process/process_unix
FIXME: Refactor thistools/rustfmt/src/expr
FIXME: Remove check that the place is initialized. This isrustc_borrowck/src/lib
FIXME: Remove duplicated codetools/rustfmt/src/reorder
FIXME: Remove more variants once they get added to LayoutCalculatorErrortools/rust-analyzer/crates/hir-ty/src/layout
FIXME: Remove once `rustc_hir_typeck` is migrated to diagnostic structsrustc_trait_selection/src/error_reporting/infer/suggest
FIXME: Remove the `min-llvm-version`codegen/try_question_mark_nop
FIXME: Remove the assume after <llvm/llvm-project/issues/62502>core/src/ptr/mod
FIXME: Remove the comments once stabilizedtools/rust-analyzer/crates/hir-ty/src/tests/traits
tools/rust-analyzer/crates/hir-ty/src/tests/traits
FIXME: Remove the second parameter when const string concatenation is possiblerustc_target/src/spec/base/avr_gnu
FIXME: Remove thistools/rust-analyzer/crates/hir-expand/src/name
FIXME: Remove this import and import via `solve::`rustc_middle/src/traits/mod
FIXME: Remove this import and import via `traits::solve`rustc_middle/src/traits/query
FIXME: Remove this in favor of a more general QueuedTask, see `handle_did_save_text_document`tools/rust-analyzer/crates/rust-analyzer/src/main_loop
FIXME: Remove this in favor of storing this in the treerustc_trait_selection/src/solve/select
FIXME: Remove this once rustc switched over to rust-project.jsontools/rust-analyzer/crates/project-model/src/workspace
FIXME: Remove this when we are on par with rustc in terms of inferencetools/rust-analyzer/crates/hir-ty/src/infer
FIXME: Remove this when we implement creating `DefId`srustc_hir_analysis/src/lib
FIXME: Remove this, we can use rustc_format_parse insteadtools/rust-analyzer/crates/ide-db/src/syntax_helpers/format_string
FIXME: Remove this?tools/rust-analyzer/crates/ide-db/src/imports/insert_use
FIXME: Remove when <rust-lang/rust/issues/125735> is implemented and aliased coroutine fields are wrapped in `UnsafePinned`rustc_ty_utils/src/layout
FIXME: Rename this crate, base db is non descriptivetools/rust-analyzer/crates/base-db/src/lib
FIXME: Rename this to indicate the borrow is actually not immutablerustc_middle/src/ty/closure
FIXME: Render docs of the concrete trait impl functiontools/rust-analyzer/crates/ide/src/signature_help
FIXME: Render repr if its set explicitly?tools/rust-analyzer/crates/hir/src/display
FIXME: Render the assoc item with the trait qualifiedtools/rust-analyzer/crates/ide-completion/src/completions/expr
FIXME: Replace this with a `Try` impl once stabletools/rust-analyzer/crates/hir-ty/src/method_resolution
FIXME: Replace this with the HIR info we have nowtools/rust-analyzer/crates/ide/src/syntax_highlighting/format
FIXME: Replace with a more general AST map (together with some other fields)rustc_resolve/src/lib
FIXME: Report an errortools/rust-analyzer/crates/hir-def/src/path/lower
tools/rust-analyzer/crates/hir-def/src/path/lower
tools/rust-analyzer/crates/hir-def/src/path/lower
FIXME: Report an error here if `record_field_list.spread().is_some()`tools/rust-analyzer/crates/hir-def/src/body/lower
FIXME: Report an error here otherwisetools/rust-analyzer/crates/hir-def/src/body/lower
FIXME: Report diagnostic on 404tools/rust-analyzer/crates/hir-def/src/nameres/collector
Closed
FIXME: Report parse errors heretools/rust-analyzer/crates/hir-def/src/body/lower
FIXME: Report syntax errors in expansion heretools/rust-analyzer/crates/hir-ty/src/lower
FIXME: Report this as a hard error eventually and remove equivalent errors fromrustc_expand/src/mbe/macro_check
FIXME: Report this back to the caller to track as dependenciestools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
FIXME: Represent the above fact in the trait system somehowrustc_middle/src/values
rustc_middle/src/values
rustc_middle/src/values
FIXME: Reservation impls should be considered during coherence checks. If we aretools/rust-analyzer/crates/hir-ty/src/method_resolution
FIXME: Reserve $t0, $t1 if in mips16 moderustc_target/src/asm/mips
FIXME: Resolve changes that depend on a range of elementstools/rust-analyzer/crates/syntax/src/syntax_editor/edit_algo
FIXME: Rethink this APItools/rust-analyzer/crates/hir/src/semantics
tools/rust-analyzer/crates/hir/src/semantics
FIXME: Retrying can make the result of this staletools/rust-analyzer/crates/rust-analyzer/src/main_loop
FIXME: Retrying can make the result of this stale?tools/rust-analyzer/crates/rust-analyzer/src/main_loop
FIXME: Return expand error heretools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro
tools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro
tools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro
tools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro
tools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro
tools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro
tools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro
FIXME: Right now there is no concept of "thread exit" onstd/src/sys/thread_local/mod
FIXME: Right now, the wrong field is blamedui/errors/traits/blame-trait-error-spans-on-exprs
FIXME: Rust normally maps Unix EBADF to `Uncategorized`std/src/sys/pal/sgx/stdio
FIXME: Rustc lints are not always warning, but the ones that are currently implemented are all warningstools/rust-analyzer/crates/ide-diagnostics/src/lib
FIXME: Rustc wraps the condition in a construct equivalent to `{ let _t = <cond>; _t }`tools/rust-analyzer/crates/hir-def/src/body/lower
FIXME: Sadly, turning these off here disables them in such a way that theyrustc_target/src/spec/targets/x86_64h_apple_darwin
FIXME: Saving fuel when `&` repeating might not be a good idea if there's no TCOtools/rust-analyzer/crates/ide-assists/src/handlers/inline_const_as_literal
FIXME: ScalarPair for enums is enormously complicated and it is very hardrustc_ty_utils/src/layout/invariant
FIXME: Section 2.1.5 "Function Registers with Unassigned Roles" of the V8+ Technicalrustc_target/src/asm/sparc
FIXME: See #115212 for why this has an alloca againcodegen/swap-small-types
Closed
FIXME: See #18772. Duplicate SymbolInformation for inherent impls istools/rust-analyzer/crates/rust-analyzer/src/cli/scip
Closed
FIXME: See comment above -- we could fold the region separately or somethingrustc_next_trait_solver/src/canonicalizer
FIXME: See highlight injection for what to do heretools/rust-analyzer/crates/ide-db/src/documentation
FIXME: See if we want to do something with that err_msgstd/src/sys/pal/unix/process/process_fuchsia
FIXME: Seems like we can't have a suggestion and a note with different spans in a single subdiagnosticrustc_trait_selection/src/error_reporting/infer/suggest
FIXME: Set %al to upperbound on float args once floats are supportedrustc_codegen_cranelift/src/abi/mod
FIXME: Set RUSTUP_TOOLCHAINtools/rust-analyzer/crates/rust-analyzer/src/handlers/request
FIXME: Set deprecationtools/rust-analyzer/crates/rust-analyzer/src/handlers/request
FIXME: Share code with `fn update`rustc_middle/src/middle/privacy
rustc_middle/src/middle/privacy
FIXME: Share code with `parse_path`rustc_ast/src/attr/mod
FIXME: Should I first scan suffix_first to see ifrustc_expand/src/mbe/macro_rules
FIXME: Should `InPlace` arguments be reset to uninit?rustc_const_eval/src/interpret/call
FIXME: Should be `@!has`: rust-lang/rust/issues/111249rustdoc/file-creation-111249
rustdoc/redirect
rustdoc/reexport-trait-from-hidden-111064-2
FIXME: Should be an error for edition > 2015ui/conditional-compilation/cfg_accessible-not_sure
Closed
FIXME: Should be invarianttools/rust-analyzer/crates/hir-ty/src/variance
FIXME: Should not be an `Option` but `Resolver` currently does not return owners in all casestools/rust-analyzer/crates/hir-ty/src/lower
FIXME: Should probably be moved into some kind of pass managerrustc_mir_transform/src/simplify
FIXME: Should really be handled by `AssocItemList::add_item`tools/rust-analyzer/crates/ide-assists/src/handlers/generate_delegate_methods
FIXME: Should support `extern crate`tools/rust-analyzer/crates/ide/src/rename
FIXME: Should the trait be mentioned in both the decl and generics?rustdoc-json/traits/trait_alias
FIXME: Should this be replaced with tcx.def_path_str?rustdoc/visit_ast
FIXME: Should this error? rustc currently accepts ittools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/mbe/metavar_expr
tools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/mbe/metavar_expr
tools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/mbe/metavar_expr
tools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/mbe/metavar_expr
tools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/mbe/metavar_expr
tools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/mbe/metavar_expr
FIXME: Should this trigger?ui/privacy/pub-priv-dep/shared_direct_private
FIXME: Should typeck report a 3-ary tuple for the pattern here?tools/rust-analyzer/crates/ide/src/signature_help
FIXME: Should typeck report a 4-ary tuple for the expression here?tools/rust-analyzer/crates/ide/src/signature_help
FIXME: Should we handle unknown mutability better?tools/rust-analyzer/crates/hir/src/semantics
FIXME: Should we move this to the "libc" crate? It seems like otherstd/src/sys/pal/zkvm/abi
FIXME: Should we record the whole vtable?rustc_smir/src/rustc_smir/convert/mir
FIXME: Shouldn't this be unreachable?rustc_hir_analysis/src/collect/predicates_of
FIXME: Show how `Option` is used in practice, with lots of methodscore/src/option
FIXME: Show the data of unsized structstools/rust-analyzer/crates/ide/src/hover/tests
FIXME: Showing these errors could be nicertools/rust-analyzer/crates/mbe/src/lib
FIXME: Shuttling between obligations and goals is awkwardrustc_infer/src/infer/opaque_types/mod
FIXME: Some of them shouldn't beui-fulldeps/pprust-parenthesis-insertion
FIXME: Some of these NO_RETRY could be retries if the file they are interested didn't changetools/rust-analyzer/crates/rust-analyzer/src/main_loop
FIXME: Sort this insteadrustc_query_system/src/query/job
FIXME: SortedVec<(TextSize, ErasedFileAstId)>?tools/rust-analyzer/crates/span/src/map
FIXME: Sorting this is unnecessary since we are sorting later anywayrustc_codegen_ssa/src/back/symbol_export
FIXME: Span splittingtools/rust-analyzer/crates/syntax-bridge/src/lib
FIXME: Split this off into the corresponding 4 rustc errorstools/rust-analyzer/crates/hir/src/diagnostics
FIXME: Store the fact that a node has diagnostics in a bit in the dep graph somewhererustc_query_system/src/dep_graph/graph
FIXME: Store this in FunctionData flags?tools/rust-analyzer/crates/hir/src/lib
FIXME: Strictly speaking this may be incomplete if the normalized-torustc_next_trait_solver/src/solve/eval_ctxt/mod
FIXME: Struct/Enum/Unions Fields (there is currently no way to attach these)rustc_incremental/src/persist/dirty_clean
FIXME: Substitute type vars in impl trait (`U` -> `i8`)tools/rust-analyzer/crates/ide/src/signature_help
FIXME: Subsumed by trait `StructuralPartialEq`, cannot move to removed until a libraryrustc_feature/src/unstable
FIXME: Suggest adding supertrait bounds if we have a `Self` type paramrustc_hir_analysis/src/hir_ty_lowering/errors
FIXME: Suggested fix results in infinite recursiontools/clippy/tests/ui/use_self
FIXME: Support `confstr` in Miristd/src/sys/pal/unix/os
FIXME: Support escaped double-quotes in stringstools/compiletest/src/header
FIXME: Support extra trait importstools/rust-analyzer/crates/ide-db/src/imports/import_assets
FIXME: Support ftruncate64 for all FDstools/miri/src/shims/unix/fs
FIXME: Support general path typestools/rust-analyzer/crates/ide/src/inlay_hints/lifetime
FIXME: Support macro def with repeattools/rustfmt/src/macros
FIXME: Support more fine-grained dead code removal on Solaris/illumosrustc_codegen_ssa/src/back/link
FIXME: Suspiciousrustc_trait_selection/src/error_reporting/infer/suggest
FIXME: Switch to using `#[link]` attributes in the `libc` craterustc_codegen_ssa/src/back/linker
FIXME: THis should be a subtree no?tools/rust-analyzer/crates/hir-expand/src/fixup
tools/rust-analyzer/crates/hir-expand/src/fixup
tools/rust-analyzer/crates/hir-expand/src/fixup
tools/rust-analyzer/crates/hir-expand/src/fixup
tools/rust-analyzer/crates/hir-expand/src/fixup
FIXME: Take the scope of the resolved path into account. e.g. if there are any paths that aretools/rust-analyzer/crates/ide-ssr/src/search
FIXME: Technically this equate could be falliblerustc_next_trait_solver/src/solve/assembly/structural_traits
FIXME: Technically we should look at the amount of availablerustc_target/src/callconv/mod
FIXME: Technically, the reason should be `DLL_PROCESS_DETACH` when the main thread exitstools/miri/src/shims/tls
FIXME: Technically, we could just store a &'tcx str here without issue; however, therustc_lint/src/foreign_modules
FIXME: Temporarily retained so we can point users to `--no-capture`tools/compiletest/src/lib
FIXME: Temporary fix for rust-lang/cargo/issues/3005bootstrap/src/core/builder/cargo
FIXME: Temporary workaround for handling aliased importtools/rust-analyzer/crates/ide-completion/src/render
FIXME: The None case needs to encode the context crate id. We can encode that as the MSB oftools/rust-analyzer/crates/span/src/hygiene
FIXME: The Rust compiler currently omits weakly function definitions (i.estd/src/sys/thread_local/destructors/linux_like
FIXME: The `#[link]` attributes on `extern "C"` block marks those symbols declared inunwind/src/libunwind
FIXME: The `issue_114682_5_extern_1` should be considered an ambiguous itemui/imports/issue-114682-5
FIXME: The actually-Unix implementation in process_unix.rs uses WSTOPSIG, WCOREDUMP et alstd/src/sys/pal/unix/process/process_fuchsia
FIXME: The base here should be the parent of the `.cargo/config` file, not the manifesttools/rust-analyzer/crates/project-model/src/env
FIXME: The binding name value used above makes for problematic diagnosticsui/pattern/bindings-after-at/borrowck-pat-ref-mut-twice
FIXME: The code below now printsrustdoc/html/render/print_item
FIXME: The current code for niche-filling relies on variant indicestools/rust-analyzer/crates/hir-ty/src/layout/adt
FIXME: The current diagnostic is misleading since it only talks aboutrustc_ast_passes/src/ast_validation
FIXME: The error here actually comes from line 34. Theui/rfcs/rfc-2528-type-changing-struct-update/lifetime-update
FIXME: The focus range should be set to the helper declarationtools/rust-analyzer/crates/ide/src/navigation_target
FIXME: The following code looks fishy. See #132860rustc_errors/src/emitter
Open
FIXME: The following limits should be reduced eventuallytools/tidy/src/ui_tests
FIXME: The full state vector can be quite long. It would be nice to split on commasrustc_mir_dataflow/src/framework/graphviz
FIXME: The ide layer loses the calling info here so we get an ambiguous trait solve resulttools/rust-analyzer/crates/ide/src/signature_help
FIXME: The import is missingtools/rust-analyzer/crates/ide-assists/src/handlers/bool_to_enum
FIXME: The leak sanitizer currently fails the tests, see #88132rustc_target/src/spec/targets/aarch64_apple_darwin
rustc_target/src/spec/targets/arm64e_apple_darwin
Open
FIXME: The length of data here is not guaranteed to fit in a u32rustc_codegen_ssa/src/back/metadata
FIXME: The lifetime is too complex to analyze. In order to avoid false positives, we do nottools/clippy/tests/ui/significant_drop_in_scrutinee
FIXME: The pretty printer breaks by leaving whitespace here, +syntaxctxt is used to avoid thattools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/mbe
FIXME: The primary limitation of this approach is that the set of detached files needs to be fixed at the beginningtools/rust-analyzer/crates/project-model/src/workspace
FIXME: The riscv64gc-gnu and armhf-gnu build containers run as rootrun-make/rustdoc-io-error/rmake
FIXME: The riscv64gc-gnu build container runs as root, and can always writerun-make/inaccessible-temp-dir/rmake
FIXME: The span of the `-` token is lost whenrustc_expand/src/proc_macro_server
FIXME: The text above describes how this should work. Currently itrustc_expand/src/base
FIXME: The use of PATH_MAX is generally not encouraged, but itstd/src/sys/pal/unix/fs
FIXME: Their should be a better way to determine if an item is local, rather than relying on `LOCAL_CRATE_ID`tools/jsondoclint/src/validator
FIXME: There has to be a better way to do thistools/rust-analyzer/crates/hir-def/src/nameres/collector
FIXME: There is a bug in Clang 18 when building for ARM64bootstrap/src/core/builder/cargo
FIXME: There is a minor inconsistency here. For lines that start with ##, werustdoc/html/markdown
FIXME: There is currently a lot of redundancy betweenrustc_mir_transform/src/coverage/mappings
FIXME: There should be some proper form of mapping between item tree field ids and hir field idstools/rust-analyzer/crates/hir-def/src/attr
FIXME: There's no type corresponding to a shallow borrow, so use `&` as an approximationstable_mir/src/mir/body
FIXME: These `eat_*` calls should be converted to `parse_or` to avoidtools/rustfmt/src/parse/macros/lazy_static
FIXME: These empty unreachable blocks are *mostly* a waste. They are occasionallyrustc_codegen_ssa/src/mir/mod
FIXME: These methods should not take an Into<MultiSpan> -- instead, callers should need torustc_lint/src/context
FIXME: These should be a valtreestable_mir/src/ty
FIXME: These should be consistentui/rust-2018/edition-lint-inter-outlives/edition-lint-infer-outlives-macro
FIXME: These should have suggestionsui/suggestions/dont-suggest-ref/simple
FIXME: These should ideally not exist as a self type. It would be nice forrustc_middle/src/ty/context
FIXME: These should not attempt to link to docs.rs!tools/rust-analyzer/crates/ide/src/doc_links
FIXME: These should really be printed as part of each outgoing edge rather than the noderustc_mir_dataflow/src/framework/graphviz
FIXME: These test-cases illustrate confusing results of nested functionscoverage/no_cov_crate
FIXME: These tests are all excellent candidates for AFL fuzz testingcore/tests/net/parser
FIXME: These things don't *really* have 'static lifetimerustc_middle/src/ty/util
FIXME: ThinArc<[Subtree]>tools/rust-analyzer/crates/hir-expand/src/fixup
FIXME: This *could* be considered a read of `!`, but we're not that sophisticatedui/never_type/diverging-place-match
FIXME: This actually generates tighter assembly, and is a classic trickrustc_codegen_ssa/src/mir/rvalue
FIXME: This actually should destructure the `Result` we get from transmutability andrustc_trait_selection/src/solve/delegate
FIXME: This adds as many module scopes as there are blocks, but resolving in eachtools/rust-analyzer/crates/hir-def/src/resolver
tools/rust-analyzer/crates/hir-def/src/resolver
FIXME: This also unifies the previous hidden type with the expectedrustc_next_trait_solver/src/solve/normalizes_to/opaque_types
FIXME: This assert may fire if public glob is later shadowed by a privaterustc_resolve/src/imports
FIXME: This assumes that elaborated `Sized` bounds come first (which does hold at therustc_hir_analysis/src/check/check
FIXME: This assumes the crate name is always equal to its display name when ittools/rust-analyzer/crates/ide-db/src/search
FIXME: This branch should eventually be removedrustc_resolve/src/build_reduced_graph
FIXME: This caching may be incorrect in case of multiple `macro_rules`rustc_resolve/src/late
FIXME: This can be `true` once we always use `tcx.is_diagnostic_item`rustc_feature/src/builtin_attrs
tools/rust-analyzer/crates/hir-expand/src/inert_attr_macro
FIXME: This can be a false positive if the correct field is reachable through deepertools/clippy/clippy_lints/src/functions/misnamed_getters
FIXME: This can be de improvedtools/rust-analyzer/crates/ide/src/navigation_target
FIXME: This can be simplified a lot by exposing hir-ty's utils.rs::Generics helpertools/rust-analyzer/crates/hir/src/lib
FIXME: This can be simplified to `Copy`mir-opt/gvn_copy_aggregate
mir-opt/gvn_copy_aggregate
FIXME: This can become `Box<[Attr]>` if internals.rust-lang.org/t/layout-of-dst-box/21728?u=chrefr is acceptedtools/rust-analyzer/crates/hir-expand/src/attrs
FIXME: This can definitely not be so spaghettifiedrustc_sanitizers/src/cfi/typeid/itanium_cxx_abi/encode
FIXME: This can miss some hints that require the parent of the range to calculatetools/rust-analyzer/crates/ide/src/inlay_hints
tools/rust-analyzer/crates/ide/src/inlay_hints
FIXME: This can probably be re-implemented via the HIR?tools/rust-analyzer/crates/ide-db/src/syntax_helpers/format_string
FIXME: This can use the `ide_db::rename_reference` (or def.rename) method once we cantools/rust-analyzer/crates/ide/src/rename
FIXME: This case overlaps with another one worth handlingrustc_hir_typeck/src/fn_ctxt/adjust_fulfillment_errors
FIXME: This causes false negatives. We can't get the `NodeId` fromtools/clippy/clippy_utils/src/usage
FIXME: This causes us to parse, generally this is the wrong approach for resolving atools/rust-analyzer/crates/hir/src/source_analyzer
FIXME: This check can be removed once we use speculative database forking for completionstools/rust-analyzer/crates/ide-completion/src/context/analysis
FIXME: This check requires that the (arbitrary) value of undefined bytesrustc_codegen_gcc/src/consts
FIXME: This checks types without possible coercions which some completions might want to dotools/rust-analyzer/crates/ide-completion/src/render
FIXME: This code cannot yet handle no_std test cases yetrustdoc/doctest/make
FIXME: This code is otherwise somewhat general, and could easily be adaptedrustc_borrowck/src/diagnostics/opaque_suggestions
FIXME: This code is quite ugly and could be improved. Small issue: DefIdrustdoc/html/render/print_item
FIXME: This codepath is reachable under `associated_const_equality` and in therustc_trait_selection/src/traits/mod
FIXME: This comment refers to the only callsite of this methodrustc_errors/src/emitter
FIXME: This could be a `Sorts` if the term is a typerustc_trait_selection/src/solve/fulfill
FIXME: This could be made more robust, possibly with a variant of `rustc_layout`ui/layout/trivial-bounds-sized
FIXME: This could handle more exotic cases like mutability mismatches too!rustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: This could maybe benefit from `.may_recover()`?rustc_parse/src/parser/item
rustc_parse/src/parser/item
FIXME: This could perhaps return a `WithDepNode` to ensure that therustc_query_system/src/dep_graph/graph
FIXME: This could use a real folder, I guessrustc_ty_utils/src/implied_bounds
FIXME: This could/should be extended to suggest `as_mut` and `as_deref_mut`rustc_hir_typeck/src/fn_ctxt/suggestions
FIXME: This currently has an intentional no-op implementationstd/src/os/windows/process
FIXME: This depends on the set of all impls for the trait. That isrustc_middle/src/ty/trait_def
FIXME: This does not handle `Self` on trait definitions, which we should resolve to thetools/rust-analyzer/crates/hir/src/attrs
FIXME: This does not handle macros!tools/rust-analyzer/crates/hir-ty/src/lower
FIXME: This does not handle subtyping correctly, we couldrustc_infer/src/infer/relate/generalize
FIXME: This doesn't check for malformed libcore that defines, e.grustc_ty_utils/src/instance
FIXME: This doesn't display a useful Rust 2024 suggestion :(ui/impl-trait/precise-capturing/migration-note
Closed
FIXME: This doesn't get an around-the-end range today, sadlymir-opt/building/enum_cast
FIXME: This doesn't include impls like `impl Default for String`rustc_resolve/src/late/diagnostics
FIXME: This doesn't properly validate anything and just ignores the data if it's invalidrustc_target/src/spec/json
FIXME: This doesn't work without the trailing `a` as `0.` is a floattools/rust-analyzer/crates/ide-completion/src/completions/dot
FIXME: This don't work when crate-type is specified by attributeui/proc-macro/crt-static
FIXME: This drops arg causing it to potentially not be resolved/type checkedtools/rust-analyzer/crates/hir-def/src/body/lower
FIXME: This error could be more descriptive, especially if the error_predicaterustc_hir_analysis/src/coherence/builtin
FIXME: This error is bogus, but it arises because we try to validateui/generic-associated-types/issue-91139
FIXME: This error message isn't great, but it doesn't showrustc_borrowck/src/diagnostics/bound_region_errors
FIXME: This error message isn't great, but it doesn't show up in the existing UI testsrustc_borrowck/src/diagnostics/bound_region_errors
rustc_borrowck/src/diagnostics/bound_region_errors
FIXME: This error message isn't useful, since we're justrustc_borrowck/src/diagnostics/mutability_errors
FIXME: This features waits for DWARF implicit pointers in LLVMmir-opt/reference_prop
mir-opt/reference_prop
FIXME: This feels like a bad heuristic for macrostools/rust-analyzer/crates/ide-assists/src/handlers/inline_local_variable
FIXME: This function is bad. It will produce a dangling `Missing` expr which wastes memory. Currentlytools/rust-analyzer/crates/hir-def/src/body/lower
FIXME: This function seems legitimately unusedstd/src/sys/pal/unix/pipe
std/src/sys/pal/unix/pipe
FIXME: This function should be eventually removed from bootstrapbootstrap/src/utils/exec
FIXME: This function should be private in module. It is currently only used in the consteval, since we needtools/rust-analyzer/crates/hir-ty/src/infer
FIXME: This generates enum kinds?tools/rust-analyzer/xtask/src/codegen/grammar
FIXME: This has the same issue as #108544, but since this isn't breakingrustc_hir_analysis/src/check/compare_impl_item
Closed
FIXME: This heuristic is brittle and with the right macro may select completely unrelated nodes?tools/rust-analyzer/crates/hir-expand/src/files
FIXME: This implementation is "wrong", but changing it would be a breaking changealloc/src/collections/btree/map
FIXME: This is a bit too conservative, since it ignores parens already written in ASTrustc_trait_selection/src/errors
FIXME: This is a bug. The macro should not expand, but it'stools/rust-analyzer/crates/ide-assists/src/handlers/inline_macro
FIXME: This is a complete copy of `cargo/src/cargo/util/read2.rs`tools/compiletest/src/read2
FIXME: This is a false-positive, the file is actually linked in viatools/rust-analyzer/crates/ide-diagnostics/src/handlers/macro_error
FIXME: This is a hack for the vscode extension to notice whether there is an autofix or not before having to resolve diagnosticstools/rust-analyzer/crates/ide-diagnostics/src/handlers/unlinked_file
FIXME: This is a mess that needs some untangling worktools/rust-analyzer/crates/rust-analyzer/src/reload
FIXME: This is a quick hack to make the rustc binary able to locaterustc_target/src/lib
FIXME: This is a subset of `parse_external_mod` without actual parsingrustc_expand/src/module
FIXME: This is a weird functiontools/rust-analyzer/crates/ide-db/src/helpers
FIXME: This is a workaround, see the comment on `interpret_mir`tools/rust-analyzer/crates/hir-ty/src/mir/eval
FIXME: This is accidentally quadratictools/rust-analyzer/crates/hir/src/lib
FIXME: This is actually wrong with multiple principals in regards to symbol manglingrustc_hir_analysis/src/hir_ty_lowering/dyn_compatibility
FIXME: This is an infinitesimally small portion of the types you canrustc_codegen_llvm/src/context
FIXME: This is being interned, subtrees can vary quickly differing just slightly causingtools/rust-analyzer/crates/hir-expand/src/lib
FIXME: This is currently disabled on *BSDstd/src/os/unix/net/ancillary
FIXME: This is currently only used for collecting lang items, but should be used instead ofrustc_middle/src/query/mod
FIXME: This is hack. We shouldn't really build `PathSegment` directlytools/rust-analyzer/crates/hir-ty/src/lower
FIXME: This is here since some queries take it as input that are usedtools/rust-analyzer/crates/hir/src/lib
FIXME: This is incorrect to do, delimiters can never be puncts. See #18244tools/rust-analyzer/crates/tt/src/lib
Closed
FIXME: This is just a temporary fix for not handling import aliases liketools/rust-analyzer/crates/ide-db/src/search
FIXME: This is not caughttools/clippy/tests/ui/unnecessary_safety_comment
FIXME: This is not general enough to make the warning lint completely overriderustc_session/src/session
FIXME: This is not quite correct, but good enough(tm) for the sorting heuristictools/rust-analyzer/crates/ide-assists/src/handlers/extract_variable
FIXME: This is not really the nicest way to get `InferenceVar`s. Can we get themtools/rust-analyzer/crates/hir-ty/src/infer/unify
FIXME: This is not right, even in the old solverrustc_hir_typeck/src/expectation
FIXME: This is not totally structural, which probably should be fixedrustc_type_ir/src/relate
FIXME: This is not used now but it should betools/rust-analyzer/crates/hir-ty/src/lower/diagnostics
FIXME: This is only a guess and it doesn't work correctly for `macro_rules!`rustc_resolve/src/lib
tools/rust-analyzer/crates/hir-expand/src/mod_path
FIXME: This is only exposed because we need to use it in `analyse.rs`rustc_next_trait_solver/src/solve/eval_ctxt/mod
FIXME: This is only necessary as `<Self as Trait>::Assoc: ItemBound`rustc_next_trait_solver/src/solve/assembly/structural_traits
FIXME: This is only necessary for `fn take_and_reset_data` andrustc_infer/src/infer/region_constraints/mod
FIXME: This is only used in collection, we should move the relevant parts of it out of ItemScopetools/rust-analyzer/crates/hir-def/src/item_scope
FIXME: This is overly conservative around generic parameters: `is_freeze()` will alwaysrustc_mir_transform/src/deduce_param_attrs
FIXME: This is overly slow if there are very many bufs and none containstd/src/io/buffered/linewritershim
FIXME: This is problematic because just a number is not a valid identifierrustc_codegen_llvm/src/debuginfo/metadata/enums/native
FIXME: This is problematic, we might want to synthesize a dummytools/rust-analyzer/crates/hir-def/src/hir/format_args
FIXME: This is required for helper attributes used by proc-macros, as those do not map downtools/rust-analyzer/crates/ide/src/syntax_highlighting/highlight
FIXME: This is some serious pessimization intended to workaround deficienciesrustc_privacy/src/lib
FIXME: This is suboptimal, we want to get `use std::fmt::{self, Result}`tools/rust-analyzer/crates/ide-db/src/imports/insert_use/tests
FIXME: This is the wrong expansion, see FIXME on `builtin_fn_macro::use_panic_2021`tools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/builtin_fn_macro
FIXME: This is tough because we don't support the exec syscallsstd/src/sys/pal/unix/process/process_fuchsia
FIXME: This is using the host architecture exe suffix, not target!tools/compiletest/src/runtest
FIXME: This is workaround. Ideally, const generics should have a separate body (issue #7434), but nowtools/rust-analyzer/crates/hir-ty/src/mir/eval
Closed
FIXME: This is wrongstd/src/sys/pal/uefi/process
std/src/sys/pal/uefi/process
std/src/sys/pal/uefi/process
FIXME: This is wrong, this should be `FixedPoint[T: covariant, U: covariant, V: covariant]`tools/rust-analyzer/crates/hir-ty/src/variance
FIXME: This is wrong, this should not mark the last as activetools/rust-analyzer/crates/ide/src/signature_help
FIXME: This isn't quite right wrt to inner attributestools/rust-analyzer/crates/hir/src/semantics
FIXME: This isn't really correct wrt. escaping, but that's what rustc does and anywaytools/rust-analyzer/crates/mbe/src/expander/transcriber
FIXME: This isn't true due to `super::*` imports?tools/rust-analyzer/crates/ide-assists/src/handlers/replace_qualified_name_with_use
FIXME: This iterates the entire file which is a rather expensive operationtools/rust-analyzer/crates/ide-diagnostics/src/lib
FIXME: This lint uses some custom span combination logicui/lint/wide_pointer_comparisons
FIXME: This logic needs some more care w.r.t handling of conflictsrustc_hir_analysis/src/hir_ty_lowering/errors
FIXME: This looks fishy. See #132860rustc_errors/src/emitter
Open
FIXME: This match is a bit ugly, it might be nice to change the inspectrustc_next_trait_solver/src/solve/eval_ctxt/mod
FIXME: This may be detrimental to diagnostics, as we resolve the early-bound varsrustc_ty_utils/src/assoc
FIXME: This may have issues when the args contain aliasesrustc_next_trait_solver/src/solve/normalizes_to/opaque_types
FIXME: This may recurse infinitely, but I can't seem to trigger it withoutrustc_next_trait_solver/src/solve/assembly/mod
FIXME: This method currently doesn't apply fallback to unconstrained general type variablestools/rust-analyzer/crates/hir-ty/src/infer/unify
FIXME: This method should be removed (every error should have an associated error code)rustc_errors/src/lib
FIXME: This might create inconsistent completions where we show a ref match in macro inputstools/rust-analyzer/crates/ide-completion/src/render
FIXME: This module shouldn't be publicrustc_hir_analysis/src/lib
FIXME: This needs an audit for correctness and completenessrustc_target/src/callconv/sparc64
FIXME: This needs tests to ensure that the arguments are properlystd/src/sys/pal/windows/args
FIXME: This needs to be made resilient for `AliasTerm`srustdoc/clean/mod
FIXME: This needs to be made resilient for `AliasTerm`s thatrustdoc/clean/mod
rustdoc/clean/mod
rustdoc/clean/mod
FIXME: This needs to be more precise. Reference category makes sense onlytools/rust-analyzer/crates/ide/src/highlight_related
FIXME: This needs to go once we have hygienetools/rust-analyzer/crates/hir-expand/src/name
FIXME: This never check is odd, but required with out we do inference right nowtools/rust-analyzer/crates/hir-ty/src/infer/pat
FIXME: This only handles a single level of cfg_attr nestingtools/rust-analyzer/crates/hir-expand/src/attrs
FIXME: This only is here because `wf::obligations` is in `rustc_trait_selection`!rustc_next_trait_solver/src/delegate
FIXME: This operates on the syntax tree and will produce incorrect results whentools/rust-analyzer/crates/ide-completion/src/context/analysis
FIXME: This ought to be a diagnostic linttools/rust-analyzer/crates/ide-assists/src/handlers/unnecessary_async
FIXME: This parses `unsafe()` not as unsafe attribute syntax in `MetaItem`rustc_ast/src/attr/mod
FIXME: This parses!tools/rust-analyzer/crates/hir/src/lib
FIXME: This parses... We could probably store relative ranges for the children thingstools/rust-analyzer/crates/hir/src/lib
FIXME: This passes through `-/*spacer*/0` verbatimrustc_metadata/src/rmeta/encoder
FIXME: This really should be taking scoping, etc into accountrustc_hir_typeck/src/method/suggest
FIXME: This recovery should be tested betterrustc_parse/src/parser/item
FIXME: This relies on untyped syntax tree and casts to much. It should betools/rust-analyzer/crates/ide-assists/src/handlers/convert_to_guarded_return
FIXME: This requires the optimized MIR in the case of coroutinesrustc_middle/src/ty/sty
rustc_middle/src/ty/sty
FIXME: This seems a bit wasteful that if `LowerCtx` will initialize the span map we won't benefittools/rust-analyzer/crates/hir-def/src/item_tree/lower
FIXME: This setup is temporary until we figure out how to improve this situationtools/compiletest/src/header
tools/jsondocck/src/main
FIXME: This should `print_sugared`, but also needs to integrate projection boundsrustc_hir_analysis/src/hir_ty_lowering/errors
FIXME: This should also emit an errorui/inference/need_type_info/type-alias
FIXME: This should also get checked to generate a gather instruction for avx2assembly/simd-intrinsic-gather
FIXME: This should also warn because it creates the public path `foo::FooIter`tools/clippy/tests/ui/module_name_repetitions
FIXME: This should be Ast<ConstArg>tools/rust-analyzer/crates/hir-def/src/hir/type_ref
FIXME: This should be a `span_suggestion` instead of `help`rustc_hir_typeck/src/method/probe
FIXME: This should be a localtools/rust-analyzer/crates/rust-analyzer/src/cli/scip
tools/rust-analyzer/crates/rust-analyzer/src/cli/scip
tools/rust-analyzer/crates/rust-analyzer/src/cli/scip
tools/rust-analyzer/crates/rust-analyzer/src/cli/scip
FIXME: This should be available on Linux with all `target_env`std/src/sys/pal/unix/fs
FIXME: This should be doable in theorytools/rust-analyzer/crates/ide-db/src/rename
FIXME: This should be emitted in body loweringtools/rust-analyzer/crates/hir-ty/src/infer
FIXME: This should be folded into ConstEvalError?tools/rust-analyzer/crates/hir-ty/src/mir/eval
FIXME: This should be handled the same way as for HTML outputrustdoc/passes/stripper
FIXME: This should be merged with the actual `TypeChecker`rustc_borrowck/src/type_check/mod
FIXME: This should be replaced by a more complete and genericrustc_codegen_ssa/src/back/linker
rustc_target/src/spec/base/illumos
FIXME: This should be updated for the exception machinery changes from #67502rustc_target/src/spec/base/windows_uwp_gnu
Closed
FIXME: This should check all import infos, not just the firsttools/rust-analyzer/crates/hir-def/src/import_map
FIXME: This should check for dupes and non-params first, then infer varsrustc_next_trait_solver/src/solve/normalizes_to/opaque_types
FIXME: This should filter out all completions that do not have the type `Foo`tools/rust-analyzer/crates/ide-completion/src/tests/record
FIXME: This should get removed once higher ranked region obligationsrustc_borrowck/src/type_check/constraint_conversion
FIXME: This should ideally use a fully qualified pathui/impl-trait/diagnostics/fully-qualified-path-impl-trait
FIXME: This should just be an if-let-chain, but those are unstablebootstrap/src/core/build_steps/tool
FIXME: This should make use of scope_def like completions so we get all the other goodiestools/rust-analyzer/crates/ide-completion/src/completions/record
FIXME: This should make use of the breakable CoerceManytools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: This should not be a thingtools/rust-analyzer/crates/hir-def/src/lib
FIXME: This should probably also suggest completions for types, at least those that havetools/rust-analyzer/crates/ide-completion/src/tests/type_pos
FIXME: This should probably depend on the number of the results (specifically, the number of false results)tools/rust-analyzer/crates/ide-db/src/search
FIXME: This should probably to conditionally remapped underrustc_metadata/src/rmeta/encoder
FIXME: This should return EBADF, but there's no nice way to do that as there's notools/miri/src/shims/unix/unnamed_socket
tools/miri/src/shims/unix/unnamed_socket
tools/miri/src/shims/unix/unnamed_socket
tools/miri/src/shims/unix/unnamed_socket
FIXME: This should return a different type, signaling it was filtered?tools/rust-analyzer/crates/hir-expand/src/attrs
FIXME: This should specifically look for a glob import somehow and record that heretools/rust-analyzer/crates/hir-def/src/nameres/collector
FIXME: This should support byte and c strings as welltools/rust-analyzer/crates/ide-assists/src/handlers/raw_string
FIXME: This should take a `PolyExistentialTraitRef`, since we don't carerustc_trait_selection/src/traits/vtable
FIXME: This should triggerui/privacy/pub-priv-dep/diamond_deps
ui/privacy/pub-priv-dep/pub-priv1
ui/privacy/pub-priv-dep/pub-priv1
ui/privacy/pub-priv-dep/pub-priv1
ui/privacy/pub-priv-dep/pub-priv1
ui/privacy/pub-priv-dep/pub-priv1
ui/privacy/pub-priv-dep/pub-priv1
ui/privacy/pub-priv-dep/pub-priv1
ui/privacy/pub-priv-dep/pub-priv1
ui/privacy/pub-priv-dep/reexport_from_priv
ui/privacy/pub-priv-dep/shared_both_private
ui/privacy/pub-priv-dep/shared_both_private
ui/privacy/pub-priv-dep/shared_indirect
FIXME: This should trigger errortools/rust-analyzer/crates/ide-diagnostics/src/handlers/typed_hole
FIXME: This should work toocodegen/option-niche-eq
FIXME: This shouldn't be a diagnostictools/rust-analyzer/crates/ide-diagnostics/src/handlers/inactive_code
FIXME: This shouldn't be accepted as path actuallytools/rust-analyzer/crates/parser/src/tests/prefix_entries
FIXME: This shouldn't be completed heretools/rust-analyzer/crates/ide-completion/src/tests/item
FIXME: This shouldn't be here, we can derive this from `invoc_attr_index`tools/rust-analyzer/crates/hir-expand/src/lib
FIXME: This shouldn't consume the semicolontools/rust-analyzer/crates/parser/src/tests/prefix_entries
FIXME: This shouldn't return numerical/floatrustc_middle/src/ty/generic_args
FIXME: This still doesn't count, e.g., elided lifetimes and APITsrustc_passes/src/lang_items
FIXME: This stops the suggestion in some cases where it should be emittedrustc_borrowck/src/diagnostics/conflict_errors
FIXME: This test isn't comprehensive and isn't covering all possible combinationsrun-make/compressed-debuginfo/rmake
FIXME: This test represents current misbehaviortools/rust-analyzer/crates/rust-analyzer/src/cli/scip
tools/rust-analyzer/crates/rust-analyzer/src/cli/scip
tools/rust-analyzer/crates/rust-analyzer/src/cli/scip
tools/rust-analyzer/crates/rust-analyzer/src/cli/scip
FIXME: This test should pass as the first two fields add implied bounds thatui/regions/higher-ranked-implied
FIXME: This test was broken by the derefer changemir-opt/early_otherwise_branch_68867
FIXME: This text manipulation seems riskytools/rust-analyzer/crates/ide-assists/src/handlers/convert_closure_to_fn
FIXME: This unwrap should never panic because we check that it won't when creatingrustc_metadata/src/rmeta/decoder
FIXME: This uses an empty `TypingEnv` even thoughrustc_const_eval/src/const_eval/mod
FIXME: This whole logic is questionable, whether modifiers arerustc_metadata/src/native_libs
FIXME: This whole thing needs a refactor. Each derive requires its special values, and the result is a messtools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro
FIXME: This will assume expr macros are not inside match, we need to somehow go to the "parent" of the root nodetools/rust-analyzer/crates/ide-completion/src/context
FIXME: This will be wrong if we ever add inherent implsrustdoc/clean/types
FIXME: This will make us not emit the help even for declarativerustc_parse/src/parser/item
FIXME: This won't work if the type is given an alias through `use`, should wetools/clippy/clippy_lints/src/casts/unnecessary_cast
FIXME: Too many codegen messages have periods right nowtools/tidy/src/fluent_period
FIXME: Transmuting formatter in new and indirectly branching to/callingcore/src/fmt/rt
FIXME: Try running this logic earlier, to allocate name bindings forrustc_resolve/src/ident
FIXME: Try to put the metavariable span into `SpanData` instead of a side table (#118517)rustc_expand/src/mbe/transcribe
Closed
FIXME: Turn this into a query, it can be quite slowtools/rust-analyzer/crates/hir-ty/src/inhabitedness
tools/rust-analyzer/crates/hir-ty/src/inhabitedness
FIXME: Turn this into a structured, translateable & more actionable suggestionrustc_hir_analysis/src/hir_ty_lowering/mod
FIXME: TypeFlags::HAS_CT_PROJECTION is not implemented in chalk, so TypeFlags::HAS_PROJECTION onlytools/rust-analyzer/crates/hir-ty/src/infer
FIXME: Uncomment the `AsMut<[T]>` impl when this gets stabilizedcore/src/slice/iter
FIXME: Uncomment the `prepare` command below once vendoring is implementedbootstrap/src/core/build_steps/test
bootstrap/src/core/build_steps/test
FIXME: Unevaluated constants are also not rigid, so the currentrustc_infer/src/infer/relate/generalize
FIXME: Unions aren't yet supported by this validatortools/rust-analyzer/crates/hir-ty/src/diagnostics/decl_check
FIXME: Uplift the leak check into this craterustc_next_trait_solver/src/delegate
FIXME: Use CreateExportList utility to create export listrustc_codegen_ssa/src/back/linker
FIXME: Use `Path::from_src`tools/rust-analyzer/crates/hir-def/src/generics
tools/rust-analyzer/crates/hir-def/src/hir/type_ref
tools/rust-analyzer/crates/hir-def/src/hir/type_ref
FIXME: Use `mir::visit::Visitor` for the `in_*` functions if/when it supports early returnrustc_const_eval/src/check_consts/qualifs
FIXME: Use `tcx.hir().par_body_owners()` when we implement creating `DefId`srustc_hir_analysis/src/check_unused
FIXME: Use `trunc nuw` once that's availablerustc_codegen_ssa/src/base
FIXME: Use an 'if let' guard once they are implementedrustc_builtin_macros/src/test
FIXME: Use constants once rust-lang/libc/pull/3941 backported to the 0.2 branchtools/miri/src/shims/unix/android/thread
FIXME: Use correct span?tools/rustfmt/src/imports
FIXME: Use declaration from libc once <rust-lang/libc/pull/3944> landstools/miri/tests/pass-dep/libc/libc-random
FIXME: Use resolved `param.ty` once we no longer discard lifetimestools/rust-analyzer/crates/hir/src/display
FIXME: Use the toolchains channel instead of nightlytools/rust-analyzer/crates/ide/src/doc_links
FIXME: Used only from queries and can use query cacherustc_metadata/src/rmeta/decoder
FIXME: Using host floats, to work around rust-lang/rustc_apfloat/issues/11tools/miri/src/intrinsics/mod
tools/miri/src/intrinsics/mod
tools/miri/src/intrinsics/mod
tools/miri/src/intrinsics/mod
FIXME: Visit spans inside all this currently ignored stuffrustc_ast/src/mut_visit
FIXME: We are currently creating two branches here in order to maintainrustc_hir_typeck/src/expr
FIXME: We are currently missing primitive type methods and trait implementations for externalui-fulldeps/stable-mir/check_crate_defs
FIXME: We are hitting the database here, if we are unlucky this call might block momentarilytools/rust-analyzer/crates/ide/src/typing
FIXME: We are just dropping the binders in lifetime_defs on the floor hererustc_parse/src/parser/generics
FIXME: We are re-getting the allocation each time around the looptools/miri/src/helpers
tools/miri/src/helpers
FIXME: We can also possibly add an optimization here to detectstd/src/sys/alloc/wasm
FIXME: We can compress this with an enum for this and `label`/`block` if memory usage matterstools/rust-analyzer/crates/hir-def/src/body/scope
FIXME: We can make this configurable, and if the user uses `cargo clippy` on flycheck, we cantools/rust-analyzer/crates/ide-diagnostics/src/lib
FIXME: We can merge into exactly one assignment statementmir-opt/pre-codegen/clone_as_copy
FIXME: We can probably get rid of the extra copy here if westd/src/sys/pal/zkvm/args
std/src/sys/pal/zkvm/os
FIXME: We can randomize the order of unblockingtools/miri/src/shims/unix/linux_like/eventfd
tools/miri/src/shims/unix/linux_like/eventfd
tools/miri/src/shims/unix/unnamed_socket
tools/miri/src/shims/unix/unnamed_socket
FIXME: We can randomly pick a thread to unblocktools/miri/src/shims/unix/linux_like/epoll
FIXME: We can't identify variables in a subdiagnosticrustc_macros/src/diagnostics/diagnostic
FIXME: We check the number of rows because in some cases, like inrustc_errors/src/emitter
FIXME: We could avoid some redundant checks here. For newtypes wrappingrustc_const_eval/src/interpret/validity
FIXME: We could check that the call's *parent* takes `&mut val` to make therustc_borrowck/src/diagnostics/conflict_errors
FIXME: We could do normalization here, but is it really worth it?rustc_hir_analysis/src/coherence/builtin
FIXME: We could have multiple applicable names here, but we currently only return the firsttools/rust-analyzer/crates/hir-def/src/find_path
FIXME: We could perhaps add a `skip: usize` to `debug_assert_args_compatible`rustc_middle/src/ty/context
FIXME: We could probably actually just unify this furtherrustc_hir_typeck/src/closure
FIXME: We could probably compute the LUB if there is onerustc_borrowck/src/region_infer/opaque_types
FIXME: We could probably do way better attribute validation hererustc_hir_analysis/src/collect
FIXME: We could report a structured suggestion if we hadrustc_middle/src/values
FIXME: We could use the assumed_wf_types from both impls, I thinkrustc_trait_selection/src/traits/coherence
FIXME: We currently lose spans here (see issue #43081)ui/proc-macro/issue-75930-derive-cfg
Closed
FIXME: We currently return region constraints referring torustc_next_trait_solver/src/canonicalizer
FIXME: We currently use a pointer load instead of `transmute_copy` because `repr(simd)`portable-simd/crates/core_simd/src/vector
FIXME: We currently use a pointer store instead of `transmute_copy` because `repr(simd)`portable-simd/crates/core_simd/src/vector
FIXME: We deal with that one separately for nowrustc_trait_selection/src/error_reporting/infer/need_type_info
FIXME: We discard parse errors heretools/rust-analyzer/crates/hir-expand/src/eager
FIXME: We do not show substitutions for parts of path, because this is really complextools/rust-analyzer/crates/hir/src/source_analyzer
FIXME: We do this because `xtask tidy` will not allow us to have trailing whitespace in the expect stringtools/rust-analyzer/crates/syntax/src/syntax_editor
FIXME: We don't actually reads for ZSTsrustc_hir_typeck/src/expr_use_visitor
FIXME: We don't correctly check `cfg`s for now, so if it's more complex than just a onetools/clippy/clippy_lints/src/attrs/duplicated_attributes
FIXME: We don't handle GATs yettools/rust-analyzer/crates/hir/src/lib
FIXME: We don't need these, since these are the type's own WF obligationsrustc_next_trait_solver/src/solve/normalizes_to/mod
rustc_next_trait_solver/src/solve/normalizes_to/mod
FIXME: We don't record the resolutions for this anywhere atmtools/rust-analyzer/crates/ide-db/src/active_parameter
FIXME: We explicitly don't check that the types inferred during HIRrustc_hir_analysis/src/collect/type_of/opaque
FIXME: We handle closure as a special case, since chalk consider every closure as copy. Wetools/rust-analyzer/crates/hir-ty/src/infer/closure
FIXME: We ignore the expected term of `NormalizesTo` goalsrustc_trait_selection/src/solve/inspect/analyse
FIXME: We ignore the first line of SVG filestools/compiletest/src/runtest
FIXME: We just pick the first string literal that has the same text as the doc attributetools/rust-analyzer/crates/ide/src/syntax_highlighting/inject
FIXME: We make sure that this is a normal top-level bindingrustc_borrowck/src/diagnostics/conflict_errors
FIXME: We manually derive `Lift` because the `derive(Lift_Generic)` doesn'trustc_type_ir/src/binder
rustc_type_ir/src/predicate
FIXME: We match by text. This is both hacky and incorrect (people can, and do, createtools/rust-analyzer/crates/hir/src/semantics
FIXME: We may want to elaborate here, though I assume this will be exceedingly rarerustc_hir_typeck/src/closure
FIXME: We may want to include a whole `AssistConfig` heretools/rust-analyzer/crates/ide-diagnostics/src/lib
FIXME: We maybe could skip this, if we handle the indeterminate imports in `resolve_imports`tools/rust-analyzer/crates/hir-def/src/nameres/collector
FIXME: We might want to consider removing RUSTC_REAL and setting RUSTC directly?bootstrap/src/bin/rustc
FIXME: We might want to have a `try_eval`-like function on `Unevaluated`rustc_middle/src/mir/consts
FIXME: We might want to have two different versions of `layout_of`rustc_ty_utils/src/layout
FIXME: We need to call `f` for all of them as well though!tools/rust-analyzer/crates/hir/src/semantics
FIXME: We need to figure out the edition of the file here, but that means hitting thetools/rust-analyzer/crates/ide/src/typing
FIXME: We need to get krate from the final callers of the hir displaytools/rust-analyzer/crates/hir-ty/src/display
FIXME: We need to split the tree properly here, but mutating the token treestools/rust-analyzer/crates/mbe/src/lib
FIXME: We only need to do *any* of this if we're considering a trait goalrustc_next_trait_solver/src/solve/assembly/mod
FIXME: We only report a single error inside of eager expansionstools/rust-analyzer/crates/hir-expand/src/eager
FIXME: We previously had an assert here that checked that recomputingrustc_next_trait_solver/src/solve/eval_ctxt/mod
FIXME: We probably should store this signature inference output in a wayrustc_hir_typeck/src/closure
FIXME: We register a fake candidate when normalization fails so thatrustc_next_trait_solver/src/solve/assembly/mod
FIXME: We should actually implement these checkstools/rust-analyzer/crates/hir-ty/src/mir/eval/shim
FIXME: We should add a leading pipe if the original arm has onetools/rust-analyzer/crates/ide-assists/src/handlers/unmerge_match_arm
FIXME: We should be able to add some additional info hererustc_trait_selection/src/error_reporting/infer/need_type_info
FIXME: We should be able to do something similar torustc_borrowck/src/diagnostics/region_name
FIXME: We should be able to turn these into SmolStr without having to allocate a Stringtools/rust-analyzer/crates/ide-completion/src/completions/fn_param
FIXME: We should be never getting `None` heretools/rust-analyzer/crates/hir-def/src/attr
tools/rust-analyzer/crates/hir-def/src/attr
tools/rust-analyzer/crates/hir-def/src/attr
FIXME: We should be smart and show a better diagnostic hererustc_codegen_ssa/src/base
FIXME: We should be using a better heuristic for `use<>`rustc_borrowck/src/diagnostics/opaque_suggestions
FIXME: We should do it unconditionally if the configuration is set to default totools/rust-analyzer/crates/ide-db/src/prime_caches
FIXME: We should emit a `<T: Debug>` generic argument for the generated functiontools/rust-analyzer/crates/ide-assists/src/handlers/extract_function
FIXME: We should fill out the call here, move the cursor and trigger signature helptools/rust-analyzer/crates/ide-diagnostics/src/handlers/unresolved_field
FIXME: We should fix up the position when retrying the cancelled request insteadtools/rust-analyzer/crates/rust-analyzer/src/handlers/request
tools/rust-analyzer/crates/rust-analyzer/src/handlers/request
FIXME: We should handle async blocks like we handle closurestools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: We should handle failure of layout bettertools/rust-analyzer/crates/hir-ty/src/consteval
FIXME: We should have tests for `is_ty_uninhabited_from`tools/rust-analyzer/crates/ide-diagnostics/src/handlers/mutability_errors
FIXME: We should ideally have a test that checks that we edit local roots and not librarytools/rust-analyzer/crates/ide-ssr/src/search
FIXME: We should investigate the perf implications of not uniquifyingrustc_next_trait_solver/src/canonicalizer
FIXME: We should just register the item bounds here, rather than equatingrustc_hir_analysis/src/check/check
FIXME: We should likely also do something about ZST return types, similar to aboverustc_target/src/callconv/x86_win64
FIXME: We should move this check into a QueuedTask and do semantic resolution oftools/rust-analyzer/crates/rust-analyzer/src/handlers/notification
FIXME: We should panic on duplicates instead, but includes currently cause us to reporttools/rust-analyzer/crates/ide-diagnostics/src/tests
FIXME: We should probably have a helper method to share code with the "Byte strings"rustc_middle/src/ty/print/pretty
FIXME: We should probably just look into overflows hererustc_trait_selection/src/solve/fulfill
FIXME: We should report both errors!tools/rust-analyzer/crates/hir-expand/src/db
FIXME: We should stop passing `None` for the failure caserustc_hir_typeck/src/method/mod
FIXME: We should store origins separately from the unification tablerustc_infer/src/infer/mod
FIXME: We should suggest making the fn `async`, but extractingrustc_hir_analysis/src/check/compare_impl_item
FIXME: We should test more cases, but it currently doesn't work, sincetools/rust-analyzer/crates/hir-ty/src/tests/traits
FIXME: We should use this enum or something like it to get rid of therustc_span/src/lib
FIXME: We should verify that the parsed node is one of the many macro node variants we expecttools/rust-analyzer/crates/hir-expand/src/db
FIXME: We shouldn't be relying on the infcx being taintedrustc_hir_typeck/src/expr_use_visitor
FIXME: We shouldn't expose Mutability here (that is HIR types at all), its fine for now thoughtools/rust-analyzer/crates/ide-completion/src/item
FIXME: We sometimes don't unset this when clearing `subcandidates`rustc_mir_build/src/builder/matches/mod
FIXME: We sometimes suggest the same thing we already have, which is arustc_errors/src/emitter
FIXME: We trim the start because some inlay produces leading whitespace which is not properly supported by our annotation extractiontools/rust-analyzer/crates/ide/src/inlay_hints
FIXME: We use a different type than the existing canonical queries. This is becauserustc_type_ir/src/solve/mod
FIXME: We will need to preserve the original semicolon token andrustc_expand/src/placeholders
FIXME: We wrap expression fragments in parentheses which can break this expectationtools/rust-analyzer/crates/hir-expand/src/builtin/fn_macro
FIXME: We'd want to keep more accurate spans than "the method signature" whenrustc_hir_analysis/src/check/compare_impl_item
FIXME: Weirdly, we normalize the ret ty in this candidate, but no other candidatesrustc_hir_typeck/src/method/probe
FIXME: Whats the difference between this and unresolved_proc_macrotools/rust-analyzer/crates/hir-def/src/nameres/diagnostics
FIXME: When crate_type is not availablerustc_session/src/session
FIXME: When running on rust-lang managed CI and it's not a nightly buildbuild_helper/src/git
FIXME: When we get rid of `ConstScalar::Unknown`, we can just look at precomputedtools/rust-analyzer/crates/hir/src/lib
FIXME: Which of these are POSIX, and which are GNU/Linux?tools/miri/src/shims/unix/foreign_items
FIXME: While a translatable diagnostic message can have an argumentrustc_lint/src/non_local_def
FIXME: Whitespace is not part of the matched blocktools/rust-analyzer/crates/ide-ssr/src/tests
FIXME: Why do we not remove implied features on "-" here?rustc_codegen_gcc/src/gcc_util
rustc_codegen_llvm/src/llvm_util
FIXME: Why don't these have their own structs?tools/jsondoclint/src/validator
FIXME: Why don't we consider `SegmentParam` to be simple?tools/rustfmt/src/overflow
FIXME: Why is this pub(crate)?tools/rust-analyzer/crates/ide/src/hover
FIXME: Why is this the same error code as `InvalidReprHintNoParen` and `InvalidReprHintNoValue`?rustc_attr_parsing/src/session_diagnostics
FIXME: Windows has QoS APIs, we should use them!tools/rust-analyzer/crates/stdx/src/thread/intent
FIXME: With current `TokenCursor` it's hard to break tokens into more than 2rustc_parse/src/parser/expr
FIXME: Working around rust-lang/rust/issues/54385rustc_const_eval/src/interpret/place
rustc_const_eval/src/interpret/projection
FIXME: Would be better to say *something* here about the *path* beingrustdoc/clean/types
FIXME: Would be nice if we had a span hererustc_passes/src/check_attr
rustc_passes/src/check_attr
rustc_passes/src/check_attr
FIXME: Would be nice to get rid of this somehowtools/rust-analyzer/crates/base-db/src/lib
FIXME: Would be nice to handle `cfg_attr` as well. Only problem is to check that cfgtools/clippy/clippy_lints/src/attrs/duplicated_attributes
FIXME: Wrong name? This is could also be a registered attributetools/rust-analyzer/crates/hir/src/lib
FIXME: Yeet thistools/rust-analyzer/crates/ra-salsa/src/derived/slot
FIXME: [0..200; 2];tools/clippy/tests/ui/single_range_in_vec_init
Closed
FIXME: [vec!0..200; 2];tools/clippy/tests/ui/single_range_in_vec_init
Closed
FIXME: __wasi_fd_fdstat_getstd/src/sys/pal/wasi/fd
FIXME: `--generate-link-to-definition` tries to resolve cfged out codebootstrap/src/core/build_steps/doc
bootstrap/src/core/build_steps/doc
FIXME: `-Zrustdoc-map` does not yet correctly work for transitive dependenciesbootstrap/src/core/build_steps/doc
FIXME: `.value()` uses `clean::utils::format_integer_with_underscore_sep` under therustdoc/html/render/mod
FIXME: `C` should be identified as an ambiguous itemui/imports/glob-conflict-cross-crate-2
ui/imports/glob-conflict-cross-crate-3
FIXME: `E0384` is not the only error that this diagnostic handlestools/rust-analyzer/crates/ide-diagnostics/src/handlers/mutability_errors
FIXME: `Into::into` is not inline, but due totools/rustfmt/tests/source/issue-2917/packed_simd
tools/rustfmt/tests/target/issue-2917/packed_simd
FIXME: `Iterator::partition_in_place()` or `Vec::drain_filter()` may make ittools/rust-analyzer/crates/hir-ty/src/display
FIXME: `None` is inferred as unknown here for some reasontools/rust-analyzer/crates/ide-diagnostics/src/handlers/mutability_errors
FIXME: `SyntaxContext` for spans from proc macro crates is lost during encodingrustc_expand/src/proc_macro_server
FIXME: `T` in `ty!(T)` should be replaced by `PathTransform`tools/rust-analyzer/crates/ide-assists/src/handlers/add_missing_impl_members
tools/rust-analyzer/crates/ide-completion/src/completions/item_list/trait_impl
FIXME: `UnsafeList` is not movablestd/src/sys/sync/condvar/sgx
std/src/sys/sync/mutex/sgx
FIXME: `applySnippetTextEdits` does not support non-empty selection rangestools/rust-analyzer/crates/ide/src/move_item
FIXME: `body_param_names` currently returning empty symbols for `wild` as welltools/clippy/clippy_lints/src/functions/renamed_function_params
FIXME: `cfg(TRUE)` attributes do not currently remove themselves during expansionrustc_expand/src/expand
FIXME: `const_eval_resolve_for_typeck` should probably just modify the env itselfrustc_mir_build/src/thir/pattern/const_to_pat
rustc_trait_selection/src/traits/mod
FIXME: `deduced_param_attrs` has some sketchy encoding settingsrustc_metadata/src/rmeta/decoder/cstore_impl
FIXME: `def_span` for an fn-like coroutine will point to the fn's bodyrustc_middle/src/values
FIXME: `dependency_formats` can report `profiler_builtins` as `NotLinked` for somerustc_codegen_ssa/src/back/link
FIXME: `derives` are missing in these parent scopes and need to be taken from elsewhererustc_resolve/src/lib
FIXME: `fallible_list` can't re-use the `key!` macro for listrustc_target/src/spec/json
FIXME: `for` kwtools/rust-analyzer/crates/ide-completion/src/tests/predicate
FIXME: `glob_conflict::f` should raise anui/imports/glob-conflict-cross-crate-1
FIXME: `glob_conflict::glob::f` should raise anui/imports/glob-conflict-cross-crate-1
FIXME: `h` should be a handle to the current module and what `pv` should be is unknowntools/miri/src/shims/tls
FIXME: `id` should be identified as an ambiguous itemui/imports/ambiguous-2
ui/imports/ambiguous-4
FIXME: `if` forces a temporary (unlike `match`), so the const isn't directmir-opt/single_use_consts
FIXME: `impl Trait<'a> + 'b` should live as long as 'b, even if 'b outlives 'aui/impl-trait/lifetimes
FIXME: `probe_for_name_many` searches for methods in inherent implementationsrustc_hir_typeck/src/method/suggest
FIXME: `substs_from_path_segment()` pushes `TyKind::Error` for every parenttools/rust-analyzer/crates/hir-ty/src/lower
tools/rust-analyzer/crates/hir-ty/src/lower
tools/rust-analyzer/crates/hir-ty/src/lower
FIXME: `switchInt` will have three targets after `UnreachableEnumBranching`mir-opt/early_otherwise_branch
mir-opt/early_otherwise_branch_3_element_tuple
FIXME: `unicode_width` sometimes disagrees with terminals on how wide a `char` is. For nowrustc_span/src/lib
FIXME: `use`s have no easy way to determine their search scope, but they are raretools/rust-analyzer/crates/ide-db/src/search
FIXME: `usize`` once we drop support for 1.76tools/rust-analyzer/crates/mbe/src/parser
FIXME: `workspace_structure_change` is computed from `should_refresh_for_change` which istools/rust-analyzer/crates/rust-analyzer/src/global_state
FIXME: a more precise name would probably be `Symbol`?tools/rust-analyzer/crates/ide-db/src/defs
FIXME: account for RPITITrustc_hir_typeck/src/fn_ctxt/suggestions
FIXME: account for `#![feature(specialization)]`rustc_trait_selection/src/error_reporting/infer/note_and_explain
FIXME: account for associated `async fn`srustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: account for async-drop-gluerustc_sanitizers/src/cfi/typeid/itanium_cxx_abi/transform
FIXME: account for labels not in the same linerustc_errors/src/emitter
FIXME: account for returning some type in a trait fn impl that hasrustc_trait_selection/src/error_reporting/infer/note_and_explain
FIXME: account for the need of parens in `&(dyn Trait + '_)`rustc_trait_selection/src/error_reporting/infer/nice_region_error/static_impl_trait
FIXME: actually check that the two expressions in the binop arerustc_parse/src/parser/diagnostics
rustc_parse/src/parser/diagnostics
FIXME: actually check the expected vs found types, but right nowrustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: actually expand with consttools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/builtin_derive_macro
FIXME: actually provide the hidden type; it is relevant for auto traitstools/rust-analyzer/crates/hir-ty/src/chalk_db
FIXME: actually read the file here if the user asked for macro expansiontools/rust-analyzer/crates/hir-expand/src/builtin/fn_macro
FIXME: actually support such cases (need to figure out how to move from therustc_borrowck/src/diagnostics/conflict_errors
FIXME: actually this causes a SIGILL in LLVMrustc_codegen_ssa/src/mir/naked_asm
FIXME: add a last() method to AllocRange that returns the last inclusive offset (end() is exclusive)tools/miri/src/concurrency/range_object_map
FIXME: add arc4random_buf to shim-3dsstd/src/sys/random/mod
FIXME: add checks for x2. Currently, their MIRs are not symmetric in the twomir-opt/dataflow-const-prop/enum
FIXME: add dedicated variant to json Type?rustdoc/json/conversions
FIXME: add extra indent for the unsafe blockstools/clippy/clippy_utils/src/source
FIXME: add mir-opt testsrustc_mir_transform/src/shim/async_destructor_ctor
FIXME: add note explaining explicit negative trait boundsrustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: add quickfixtools/rust-analyzer/crates/ide-diagnostics/src/handlers/private_assoc_item
tools/rust-analyzer/crates/ide-diagnostics/src/handlers/private_field
tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unresolved_method
FIXME: add random data generation to xousstd/src/sys/random/mod
FIXME: add such "forbidden" features for non-x86 targetsrustc_target/src/target_features
FIXME: add support for `// only-atomic` to compiletest/header.rsui/lint/lint-invalid-atomic-ordering-int
FIXME: add the missing variance information and remove this fallback bidirectionalrustc_borrowck/src/polonius/liveness_constraints
FIXME: add union handlingrustc_borrowck/src/prefixes
FIXME: adt may have generic paramstools/rust-analyzer/crates/ide-assists/src/handlers/generate_function
FIXME: all of the above. Analyze potential unsoundness, possibly in concert with arustc_borrowck/src/polonius/loan_liveness
FIXME: all this just to decide whether to use parenthesestools/rust-analyzer/crates/hir-ty/src/display
FIXME: allow thread-locals to borrow other thread locals?rustc_borrowck/src/lib
FIXME: also handle diverging callsrustc_borrowck/src/polonius/typeck_constraints
FIXME: also look at `tcx.generics_of(self.item_def_id()).params` any thatrustc_hir_analysis/src/hir_ty_lowering/mod
FIXME: also support deref for stuff like `Rc` argumentsrustc_borrowck/src/diagnostics/conflict_errors
FIXME: alter the Rust <-> Rust calling convention to prevent this problemcore/src/num/f32
core/src/num/f64
FIXME: ask Cargo to provide this data instead of re-derivingtools/rust-analyzer/crates/project-model/src/env
FIXME: audit that this behaves correctly with suggestionsrustc_errors/src/emitter
FIXME: avoid this clone (requires implementing Default manually)rustdoc/formats/cache
FIXME: avoid this conversion by always storing liveness data in this shape in the rest ofrustc_borrowck/src/polonius/liveness_constraints
FIXME: based on from utils::generate_impl_text_innertools/rust-analyzer/crates/ide-assists/src/handlers/generate_default_from_new
FIXME: because this is doc(inline)d, we *have* to use intra-doc links because the actual linkcore/src/ffi/c_str
FIXME: bench to compare this to FxHashSet and to other SmallVec sizestools/miri/src/borrow_tracker/tree_borrows/tree
FIXME: bind fd_fdstat_get - need to define a custom return typestd/src/os/wasi/fs
FIXME: bind fd_filestat_set_times maybe? - on crates.io for unixstd/src/os/wasi/fs
FIXME: bind fd_readdir - can't return `ReadDir` since we only have entry namestd/src/os/wasi/fs
FIXME: bind path_filestat_set_times maybe? - on crates.io for unixstd/src/os/wasi/fs
FIXME: bind poll_oneoff maybe? - probably should wait for I/O to settlestd/src/os/wasi/fs
FIXME: bind random_get maybe? - on crates.io for unixstd/src/os/wasi/fs
FIXME: broken codegen on big-endian (rust-lang/rust/issues/127205)ui/simd/simd-bitmask-notpow2
FIXME: broken test, this should fix visibility of the re-exporttools/rust-analyzer/crates/ide-assists/src/handlers/fix_visibility
FIXME: cache the `find_local_import_locations` output?tools/rust-analyzer/crates/hir-def/src/find_path
FIXME: calculate inner typestools/rust-analyzer/crates/hir-ty/src/chalk_db
FIXME: calculate upvarstools/rust-analyzer/crates/hir-ty/src/chalk_db
FIXME: call guardsui/array-slice-vec/vec-matching-fold
ui/array-slice-vec/vec-matching-fold
FIXME: call pretty_print_const_valtree?rustc_middle/src/mir/pretty
FIXME: calling `fma` from libc without FMA target feature uses expensive software emulationrustc_codegen_gcc/src/intrinsic/mod
FIXME: calling `fma` from libc without FMA target feature uses expensive sofware emulationrustc_codegen_cranelift/src/intrinsics/mod
FIXME: can be expensive to create, we should check the use sites and maybe replace them withtools/rust-analyzer/crates/hir-expand/src/lib
FIXME: can this be done cleaner?tools/miri/src/borrow_tracker/stacked_borrows/mod
FIXME: can this case be generalized to work for anrustc_borrowck/src/diagnostics/mutability_errors
FIXME: can this line be shared with the same in `value_ptr()`core/tests/ptr
FIXME: can we abort the build scripts here if they are already running?tools/rust-analyzer/crates/rust-analyzer/src/reload
FIXME: can we add suggestions like `&(0..=9)`?ui/range/range-inclusive-pattern-precedence2
FIXME: can we prefer the one from the sysroot?tools/miri/src/helpers
FIXME: can we somehow preserve the immutability of `ptr`?tools/miri/src/machine
FIXME: can't find crate for 'std'run-make/incr-test-moved-file/rmake
run-make/moved-src-dir-fingerprint-ice/rmake
FIXME: can't find crate for `std`run-make/incr-prev-body-beyond-eof/rmake
FIXME: cdsplit in llvm-bolt is currently broken on AArch64, drop this once it's fixed upstreamtools/opt-dist/src/bolt
FIXME: cfg optionstools/rust-analyzer/crates/ide/src/lib
FIXME: cfg_attr with multiple attributes will not be handled correctly. We will only keep the first attributetools/rust-analyzer/crates/hir-expand/src/cfg_process
FIXME: change `Lint`'s label to not store a path in it but split the prefix off instead?tools/rust-analyzer/crates/ide-completion/src/completions/attribute/lint
FIXME: change the new fn checking to a more semantic approach when that's moretools/rust-analyzer/crates/ide-assists/src/utils
FIXME: check `Thin` instead of `Sized`rustc_mir_transform/src/validate
FIXME: check if other terminators need the same handling as `Call`s, in particularrustc_borrowck/src/polonius/typeck_constraints
FIXME: check path typestools/rust-analyzer/crates/ide/src/inlay_hints/lifetime
FIXME: check safety and signature compatibilityrustc_mir_transform/src/validate
FIXME: check safety, captures, and signature compatibilityrustc_mir_transform/src/validate
FIXME: check same pointee?rustc_mir_transform/src/validate
FIXME: check signature compatibilityrustc_mir_transform/src/validate
FIXME: check specified components against the target architectures wetools/tidy/src/target_specific_tests
FIXME: check that this item can have body stabilityrustc_passes/src/stability
FIXME: check the return type here somehowrustc_hir_typeck/src/method/probe
FIXME: check the valuesrustc_borrowck/src/type_check/mod
FIXME: check thistools/rust-analyzer/crates/hir-ty/src/variance
tools/rust-analyzer/crates/hir-ty/src/variance
FIXME: check types of const infers hererustc_privacy/src/lib
FIXME: check when rust-installer test sh files will be removedtools/tidy/src/bins
FIXME: check whether it is cheaper to precompute the entire call graph instead of invokingrustc_mir_transform/src/inline/cycle
FIXME: checking `item.name.is_some()` is very implicit and leads to lots of specialrustdoc/formats/renderer
FIXME: clicking on the link should just open the file in the editortools/rust-analyzer/crates/ide/src/doc_links
tools/rust-analyzer/crates/ide/src/doc_links
FIXME: comeup with a better API for `needs_parens_in`, so that we don't have to do *thistools/rust-analyzer/crates/ide/src/inlay_hints/adjustment
FIXME: compiler fences are currently ignoredtools/miri/src/intrinsics/atomic
FIXME: compute this field on demandrustdoc/clean/types
FIXME: consider caching errors toorustc_trait_selection/src/traits/fulfill
rustc_trait_selection/src/traits/fulfill
FIXME: consider changing this to only promote &mut [] for default borrowsrustc_mir_transform/src/promote_consts
FIXME: consider combining this definition with regular `Destructor`rustc_middle/src/ty/mod
FIXME: consider combining this method with `AdtDef::destructor` and removingrustc_middle/src/ty/adt
FIXME: consider crates\hir_def\src\nameres\attr_resolution.rs?tools/rust-analyzer/crates/hir/src/lib
FIXME: consider making this a queryrustc_middle/src/ty/util
FIXME: consider not copying constants through stack. (Fixable by codegen'ingrustc_codegen_ssa/src/mir/rvalue
FIXME: consider split debug info on other platforms (e.g., Linux, macOS)bootstrap/src/utils/helpers
FIXME: consider suggesting the use of associated `const`srustc_trait_selection/src/error_reporting/infer/note_and_explain
FIXME: consider using an attribute instead of side-effectsui/print_type_sizes/generics
ui/print_type_sizes/niche-filling
ui/print_type_sizes/no_duplicates
ui/print_type_sizes/packed
ui/print_type_sizes/repr-align
ui/print_type_sizes/uninhabited
FIXME: convert bounds to where-clauses where they get too big or iftools/rustfmt/src/items
FIXME: correctly handle macro expansiontools/rust-analyzer/crates/hir/src/source_analyzer
FIXME: could be `trunc nuw`, even for signedrustc_codegen_llvm/src/intrinsic
FIXME: could be improved to suggest surrounding every pattern with Some(_)tools/clippy/clippy_lints/src/matches/match_on_vec_items
FIXME: could replace with the following, but we already calculated `method_predicates`rustc_hir_typeck/src/method/confirm
FIXME: could there ever be a primitive not in the type namespace?rustdoc/passes/collect_intra_doc_links
FIXME: could we recover with this?rustc_parse/src/parser/diagnostics
FIXME: create a function "display_if_not_quiet" or something along the linerustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
rustc_codegen_gcc/build_system/src/test
FIXME: create tests for the atomicsrustc_target/src/spec/targets/nvptx64_nvidia_cuda
FIXME: current `InTypeConstId` is very unstable, so we only use it in non local cratetools/rust-analyzer/crates/hir-ty/src/lower
FIXME: current rustc does not seem to emit `<macro file>` files anymore?tools/rust-analyzer/crates/rust-analyzer/src/diagnostics/to_proto
FIXME: currently not working for suggesting `map_or_else`, see #102408rustc_hir_typeck/src/method/suggest
Closed
FIXME: currently we do not detect this UB, since we don't want the result of const-evalui/consts/const-eval/const_fn_target_feature
FIXME: currently we do nothing to prevent placeholders with the new universe beingrustc_infer/src/infer/relate/higher_ranked
FIXME: currently we do nothing with these, but perhaps we can do better?rustc_borrowck/src/diagnostics/region_errors
FIXME: currently we never try to compose autoderefsrustc_hir_typeck/src/fn_ctxt/_impl
FIXME: currently, `--fix` gives an error while checking tests for libtestbootstrap/src/core/build_steps/clippy
FIXME: currently, external items only generate a link to their documentationrustdoc/html/highlight
FIXME: dead spans?tools/rustfmt/src/types
FIXME: deduplicate with `HirDisplay` impltools/rust-analyzer/crates/hir-def/src/pretty
FIXME: deduplicate with rustc_lint (`BuiltinLintDiag::InnerAttributeUnstable`)rustc_resolve/src/macros
FIXME: deduplicate with rustc_lint (`BuiltinLintDiag::PatternsInFnsWithoutBody`)rustc_ast_passes/src/errors
rustc_ast_passes/src/errors
FIXME: delete interpreter state associated with this condvartools/miri/src/shims/unix/sync
FIXME: delete interpreter state associated with this mutextools/miri/src/shims/unix/sync
FIXME: delete interpreter state associated with this rwlocktools/miri/src/shims/unix/sync
FIXME: derive Eq for AllocRange in rustctools/miri/src/concurrency/range_object_map
FIXME: derive macro paths should be checkedtools/clippy/tests/ui-toml/absolute_paths/absolute_paths
FIXME: desugared exprs don't have ptr, that's wrong and should be fixedtools/rust-analyzer/crates/hir-def/src/body/lower
FIXME: desugared labels don't have ptr, that's wrong and should be fixed somehowtools/rust-analyzer/crates/hir-def/src/body/lower
FIXME: desugared pats don't have ptr, that's wrong and should be fixed somehowtools/rust-analyzer/crates/hir-def/src/body/lower
FIXME: detached filetools/rust-analyzer/crates/hir/src/semantics/source_to_def
FIXME: diagnose `become` outside of functionstools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: diagnose return outside of functiontools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: differentiate `TwoPhaseBorrow`rustc_borrowck/src/borrow_set
FIXME: differentiate between unstable and internal attributes justrustc_passes/src/check_attr
FIXME: directly extract the bits from a valtree instead of evaluating anrustc_codegen_ssa/src/debuginfo/type_names
FIXME: disable validation if there's an attribute, since some proc macros use this syntaxtools/rust-analyzer/crates/syntax/src/validation
FIXME: disabled since it fails on CI saying the csky component is missingtools/tidy/src/target_policy
assembly/targets/targets-elf
FIXME: disabled since it requires a custom LLVM until the upstream LLVM adds support for the target (espressif/llvm-project/issues/4)tools/tidy/src/target_policy
assembly/targets/targets-elf
FIXME: do not do double reversecore/src/iter/adapters/array_chunks
FIXME: do not handle callsites in macros' parameters, becausetools/rust-analyzer/crates/ide-assists/src/handlers/inline_call
FIXME: do proper macro def highlighting rust-lang/rust-analyzer/issues/6232tools/rust-analyzer/crates/ide/src/syntax_highlighting
FIXME: do some checks heretools/rust-analyzer/crates/hir-ty/src/infer/pat
FIXME: do some more logic on `move` to invalidate the old locationrustc_const_eval/src/interpret/operand
FIXME: do this in placetools/rust-analyzer/crates/stdx/src/lib
FIXME: do we need to distinguish shallow and deep fake borrows? In fact, do we need torustc_middle/src/mir/visit
FIXME: do we want to allow `expr -> pattern` conversion to create path expressions?rustc_ast_lowering/src/pat
FIXME: document thisrustdoc-json-types/lib
FIXME: document why/how this is different from `tcx.local_parent(def_id)`rustc_hir_analysis/src/hir_ty_lowering/mod
FIXME: does the None variant make sense? Probably nottools/rust-analyzer/crates/ide-db/src/assists
FIXME: doesn't need deref * parens. But `ctx.sema.resolve_method_call` doesn't resolve trait implementationstools/rust-analyzer/crates/ide-assists/src/handlers/destructure_tuple_binding
FIXME: doesn't work on m68krustc_codegen_gcc/build_system/src/test
FIXME: don't duplicate this between the optimized_mir/mir_for_ctfe queriesrustc_mir_transform/src/lib
FIXME: don't ignore diagnostics for in type consttools/rust-analyzer/crates/hir/src/lib
FIXME: don't rely on global state, instead bubble up errors. Note: this is very hard to dorustc_monomorphize/src/collector
FIXME: double semicolontools/rust-analyzer/crates/ide-assists/src/handlers/extract_function
FIXME: dyn types may not have principal trait and we don't want to return auto traittools/rust-analyzer/crates/hir-ty/src/chalk_ext
FIXME: eliminate the duplication with `Visitor`. But this alsorustc_lint/src/passes
FIXME: ensure some kind of non-aliasing between LHS and RHS?rustc_const_eval/src/interpret/step
FIXME: ensure validation always reports this and stop making interning care about itrustc_const_eval/src/const_eval/eval_queries
FIXME: enum of byte/stringrustc_lint_defs/src/lib
FIXME: error in this case?test/src/bench
FIXME: error message is confusingui/match/validate-range-endpoints
FIXME: evaluate and unify with the consttools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: evaluate bodies with statements and evaluate bindings to see if they would berustc_lint/src/default_could_be_derived
FIXME: eventually we don't want to always force this symbol to haverustc_monomorphize/src/partitioning
FIXME: expand macro and check output for mutable usages of the variable?tools/rust-analyzer/crates/ide-assists/src/handlers/extract_function
FIXME: explain `globs`rustc_feature/src/accepted
FIXME: expressions in curly brackets can cause ambiguity after insertiontools/rust-analyzer/crates/ide-db/src/path_transform
FIXME: extend the AST items to have a head span, or replace callers with pointing atrustc_span/src/source_map
FIXME: extract this logic for use in other diagnosticsrustc_trait_selection/src/error_reporting/infer/note_and_explain
FIXME: false negatives (i.e. the lint is not emitted when it should be)rustc_lint/src/dangling
FIXME: false positive. This parenthesis is requiredui/lint/lint-unnecessary-parens
FIXME: fetch the limit properlytools/rust-analyzer/crates/hir-ty/src/infer
FIXME: finally remove std support for wasm32-unknown-unknownstd/src/sys/random/mod
FIXME: find a better way to do this. See rust-lang/rust/issues/117271rustc_target/src/callconv/nvptx64
FIXME: find a way to add rustflags to ui-cargo teststools/clippy/tests/ui-cargo/module_style/fail_mod_remap/src/main
FIXME: find a way to also check ScalarPair when one side can be uninit butrustc_const_eval/src/interpret/validity
FIXME: find a way to bring this backtools/rust-analyzer/xtask/src/dist
FIXME: find a way to treat this more uniformly (probably by fixing codegen)rustc_mir_transform/src/gvn
FIXME: footools/rust-analyzer/crates/hir-expand/src/fixup
FIXME: for clarity, diagnostics for these cases might be better offui/borrowck/two-phase-activation-sharing-interference
FIXME: for now, only bool literals are implementedtools/rust-analyzer/crates/hir-ty/src/diagnostics/match_check
FIXME: for some reason the modules are linted in a different order for this testtools/clippy/tests/compile-test
FIXME: for some reason using `unexpected` or `expected_one_of_not_found` hasrustc_parse/src/parser/diagnostics
FIXME: for some tier3 targets, we are overly cautious and always give warningsrustc_target/src/target_features
FIXME: for statics, vtables, and functions, we could in principle print more detailrustc_middle/src/ty/print/pretty
FIXME: for variadic support, do we have to somehow determine callee's extra_args?rustc_const_eval/src/interpret/call
FIXME: format comments between operands and operatortools/rustfmt/src/expr
FIXME: fst::Map should ideally have a way to shrink the backing buffer without the unwrap dancetools/rust-analyzer/crates/ide-db/src/symbol_index
FIXME: get rid of this functionbootstrap/src/utils/helpers
FIXME: get rid of this, and use FieldId for tuples and closurestools/rust-analyzer/crates/hir-ty/src/mir
FIXME: get rid of this, just replace it by FnPointertools/rust-analyzer/crates/hir-ty/src/lib
FIXME: get rid of this?tools/rust-analyzer/crates/hir-ty/src/infer
FIXME: hack - removes the usage that triggered this rename operationtools/rust-analyzer/crates/ide/src/rename
FIXME: hack on top of a hack: `$e:expr` captures get surrounded in parenthesestools/rust-analyzer/crates/hir-expand/src/builtin/fn_macro
FIXME: handle SIMD correctlyrustc_middle/src/mir/tcx
FIXME: handle `cfg_attr`tools/rust-analyzer/crates/hir-expand/src/db
tools/rust-analyzer/crates/hir-expand/src/db
tools/rust-analyzer/crates/hir-expand/src/lib
tools/rust-analyzer/crates/hir-expand/src/lib
tools/rust-analyzer/crates/hir-expand/src/lib
tools/rust-analyzer/crates/hir-expand/src/lib
FIXME: handle `mod` inside block expressiontools/rust-analyzer/crates/hir-def/src/test_db
FIXME: handle block expressions as modules (their parent is in a different DefMap)tools/rust-analyzer/crates/hir/src/lib
FIXME: handle constraintstools/rust-analyzer/crates/hir-ty/src/infer/unify
FIXME: handle e.g. `struct S<T>; impl<U> S<U> {}`tools/rust-analyzer/crates/ide-assists/src/utils
FIXME: handle empty+hiddenrustc_pattern_analysis/src/rustc
FIXME: handle multi-field structs that split across regsave/stack?rustc_codegen_llvm/src/va_arg
FIXME: handle ~const super traitsrustc_trait_selection/src/traits/vtable
rustc_trait_selection/src/traits/vtable
FIXME: here, the attribute's text range is used to strip away alltools/rust-analyzer/crates/hir/src/semantics
FIXME: heuristic-based suggestion to check current types for where to add `_`rustc_hir_typeck/src/pat
FIXME: how to correctly handle higher-ranked bounds here?tools/rust-analyzer/crates/hir-ty/src/lower
tools/rust-analyzer/crates/hir-ty/src/utils
FIXME: how to support TLS in library mode?std/src/sys/pal/sgx/abi/mod
FIXME: alexcrichton/cc-rs/issues/545#issuecomment-679242845bootstrap/src/core/build_steps/llvm
FIXME: fortanix/rust-sgx/issues/110std/src/net/tcp/tests
std/src/net/tcp/tests
std/src/net/tcp/tests
FIXME: llvm/llvm-project/issues/50591rustc_codegen_llvm/src/context
FIXME: rust-lang/rust-analyzer/issues/11762, this currently always returns Unknowntools/rust-analyzer/crates/ide/src/hover/render
FIXME: rust-lang/rust-analyzer/pull/12937#discussion_r937633695tools/rust-analyzer/crates/hir-expand/src/fixup
FIXME: rust-lang/rust/issues/112504ui/unsafe/unsafe_op_in_unsafe_fn/wrapping-unsafe-block-sugg
FIXME: rust-lang/rust/issues/119426rustc_lint/src/unused
FIXME: hygiene is not consideredrustc_resolve/src/late
FIXME: i64 is ok for g*/o* registers on SPARC-V8+ ("h" constraint in GCC)rustc_target/src/asm/sparc
FIXME: ideally `LocalKind` would carry more information to more accurately explain the problemui/borrowck/return-local-binding-from-desugaring
FIXME: ideally this would be a set of `BorrowIndex`, not `Place`srustc_borrowck/src/lib
FIXME: ideally this would handle type params and projections properly, for now just assume it's the same typetools/clippy/clippy_lints/src/indexing_slicing
FIXME: ideally we should only trigger a workspace fetch for non-library changestools/rust-analyzer/crates/rust-analyzer/src/global_state
FIXME: ideally we would "just" check the `cmd` itself, but it does not allow inspectingtools/compiletest/src/runtest
FIXME: ideally we would like to warn *if the complicated type can be simplified*, but it's hardtools/clippy/clippy_lints/src/types/mod
FIXME: ideally we would want to trim the def paths, but this is notrustc_mir_build/src/check_unsafety
FIXME: ideally we wouldn't have to do thisrustc_const_eval/src/interpret/cast
FIXME: ideally, we should look at the type we are matching against andtools/rust-analyzer/crates/ide-completion/src/completions/pattern
FIXME: ideally, we suggest 'a: 'b + 'c, but as of today (may 04, 2019), the null errorui/nll/outlives-suggestion-simple
Closed
FIXME: iftools/clippy/clippy_lints/src/same_name_method
FIXME: if `found` could be `impl Iterator` we should suggest thatrustc_hir_typeck/src/fn_ctxt/suggestions
FIXME: if indent_style != Visual, then the budgets below mighttools/rustfmt/src/items
FIXME: if the associated item is defined directly on the type aliasrustdoc/passes/collect_intra_doc_links
FIXME: if the issuing region `i` can reach a live region `r` at point `p`, and `r` isrustc_borrowck/src/dataflow
FIXME: if the main #[cfg] syntax decided to support non-string literalsrustdoc/clean/cfg
FIXME: if there were errors, this might've been in the eager expansion from antools/rust-analyzer/crates/hir-def/src/nameres/collector
FIXME: if this is an implied shortcut link, it's bad style to suggest `@`rustdoc/passes/collect_intra_doc_links
rustdoc/passes/collect_intra_doc_links
FIXME: if we call the functions in `std::ops`, we still get the panicstools/miri/tests/pass/overflow_checks_off
FIXME: if we ever support 512bit integers, this will be wrong! For such large integersrustc_codegen_ssa/src/base
FIXME: if we kept the original cache key, we could mark projectionrustc_trait_selection/src/traits/fulfill
FIXME: if we're managed by git, we should probably instead ask git if the given pathbootstrap/src/core/build_steps/dist
FIXME: if/when the output of the test harness can be tested on its own, this test should berustdoc-ui/doctest/failed-doctest-compile-fail
rustdoc-ui/doctest/failed-doctest-extra-semicolon-on-item
rustdoc-ui/doctest/failed-doctest-missing-codes
rustdoc-ui/doctest/failed-doctest-output-windows
rustdoc-ui/doctest/failed-doctest-output
rustdoc-ui/doctest/failed-doctest-should-panic-2021
rustdoc-ui/doctest/failed-doctest-should-panic
rustdoc-ui/remap-path-prefix-failed-doctest-output
rustdoc-ui/remap-path-prefix-invalid-doctest
rustdoc-ui/remap-path-prefix-passed-doctest-output
FIXME: implementtools/rust-analyzer/crates/ide-db/src/search
tools/rust-analyzer/crates/ide-db/src/search
FIXME: implement `-Clink-self-contained=+/-unwind,+/-sanitizers`, move the shipped libunwindrustc_metadata/src/native_libs
FIXME: implement dynamic types async dropsrustc_middle/src/ty/util
FIXME: implement higher kinded lifetime bounds on nested opaque types. They are notrustc_ty_utils/src/opaque_types
FIXME: implement in a way that also builds source map and calculates assoc resolutions in type inferencetools/rust-analyzer/crates/hir-def/src/body/lower
FIXME: implement on Redox, l4restd/src/sys/pal/unix/thread
FIXME: implement optimization to not instantiate a certain morphology ofrustc_middle/src/ty/util
FIXME: implement reading the thread function's return placetools/miri/src/shims/unix/thread
FIXME: implement this checkui/return/return-impl-trait-bad
FIXME: importtools/rust-analyzer/crates/hir-def/src/item_scope
FIXME: import is classified as functiontools/rust-analyzer/crates/ide/src/references
tools/rust-analyzer/crates/ide/src/references
FIXME: improve formatting: rust-lang/rust/issues/65280std/src/backtrace
FIXME: improve thistools/rust-analyzer/crates/ide-db/src/imports/insert_use
FIXME: in other suggestions we've reversed the inner spans of doc comments. Werustc_lint/src/lints
FIXME: incorrectly returns false when comment is contained completely withintools/rustfmt/src/expr
FIXME: initial AVX512VBMI variant didn't actually pass musterportable-simd/crates/core_simd/src/swizzle_dyn
FIXME: insert lifetime vars once LifetimeData::InferenceVartools/rust-analyzer/crates/hir-ty/src/infer/unify
FIXME: instead of having a separate function here, maybe usetools/rust-analyzer/crates/ide-assists/src/tests
FIXME: instead of splitting the shorthand, recursively trigger a rename of thetools/rust-analyzer/crates/ide-db/src/rename
FIXME: instead of storing the stringified expression, store `self` directly insteadrustdoc/clean/mod
FIXME: instead of this hard-coded list, we should check if `<adt>::iter`tools/clippy/clippy_utils/src/ty/mod
FIXME: intra-links resolve in their nearest module scope, not their actual scope in casesrustdoc/intra-doc/in-bodies
FIXME: investigate the `generic_const_exprs` test that triggers this issuerustc_borrowck/src/polonius/liveness_constraints
FIXME: investigate the impact of loans traversing applied member constraints and why somerustc_borrowck/src/dataflow
FIXME: investigate using a fixed-size array instead, as the maximum numberstd/src/sys/thread_local/key/windows
FIXME: invocations in semicolon-less expressions positions are expanded as expressionsrustc_expand/src/expand
FIXME: is it a problem to discard the error here?rustc_const_eval/src/const_eval/eval_queries
FIXME: is there a time when the lo and hi crate would be different?rustdoc/clean/types
FIXME: is there a way to only ensure `check::Rustc` here? Last time I tried it failedbootstrap/src/core/build_steps/doc
FIXME: is this true even if P is an adt with a dtor?rustc_borrowck/src/lib
FIXME: is_identity being on `UserType` and not `Canonical<UserType>` is awkwardrustc_hir_typeck/src/fn_ctxt/_impl
FIXME: it fails when type of `b` is `Box` with other generic param different from `receiver`tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unresolved_method
FIXME: it is probably better to have one large RefCell, than to have so many small onestools/miri/src/concurrency/data_race
FIXME: it may be preferable for kills to be encoded in the edges themselves, to simplify andrustc_borrowck/src/polonius/loan_liveness
FIXME: it might make sense to use an actual pointer type hererustc_codegen_llvm/src/debuginfo/metadata
FIXME: it should report `ext` not found because `SettingsExt`ui/imports/issue-114682-3
FIXME: it would be good to check that it's actually the rightmost flagsrun-make/override-aliased-flags/rmake
FIXME: it would be more efficient to use references to the token streamstools/rustfmt/src/macros
FIXME: it would be much nicer if we could just tell the remote-test-client to nottools/compiletest/src/runtest
FIXME: it would be nice for this to at least cause a warningui/sized/recursive-type-pass
FIXME: it would be nice to check that the feature gate was enabled in the original crate, not just ignore it altogetherrustdoc/passes/collect_intra_doc_links
FIXME: it would maybe be good to distinguish this from the alias type (when debug printing), and to show the substitutiontools/rust-analyzer/crates/hir-ty/src/display
FIXME: it would probably be better to not have casts here and use the properrustc_codegen_gcc/src/intrinsic/simd
FIXME: just call `WithHeader::alloc_layout` with size reset to 0alloc/src/boxed/thin
FIXME: keep track of thesetools/rust-analyzer/crates/hir-ty/src/chalk_db
FIXME: later on, it'd be nice to provide two links (if possible) for all itemsrustdoc/html/highlight
FIXME: let_chainsrustc_next_trait_solver/src/solve/assembly/structural_traits
rustc_next_trait_solver/src/solve/assembly/structural_traits
FIXME: lifetimesrustc_codegen_ssa/src/mir/mod
FIXME: lift these out into a structtools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: lift this lambda refactor to `fn` (rust-lang/rust-analyzer/pull/2834#discussion_r366199205)tools/rust-analyzer/crates/syntax/src/validation
FIXME: like above, this is incorrect for some byte valuescore/benches/ascii
FIXME: like, real html escapingtools/rust-analyzer/crates/ide/src/syntax_highlighting/html
FIXME: lint here recommending `Enum::<...>::Variant` formrustc_hir_analysis/src/hir_ty_lowering/mod
FIXME: macro allows no arg -> is valid. But assist should result in invalid codetools/rust-analyzer/crates/ide-assists/src/handlers/destructure_tuple_binding
FIXME: macro args are finetools/clippy/tests/ui/manual_str_repeat
FIXME: macro calls should be checkedtools/clippy/tests/ui-toml/absolute_paths/absolute_paths
FIXME: macrostools/rust-analyzer/crates/ide-diagnostics/src/handlers/mutability_errors
FIXME: macros in statement position are treated as expression statements, they shouldtools/rust-analyzer/crates/hir-expand/src/lib
FIXME: macros, see `expr_id`tools/rust-analyzer/crates/hir/src/source_analyzer
FIXME: make Size::from_bytes consttools/miri/src/concurrency/range_object_map
FIXME: make facilities to test this directly like `tests::check_infer(..)`tools/rust-analyzer/crates/ide-diagnostics/src/handlers/missing_match_arms
FIXME: make the lang item generic checks check for the right generic *kindrustc_hir_typeck/src/check
FIXME: make this a diagnostic itemtools/clippy/clippy_lints/src/casts/cast_possible_truncation
FIXME: make this a per-crate map, as, eg, build.rs might have atools/rust-analyzer/crates/project-model/src/workspace
FIXME: make this a proper lintrustc_resolve/src/late/diagnostics
FIXME: make this string translatablerustc_middle/src/ty/context
FIXME: make this translatablerustc_ast_passes/src/feature_gate
rustc_borrowck/src/diagnostics/region_errors
rustc_borrowck/src/diagnostics/region_errors
rustc_borrowck/src/diagnostics/region_errors
rustc_borrowck/src/diagnostics/region_errors
rustc_const_eval/src/check_consts/ops
rustc_const_eval/src/check_consts/ops
rustc_expand/src/base
rustc_lint/src/levels
rustc_lint/src/lints
rustc_lint/src/lints
rustc_lint/src/lints
rustc_lint/src/lints
rustc_metadata/src/errors
rustc_metadata/src/errors
rustc_metadata/src/native_libs
rustc_middle/src/middle/stability
FIXME: make this work in attributestools/rust-analyzer/crates/ide/src/hover
FIXME: make this work in macro filestools/rust-analyzer/crates/ide-assists/src/handlers/replace_derive_with_manual_impl
FIXME: make this work on windows (gnu and msvc). See the PRrun-make/naked-symbol-visibility/rmake
FIXME: make this work with `|| $0`tools/rust-analyzer/crates/ide-completion/src/context/tests
FIXME: may also be stabilized for Rust 2015 (Issues #45477, #44660)rustc_resolve/src/diagnostics
Closed Closed Closed
FIXME: maybe have a separate version for resolving mir::UnevaluatedConst?rustc_middle/src/mir/interpret/queries
FIXME: maybe use the system allocator instead?std/src/sys/thread_local/destructors/list
FIXME: maybe we actually want slightly different ranges for the different macro diagnosticstools/rust-analyzer/crates/hir/src/lib
FIXME: maybe we should store the "no response" version in cx, likerustc_next_trait_solver/src/solve/mod
FIXME: maybe wrong?tools/rust-analyzer/crates/hir-ty/src/infer/unify
FIXME: mention it in the docs for `as_mut` and `as_uninit_mut` once stabilizedcore/src/ptr/mut_ptr
FIXME: mention it in the docs for `as_ref` and `as_uninit_ref` once stabilizedcore/src/ptr/const_ptr
core/src/ptr/mut_ptr
FIXME: merge with `DocCommentDoesNotDocumentAnything` (E0585)rustc_parse/src/parser/item
FIXME: migrate fluent::lint::builtin_asm_labelsrustc_lint/src/lints
FIXME: migrate remaining uses to `generate_impl`tools/rust-analyzer/crates/ide-assists/src/utils
FIXME: migrate remaining uses to `generate_trait_impl_intransitive`tools/rust-analyzer/crates/ide-assists/src/utils
FIXME: migrate remaining uses to `generate_trait_impl`tools/rust-analyzer/crates/ide-assists/src/utils
FIXME: migration of this diagnostic will require list supportrustc_mir_build/src/thir/pattern/check_match
FIXME: missing Rust patches is not the same as being system llvm; we should rename the flag at some pointbootstrap/src/core/build_steps/test
FIXME: more platforms?ui/process/env-null-vars
FIXME: move these to libc (except Haiku, that one needs to link to libbsd.so)std/src/sys/random/arc4random
FIXME: move this file to rustc_metadata::dependency_format, butrustc_middle/src/middle/dependency_format
FIXME: move this function to outer scope (rust-lang/rust-analyzer/pull/2834#discussion_r366196658)tools/rust-analyzer/crates/syntax/src/validation
FIXME: move this into `Lit` and handle negated literal expressionsrustc_hir/src/hir
FIXME: move this to the `rustc_abi`tools/rust-analyzer/crates/hir-ty/src/layout
FIXME: mutable patterns should have `Write` accesstools/rust-analyzer/crates/ide-db/src/search
FIXME: nasty alloc, this is a hot path!tools/rust-analyzer/crates/ide-completion/src/completions/flyimport
FIXME: need to check whether the assigned object can be a raw pointer, see `tests/ui/borrowck/issue-20801.rs`rustc_borrowck/src/diagnostics/move_errors
Closed
FIXME: needed? Doesn't get exercised in any testrustc_errors/src/emitter
FIXME: needs to be pub to be accessed by downstreamrustc_next_trait_solver/src/solve/eval_ctxt/canonical
FIXME: needs translationrustc_query_system/src/query/job
FIXME: never typetools/rust-analyzer/crates/parser/src/grammar/items/traits
FIXME: nfc-normalize and validate identstools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/token_id
FIXME: no tests trigger this. If you find example code that doesrustc_hir_analysis/src/check/compare_impl_item
FIXME: no_std Cfg?tools/rust-analyzer/crates/hir-ty/src/display
FIXME: non-trait assoc items completion is unsupported yet, see FIXME in the import_assets.rs for more detailstools/rust-analyzer/crates/ide-assists/src/handlers/qualify_path
FIXME: none of these functions interact with source level attributesrustc_codegen_llvm/src/attributes
FIXME: normalization and escaping regionsrustc_hir_typeck/src/fn_ctxt/mod
FIXME: not all box patterns should be allowedtools/rust-analyzer/crates/parser/src/grammar/patterns
FIXME: not every function, ... is actually an assoc item. maybe we should maketools/rust-analyzer/crates/hir-def/src/lib
FIXME: not suggestable, use something elserustc_hir_typeck/src/fn_ctxt/checks
FIXME: not sure how to make sure all variants of Error are coveredstd/src/sys/pal/sgx/abi/usercalls/mod
std/src/sys/pal/sgx/mod
FIXME: now that we handle DUMMY_SP up above, we should considerrustc_span/src/source_map
FIXME: on mips/mips64 getauxval returns 0, and /proc/self/auxvtools/rustfmt/tests/source/cfg_if/detect/os/linux/auxvec
tools/rustfmt/tests/target/cfg_if/detect/os/linux/auxvec
FIXME: once we start storing spans for type arguments, turn thisrustc_hir_analysis/src/check/check
FIXME: only emit the edges of universal regions that existential regions can reachrustc_borrowck/src/polonius/liveness_constraints
FIXME: only remove `libc` when `stdbuild` is enabledrustc_passes/src/stability
FIXME: only until we can resolve them correctly, see FIXME abovetools/rust-analyzer/crates/ide-db/src/search
FIXME: only used by miri, should be removed once translatablerustc_const_eval/src/interpret/stack
FIXME: panic here when we actually implement specializationtools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
FIXME: panic!?tools/rust-analyzer/crates/parser/src/parser
FIXME: param coveragetools/rust-analyzer/crates/hir-ty/src/method_resolution
FIXME: pass a proper `opt_match_place`rustc_mir_build/src/builder/matches/mod
FIXME: pass an additional condition through from the placerustc_parse/src/parser/expr
FIXME: path concatenation operation doesn't make sense as AST optools/rust-analyzer/crates/syntax/src/ast/make
FIXME: perf problem described in #55921rustc_infer/src/infer/canonical/canonicalizer
rustc_infer/src/infer/canonical/canonicalizer
Closed
FIXME: perhaps this could use `std::lazy` when it is stabilizedtools/suggest-tests/src/static_suggestions
FIXME: perhaps use `all_fields` and expose `FieldDef`rustc_type_ir/src/inherent
FIXME: platform-specific code should be moved to `sys`tools/tidy/src/pal
FIXME: please improve this when we get monomorphization supportui/mir/mir_raw_fat_ptr
FIXME: point at the type params that don't have appropriate lifetimesrustc_hir_analysis/src/hir_ty_lowering/bounds
rustc_hir_analysis/src/hir_ty_lowering/dyn_compatibility
FIXME: pretty-printer loses the attribute. `{ let Struct { field } = s; }`ui-fulldeps/pprust-parenthesis-insertion
FIXME: pretty-printer produces invalid syntax. `2 + 2 as T < U`ui-fulldeps/pprust-parenthesis-insertion
FIXME: pretty-printer produces invalid syntax. `for _ in 1..{ 2 } {}`ui-fulldeps/pprust-parenthesis-insertion
FIXME: pretty-printer produces invalid syntax. `if (let _ = () && Struct {}.x) {}`ui-fulldeps/pprust-parenthesis-insertion
FIXME: pretty-printer turns this into a range. `0..to_string()`ui-fulldeps/pprust-parenthesis-insertion
FIXME: probe for all types that *could* be arbitrary self-types, notrustc_hir_typeck/src/method/suggest
FIXME: properly type (e.g. usize and fn pointers) the fieldsrustc_middle/src/ty/layout
FIXME: put #[primary_span] on `ptr_span` once it does not cause conflictsrustc_lint/src/lints
FIXME: quickfix for patterntools/rust-analyzer/crates/ide-diagnostics/src/handlers/no_such_field
FIXME: quickfix to add required visibilitytools/rust-analyzer/crates/ide-diagnostics/src/handlers/no_such_field
FIXME: re-enable emscripten once it can unwind againalloc/tests/collections/binary_heap
alloc/tests/vec
FIXME: re-enabled openbsd tests once their socket timeout codestd/src/net/tcp/tests
FIXME: re-enabled openbsd/netbsd tests once their socket timeout codestd/src/net/udp/tests
FIXME: really it should be `resolution_failure` that does this, not `resolve_with_disambiguator`rustdoc/passes/collect_intra_doc_links
FIXME: recommend `addr()` instead of `as usize` once that is stablecore/src/ptr/const_ptr
core/src/ptr/mut_ptr
core/src/ptr/non_null
FIXME: reconsider how to treat these invalid typestools/rust-analyzer/crates/hir-ty/src/tests/traits
FIXME: record type error - expected mut reference but found shared reftools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: record type error - expected reference but found ptrtools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: relay undef bytes to codegen as undef const bytesrustc_codegen_gcc/src/consts
rustc_codegen_gcc/src/consts
FIXME: remove `!binding.is_ambiguity_recursive()` after delete the warning ambiguityrustc_resolve/src/imports
FIXME: remove `def_span` body, pass in the right spans here and call `tcx.at().create_def()`rustc_resolve/src/lib
FIXME: remove all these methods, they belong to ast::StmtListtools/rust-analyzer/crates/syntax/src/ast/node_ext
FIXME: remove once rust-lang/rust/issues/112393 is resolvedbootstrap/src/core/build_steps/check
FIXME: remove special casing for `test`rustc_passes/src/stability
FIXME: remove the `mutated_bindings_in_closure` completely and add proper fake reads intools/rust-analyzer/crates/hir-ty/src/infer/closure
FIXME: remove the suggestions that are from derive, as the span is not correctrustc_middle/src/ty/diagnostics
FIXME: remove thistools/rust-analyzer/crates/ide-completion/src/render
FIXME: remove this branch once `structurally_relate_consts` is fullyrustc_infer/src/infer/relate/generalize
FIXME: remove this fieldtools/rust-analyzer/crates/hir-ty/src/infer
FIXME: remove this function once pulldown_cmark can provide spans for link definitionsrustdoc/html/markdown
rustdoc/passes/lint/redundant_explicit_links
FIXME: remove this function. Monomorphization is a time consuming job and should always be a querytools/rust-analyzer/crates/hir-ty/src/mir/monomorphization
FIXME: remove this hack once rust-lang/rust/issues/79738 is fixedrustc_mir_transform/src/gvn
rustc_mir_transform/src/gvn
rustc_mir_transform/src/gvn
FIXME: remove this hack once that issue is fixedrustc_mir_transform/src/gvn
FIXME: remove this unwraprustc_middle/src/mir/graphviz
FIXME: remove this when `const_evaluatable_unchecked` is a hard errorrustc_trait_selection/src/traits/mod
FIXME: remove this when minimal llvm is 19bootstrap/src/core/build_steps/llvm
FIXME: remove this whole recurse thing when the recursion bug is fixedrustdoc/html/render/search_index
FIXME: remove when no one depends on `generate_impl_text_inner`tools/rust-analyzer/crates/syntax/src/ast/make
FIXME: replace `(t).0` with `_0`tools/rust-analyzer/crates/ide-assists/src/handlers/destructure_tuple_binding
tools/rust-analyzer/crates/ide-assists/src/handlers/destructure_tuple_binding
FIXME: replace `t.0` in macro call (not IN macro) with `_0`tools/rust-analyzer/crates/ide-assists/src/handlers/destructure_tuple_binding
FIXME: replace `t.0` in macro call with `_0`tools/rust-analyzer/crates/ide-assists/src/handlers/destructure_tuple_binding
FIXME: replace `t.0` with `_0`tools/rust-analyzer/crates/ide-assists/src/handlers/destructure_tuple_binding
FIXME: replace `t.0` with `_0` (cannot detect range of tuple index in macro call)tools/rust-analyzer/crates/ide-assists/src/handlers/destructure_tuple_binding
FIXME: replace above check_prepare with this once we resolve to usages to extern cratetools/rust-analyzer/crates/ide/src/rename
FIXME: replace above check_prepare with this once we resolve to usages to extern crate declarationstools/rust-analyzer/crates/ide/src/rename
tools/rust-analyzer/crates/ide/src/rename
tools/rust-analyzer/crates/ide/src/rename
FIXME: replace parents with partstools/rust-analyzer/crates/hir-ty/src/mir/eval
FIXME: replace stringly-typed constructor with a family of typed ctors, a-latools/rust-analyzer/crates/syntax/src/ast/make
FIXME: replace usages of this with the mutable syntax tree APItools/rust-analyzer/crates/syntax/src/ast/make
FIXME: replace with a `ast::make` constructortools/rust-analyzer/crates/ide-assists/src/handlers/extract_struct_from_enum_variant
tools/rust-analyzer/crates/ide-assists/src/handlers/extract_type_alias
FIXME: replace with let chain once it becomes stabletools/rust-analyzer/crates/hir-ty/src/mir/lower
FIXME: replace with mathematical constants from cmathcore/src/num/f128
core/src/num/f16
core/src/num/f32
core/src/num/f64
FIXME: replace with proper minicore once available (#130693)run-make/avr-rjmp-offset/avr-rjmp-offsets
Closed
FIXME: replacement span is corrupted due to a collision in metavar span tableui/rust-2018/edition-lint-inter-outlives/edition-lint-infer-outlives-macro
ui/rust-2018/edition-lint-inter-outlives/edition-lint-infer-outlives-macro
FIXME: report diagnostic if array unsizing happens without indirectiontools/rust-analyzer/crates/hir-ty/src/method_resolution
FIXME: report errortools/rust-analyzer/crates/hir-ty/src/lower
tools/rust-analyzer/crates/hir-ty/src/lower
tools/rust-analyzer/crates/hir-ty/src/lower
FIXME: report error (associated type not found)tools/rust-analyzer/crates/hir-ty/src/lower
FIXME: report error (yield expr in non-coroutine)tools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: report error when there are more than 1 parametertools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: report error, invalid Self referencetools/rust-analyzer/crates/hir-ty/src/infer/path
FIXME: report error, unresolved first path segmenttools/rust-analyzer/crates/hir-ty/src/infer/path
FIXME: require passing an NT to prevent misuse of this methodrustc_parse/src/parser/attr_wrapper
FIXME: requires ForTypes to be implementedtools/rust-analyzer/crates/ide/src/goto_definition
FIXME: requires an internet connection rust-lang/rust/issues/128733run-make/thumb-none-cortex-m/rmake
FIXME: requires db, more importantly this requires name resolution so we would need totools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span
FIXME: requires lazy normalizationui/associated-type-bounds/fn-inline
ui/associated-type-bounds/fn-wrap-apit
ui/associated-type-bounds/struct-bounds
FIXME: requires the HIR to somehow track these hrtb lifetimestools/rust-analyzer/crates/ide/src/goto_definition
FIXME: resolve type aliases (which are not yielded by iterate_path_candidates)tools/rust-analyzer/crates/hir/src/attrs
FIXME: respect diff_commandtools/compiletest/src/runtest
FIXME: restore thistools/rust-analyzer/xtask/src/codegen/grammar
FIXME: return `0` for at least some comparisons where we can reliablyrustc_const_eval/src/const_eval/machine
FIXME: return a `1` for when both sides are the same pointer, *except* thatrustc_const_eval/src/const_eval/machine
FIXME: reuse the logic for "change args" suggestion to account for typesrustc_hir_typeck/src/method/suggest
FIXME: rewrite this with `child.stdin.write_all()` becauserustc_codegen_gcc/build_system/src/test
FIXME: root_expr should always be the body.body_expr, but since `X` in `[(); X]` doesn't have its own specific body yet, wetools/rust-analyzer/crates/hir-ty/src/mir/lower
FIXME: run-rustfix waiting on multi-span suggestionstools/clippy/tests/ui/needless_borrow_pat
tools/clippy/tests/ui/ref_binding_to_reference
FIXME: rustc and rustdoc are considered tools for lints, but not for attributesrustc_lint/src/context
FIXME: rustc does something better for recoverytools/rust-analyzer/crates/parser/src/lexed_str
FIXME: rustc generates E0107 (incorrect number of generic arguments) and nottools/rust-analyzer/crates/hir-ty/src/lower
FIXME: rustc's coerce_unsized is more specialized -- it only tries totools/rust-analyzer/crates/hir-ty/src/infer/coerce
FIXME: rustc's ty is dependent on the adt type, maybe we need to do that as welltools/rust-analyzer/crates/hir-ty/src/builder
FIXME: rustdoc documents these two using just `pointer`tools/clippy/clippy_utils/src/lib
FIXME: rustfmt and tidy disagree about the correct formatting of thisstd/src/io/buffered/tests
FIXME: say something about `metadata`std/src/os/fortanix_sgx/io
FIXME: say something more useful than "almost the same"?core/src/ptr/mod
FIXME: see <rust-lang/rust/issues/132353mir-opt/gvn_copy_aggregate
FIXME: see <rust-lang/rust/issues/132353>codegen/clone_as_copy
mir-opt/gvn_clone
mir-opt/pre-codegen/clone_as_copy
FIXME: see FIXME in compiler/rustc_target/src/asm/sparc.rsui/asm/sparc/bad-reg
FIXME: seems like x87 does not exist?rustc_codegen_gcc/src/gcc_util
FIXME: separate out the code to make a code block into runnable coderustdoc/html/markdown
FIXME: set these flags correctlytools/rust-analyzer/crates/hir-ty/src/chalk_db
FIXME: sgx uses default_read_buf that initializes the bufferstd/src/net/tcp/tests
FIXME: shadowingtools/rust-analyzer/crates/hir-def/src/item_scope
tools/rust-analyzer/crates/hir-def/src/nameres/path_resolution
FIXME: should also add support for the case fun(f: &Foo) -> &$0Footools/rust-analyzer/crates/ide-assists/src/handlers/introduce_named_lifetime
FIXME: should also work in ADT definitionstools/rust-analyzer/crates/ide-assists/src/handlers/inline_type_alias
FIXME: should betools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: should be IntMap<FileId, Vec<ra_id::Diagnostic>>tools/rust-analyzer/crates/rust-analyzer/src/diagnostics
FIXME: should be Vec<flycheck::Diagnostic>tools/rust-analyzer/crates/rust-analyzer/src/diagnostics
FIXME: should be allowed for sparcv8plus but not yet supported in LLVMassembly/asm/sparc-types
assembly/asm/sparc-types
assembly/asm/sparc-types
FIXME: should be rejectedui/abi/sparcv8plus
FIXME: should be run-rustfix, but rustfix doesn't currently support multipart suggestions, seeui/lint/unused/issue-67691-unused-field-in-or-pattern
FIXME: should be talking about the region lifetime insteadrustc_borrowck/src/lib
FIXME: should be the range of the macro name, not the whole derivetools/rust-analyzer/crates/hir-expand/src/lib
FIXME: should errorui/lint/dangling-pointers-from-temporaries/calls
FIXME: should error but doesn't because as soon as there's a single glob import error, weui/imports/import-from-missing-star-3
ui/imports/import-from-missing-star-3
FIXME: should have a #[recollect_attr] attribute here and assert that it worksui/proc-macro/attribute-with-error
FIXME: should have a type error here and assert it works but it doesn'tui/proc-macro/attribute-with-error
FIXME: should linttools/clippy/tests/ui/transmute
FIXME: should not be callable from Rust on GPU targets, is for host's use onlyrustc_abi/src/extern_abi/mod
FIXME: should not be pubtools/rust-analyzer/crates/syntax/src/ast/make
FIXME: should not expand. legacy macro scoping is not implementedtools/rust-analyzer/crates/hir-def/src/nameres/tests/macros
FIXME: should not see `NotFoundBefore`tools/rust-analyzer/crates/hir-def/src/nameres/tests/macros
FIXME: should not use shell command!rustc_codegen_gcc/build_system/src/build
FIXME: should only show lifetimes here, that is we shouldn't get any completions here when not typingtools/rust-analyzer/crates/ide-completion/src/tests/predicate
FIXME: should suggest removing `ref` tooui/suggestions/dont-suggest-ref/move-into-closure
ui/suggestions/dont-suggest-ref/move-into-closure
ui/suggestions/dont-suggest-ref/move-into-closure
ui/suggestions/dont-suggest-ref/move-into-closure
ui/suggestions/dont-suggest-ref/move-into-closure
ui/suggestions/dont-suggest-ref/simple
ui/suggestions/dont-suggest-ref/simple
ui/suggestions/dont-suggest-ref/simple
ui/suggestions/dont-suggest-ref/simple
ui/suggestions/dont-suggest-ref/simple
ui/suggestions/dont-suggest-ref/simple
FIXME: should this be a flag?tools/rust-analyzer/crates/hir-def/src/data/adt
FIXME: should this handle tools that never register a lint, like rustfmt?rustc_lint/src/context
FIXME: should update code to not require this env varbootstrap/src/core/builder/cargo
FIXME: should use the dependency name instead if available, but that depends ontools/rust-analyzer/crates/hir-ty/src/display
FIXME: should we allow an ordinal of 0? The MSVC toolchain has inconsistent support forrustc_codegen_ssa/src/codegen_attrs
FIXME: should we also account for binops, particularly `&&` and `||`? `try` shouldrustc_borrowck/src/diagnostics/conflict_errors
FIXME: should we also skip `UnsafeCell` behind shared references? Currently that is notrustc_const_eval/src/interpret/validity
FIXME: should we cache `const_data_from_alloc` to avoid repeating this for therustc_codegen_ssa/src/mir/operand
FIXME: should we check for validity here? It's tricky because we do not have atools/miri/src/intrinsics/mod
FIXME: should we do something on wasi?tools/miri/src/shims/tls
FIXME: should we forbid "neon" here? But that would be a breaking changerustc_target/src/target_features
FIXME: should we have a cache so we don't do this multiple times for the same `ConstAllocation`?rustc_codegen_cranelift/src/constant
FIXME: should we merge the outer and inner binders somehow?rustdoc/clean/mod
FIXME: should we provide `self` here?tools/rust-analyzer/crates/hir-def/src/resolver
FIXME: should we shrink the size of `buffer` using niche optimization?core/src/iter/adapters/map_windows
FIXME: should we use `inject_hidden_type_unchecked` here?rustc_next_trait_solver/src/solve/normalizes_to/opaque_types
FIXME: should we worry about the count overflowing? The only way to have more thancore/src/iter/traits/iterator
FIXME: signedtools/rust-analyzer/crates/hir-ty/src/mir/eval/shim
tools/rust-analyzer/crates/hir-ty/src/mir/eval/shim
tools/rust-analyzer/crates/hir-ty/src/mir/eval/shim
tools/rust-analyzer/crates/hir-ty/src/mir/eval/shim
tools/rust-analyzer/crates/hir-ty/src/mir/eval/shim
tools/rust-analyzer/crates/hir-ty/src/mir/eval/shim
FIXME: simd_relaxed_fma doesn't relax to non-fused multiply-addrustc_codegen_cranelift/src/intrinsics/simd
FIXME: similarly, we should call function here, not directly working with memorytools/rust-analyzer/crates/hir-ty/src/mir/eval
FIXME: some of these should probably be read-only or write-onlystd/src/sys/pal/wasi/fs
FIXME: some semantic duplication between "empty vec" and "Err()"tools/rust-analyzer/crates/ide/src/rename
FIXME: some suggestions don't actually need the snippet; see PR #123877's unresolved conversationsrustc_parse/src/parser/pat
Closed
FIXME: some targets are broken in various waysui/abi/compatibility
FIXME: something like `Split` trait from chalk-solve might be nicetools/rust-analyzer/crates/hir-ty/src/chalk_ext
FIXME: source call should go through the parse cachetools/rust-analyzer/crates/hir/src/semantics
FIXME: spans are brokentools/rust-analyzer/crates/ide-diagnostics/src/handlers/moved_out_of_ref
FIXME: sparc_cpu_v9 should be in "-v8plus,+v9" group (fixed in LLVM 20)ui/abi/sparcv8plus
FIXME: spec the JSON output properlyrustc_errors/src/json
FIXME: special case `(` error messagetools/rust-analyzer/crates/parser/src/grammar/items/adt
FIXME: special case type aliases, we can't filter between impl and trait defs here as we lack the substitutionstools/rust-analyzer/crates/ide-db/src/search
FIXME: split the following feature into fine-grained featurestools/rust-analyzer/crates/ide-completion/src/lib
FIXME: stable rust doesn't allow generics in constants, but we shouldtools/rust-analyzer/crates/hir-def/src/lib
FIXME: standard handles cannot be closed (rust-lang/rust/issues/40032)tools/miri/tests/fail-dep/libc/fs/close_stdout
FIXME: still needed? Kept for compatibility for nowtools/rust-installer/src/scripter
tools/rust-installer/src/scripter
FIXME: supply non-"" `opt_via` when appropriaterustc_borrowck/src/diagnostics/conflict_errors
FIXME: support adding the attribute to TAITsrustc_mir_transform/src/coroutine
FIXME: support extracting return code as an i64std/src/sys/pal/unix/process/process_fuchsia
FIXME: support indirect referencestools/rust-analyzer/crates/hir-ty/src/mir/eval
FIXME: support unsized params in "rust-call" ABIrustc_codegen_ssa/src/mir/mod
FIXME: switch to something more ergonomic here, once availabletools/clippy/clippy_lints/src/lib
tools/clippy/clippy_utils/src/lib
tools/clippy/src/driver
FIXME: test hangs on emscriptenui/std/thread-sleep-ms
FIXME: that being said, we need to investigate these cases better to not ignore regionsrustc_borrowck/src/polonius/liveness_constraints
FIXME: the cc-rs crate only recognizes the literal stringsbootstrap/src/core/builder/cargo
FIXME: the compiled binary is not runrustc_codegen_gcc/build_system/src/test
FIXME: the error is correct, but the message is terribletools/rust-analyzer/crates/ide-diagnostics/src/handlers/break_outside_of_loop
FIXME: the error is pretty bad, this should sayui/implied-bounds/hrlt-implied-trait-bounds-guard
FIXME: the following cases need to suggest more things to make users reach a working end stateui/suggestions/impl-on-dyn-trait-with-implicit-static-bound-needing-more-suggestions
FIXME: the following components don't build with `-Zrandomize-layout` yetbootstrap/src/core/builder/cargo
FIXME: the function can be simplified again when #48994 is closedalloc/src/string
Open
FIXME: the guard against msvc shouldn't need to be herebootstrap/src/core/builder/cargo
FIXME: the intrinsics like _mm_mask_fmadd_sd should probably directly call the GCCrustc_codegen_gcc/src/intrinsic/llvm
FIXME: the last function (`fn i()`) is not valid Rust as of this writing because you cannottools/rust-analyzer/crates/hir-ty/src/tests/traits
FIXME: the lexer could be used to turn the ASCII version of unicoderustc_parse/src/lexer/mod
FIXME: the lexer could be used to turn the ASCII version of unicode homoglyphs, instead ofrustc_parse/src/lexer/unicode_chars
FIXME: the name `<recur_type>` does not fit the naming schemerustc_codegen_llvm/src/debuginfo/metadata
FIXME: the old names for rustdoc lints should warn by default once `rustdoc::` makes it to theui/lint/rustdoc-renamed
FIXME: the second rule of the macro should be removed and an error abouttools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/mbe/regression
FIXME: the structure was necessary in the past but now itrustc_middle/src/hir/map/mod
FIXME: the three next warnings are about <pre> elements which are not supposed totools/html-checker/main
FIXME: the trivia skipping should not be necessarytools/rust-analyzer/crates/hir/src/semantics
FIXME: the {unknown} is a bugtools/rust-analyzer/crates/hir-ty/src/tests/simple
FIXME: there is no way to disambiguate theserustdoc/intra-doc/associated-items
FIXME: there is some leak heretools/rust-analyzer/crates/hir-ty/src/mir/eval
FIXME: there should be a better way of doing this thanrustc_resolve/src/imports
FIXME: there was an unused SyntaxErrorKind previously (before this enum was removed)tools/rust-analyzer/crates/syntax/src/syntax_error
FIXME: there's no good reason to use edit_map heretools/rust-analyzer/crates/rust-analyzer/src/diagnostics/to_proto
FIXME: there’s multiple of this functions, investigate using some of the already existingrustc_codegen_ssa/src/mir/intrinsic
FIXME: these are not perfectly accurate, we determine them by the real file's syntax treetools/rust-analyzer/crates/ide/src/syntax_highlighting
FIXME: these assertions fail if only x87 is enabledui/float/int-to-float-miscompile-issue-105626
FIXME: these rounds should be different, but only `.round()` is stable nowtools/rust-analyzer/crates/hir-ty/src/mir/eval/shim
tools/rust-analyzer/crates/hir-ty/src/mir/eval/shim
FIXME: these should probably recurse and typecheck along the wayrustc_lint/src/dangling
FIXME: these two should *fail* because they can't be fixed by fixing the glob import in `foo`ui/imports/import-from-missing-star-2
FIXME: this *somehow* should be platform agnostictools/rust-analyzer/crates/base-db/src/lib
FIXME: this actually works OK under rustctools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/mbe/matching
FIXME: this also currently discards a lot of whitespace in the input... we really need a formatter heretools/rust-analyzer/crates/ide-diagnostics/src/handlers/missing_fields
FIXME: this approach is subtle, complicated, and hard to test, so we should trackrustc_borrowck/src/polonius/typeck_constraints
FIXME: this badly needs rename/rewrite (matklad, 2020-02-06)tools/rust-analyzer/crates/ide-db/src/defs
Closed
FIXME: this bottom up traversal is not too precisetools/rust-analyzer/crates/hir-def/src/path/lower
FIXME: this branch is for `=>` in macro_rules!, which is currently parsed astools/rust-analyzer/crates/syntax-bridge/src/prettify_macro_expansion
FIXME: this can use some more human-readable format (ideally, an IRtools/rust-analyzer/crates/hir-def/src/nameres
FIXME: this case need more work to fixui/parser/issues/issue-68987-unmatch-issue-2
FIXME: this case overlaps with code in TyCtxt::note_and_explain_type_errrustc_middle/src/ty/diagnostics
rustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: this code is not covered in teststools/rust-analyzer/crates/hir/src/lib
tools/rust-analyzer/crates/hir/src/lib
tools/rust-analyzer/crates/hir-ty/src/lower
FIXME: this condition seems wrong: it will pass when both types are notrustc_codegen_gcc/src/builder
FIXME: this could be *much* more efficienttools/rustfmt/src/macros
FIXME: this could include parameters, but `HirDisplay` prints too much infotools/rust-analyzer/crates/ide/src/inlay_hints/closing_brace
FIXME: this could use a better heuristic, like just checkingrustc_trait_selection/src/error_reporting/traits/fulfillment_errors
FIXME: this doesn't account for trivial derefs, but works as a firstrustc_trait_selection/src/error_reporting/traits/fulfillment_errors
FIXME: this doesn't cover `--set` flags yetbootstrap/src/core/config/config
FIXME: this doesn't quite work for `Iterator::collect`rustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: this doesn't really belong in `associated_item` (maybe `variant_field` is better?)rustdoc/passes/collect_intra_doc_links
FIXME: this doesn't respect `#[allow(..)]` on the item itselfrustc_lint/src/nonstandard_style
FIXME: this doesn't test as much as I'd like; ideally it would have these query toorustdoc/task-lists
FIXME: this doesn't work due to freestrings/jsonpath/issues/91rustdoc-json/impls/auto
FIXME: this doesn't work well with macrostools/rust-analyzer/crates/ide-assists/src/handlers/extract_function
FIXME: this doesn't work with recursive subpats (`&mut &mut <err>`)rustc_parse/src/parser/pat
FIXME: this doesn't work yetui/specialization/specialization-supertraits
FIXME: this exposes the provenance, which shouldn't be necessaryrustc_codegen_ssa/src/mir/rvalue
rustc_codegen_ssa/src/mir/rvalue
FIXME: this feels, like, super dubiousrustc_hir_typeck/src/method/confirm
FIXME: this field makes Context extra-weird about unwind safetycore/src/task/wake
FIXME: this function should not suggest the `foo` functionui/stability-attribute/issue-109177
FIXME: this happens with macro calls. Need to figure out why the stmtrustc_hir_typeck/src/fn_ctxt/suggestions
rustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: this has false negatives, but I do not want to deal with 'static/const promotion just yetrustc_lint/src/dangling
FIXME: this impl is concise, but is also slow for long lists or many threadsstd/src/sync/once_lock
FIXME: this implementation is insufficiently robust to replace bootstrap's clean `rm_rf`build_helper/src/fs/mod
FIXME: this information should be gotten by checking the linker flavorbootstrap/src/utils/helpers
FIXME: this is a correctness problem but there's no suitabletools/clippy/clippy_lints/src/non_copy_const
tools/clippy/clippy_lints/src/non_copy_const
FIXME: this is a distinct type because we need to define `Encode`/`Decode`rustc_type_ir/src/ty_kind
FIXME: this is a hack to get around chalk not being able to represent unevaluatabletools/rust-analyzer/crates/hir-def/src/hir/type_ref
tools/rust-analyzer/crates/hir-ty/src/lib
tools/rust-analyzer/crates/hir-ty/src/lib
FIXME: this is a hack!tools/miri/src/shims/native_lib
FIXME: this is a hacky function which should be removedtools/rust-analyzer/crates/hir-def/src/hir
FIXME: this is a terrible abstraction-breaking hackrustc_codegen_cranelift/src/intrinsics/simd
FIXME: this is a vague explanation for why this can't be a `get`, inrustdoc/html/render/write_shared
FIXME: this is an unfortunate representation. rustdoc's logic around consts needs to be improvedrustdoc/clean/types
FIXME: this is bad! rust-lang/rust/issues/115666rustc_target/src/callconv/wasm
rustc_target/src/callconv/wasm
FIXME: this is clearly a hack, and should be cleaned upstd/src/sys/thread_local/key/racy
FIXME: this is gonna need to be removedrustc_trait_selection/src/traits/mod
FIXME: this is horribly inefficient. I bet there's a cool algorithm to diff trees properlytools/rust-analyzer/crates/ide-db/src/syntax_helpers/tree_diff
FIXME: this is incorrect for some byte valuescore/benches/ascii
FIXME: this is not entirely correct, as the lifetimes from borrowed params willrustc_hir_analysis/src/check/mod
FIXME: this is not how we should get a mod path heretools/rust-analyzer/crates/hir/src/attrs
FIXME: this is not totally accurate, but mostly worksrustc_resolve/src/late/diagnostics
FIXME: this is obviously suboptimal since the name can already be usedrustc_hir_analysis/src/check/compare_impl_item
FIXME: this is only mutation of UnstableOptions here, move intorustc_session/src/config
FIXME: this is probably not correct for multi-line Rewrites. we shouldtools/rustfmt/src/expr
FIXME: this is ruled out for now but should workui/type-alias-impl-trait/type-alias-impl-trait-fn-type
FIXME: this is showing error messages for parts of the code that are notrustdoc/html/render/span_map
FIXME: this is still a lossy conversion and there should probablyrustdoc/html/format
FIXME: this is technically incorrect (see `write_shared`)run-make/emit-shared-files/rmake
FIXME: this is wasteful, but want to do a perf run to see how slow it isrustc_middle/src/ty/relate
FIXME: this is wrong for const eval, it should return 2 in sometools/rust-analyzer/crates/hir-ty/src/mir/eval/shim
FIXME: this is wrong in multiple ways, subst is empty, and we emit it even for builtin deref (note thattools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: this is wrong when compiler.host != build, but we don't support that todaybootstrap/src/core/build_steps/compile
FIXME: this item should only exist if this is linked into an executablestd/src/sys/pal/sgx/abi/mod
FIXME: this looks very wrong, libtest doesn't accept `-C` arguments and the quotes are fishybootstrap/src/core/build_steps/test
FIXME: this macro calls unwrap internally but is called in a panicking context! It's nottools/clippy/src/driver
FIXME: this mapping is awkward and shouldn't exist. Refactortools/rust-analyzer/crates/rust-analyzer/src/handlers/request
FIXME: this may be a faulty span from libsyntaxtools/rustfmt/src/items
FIXME: this may not be exhaustive, but is sufficient for rustdocs current usesrustdoc/visit_lib
FIXME: this method cannot be called in const-eval yet, as Box isn'tui/consts/const_forget
FIXME: this miscompiles with optimizations, see <rust-lang/rust/issues/132898>tools/miri/tests/pass/stacked-borrows/2phase
FIXME: this needs to account for the suggestion typerustc_errors/src/emitter
FIXME: this never was about ABI and now this dump arg is confusingrustc_passes/src/layout_test
FIXME: this only lists trait bounds from the item defining the typetools/rust-analyzer/crates/hir/src/lib
FIXME: this over-synchronizes; a more precise approach would be totools/miri/src/shims/unix/unnamed_socket
FIXME: this part is specific to HTML so it'd be nice to remove it from the common coderustdoc/formats/cache
FIXME: this partially overlaps with `find_impl_block_*`tools/rust-analyzer/crates/ide-assists/src/utils
FIXME: this partially overlaps with `find_struct_impl`tools/rust-analyzer/crates/ide-assists/src/utils
FIXME: this passes if we use `<(), ()>` here instead of `<(), Opaque>`ui/specialization/min_specialization/impl-on-opaque2
FIXME: this probably shouldn't have a suffixrun-make/emit-shared-files/rmake
FIXME: this quite an incorrect way to go about doing this :-)tools/rust-analyzer/crates/ide-assists/src/handlers/extract_function
FIXME: this really ought to be caught at macro definitionrustc_expand/src/mbe/transcribe
FIXME: this really ought to be caught at macro definition time... Itrustc_expand/src/mbe/transcribe
FIXME: this really should be a fix for diagnostic, rather than an assisttools/rust-analyzer/crates/ide-assists/src/handlers/fix_visibility
FIXME: this really should be handled at some earlier stage. Ourrustc_trait_selection/src/errors
FIXME: this should *likely* use `offset_from`, but morerustc_arena/src/lib
rustc_arena/src/lib
rustc_arena/src/lib
FIXME: this should also consider blanket impls (`impl<T> X for T`). Unfortunatelyrustdoc/passes/collect_intra_doc_links
FIXME: this should also suggest a function pointer, as the closure is non-capturingui/suggestions/unnamable-types
FIXME: this should be 3tools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
FIXME: this should be LineWriter or BufWriter depending on the state ofstd/src/io/stdio
FIXME: this should be a #[marker] and have another blanket impl for T: TrustedFusedcore/src/iter/traits/marker
FIXME: this should be a diagnostictools/rust-analyzer/crates/ide-assists/src/handlers/convert_into_to_from
FIXME: this should be more like //@ needs-subprocessesui/feature-gates/version_check
FIXME: this should be much more fancy and supporttools/rust-analyzer/crates/parser/src/parser
FIXME: this should be removed once we rename Aarch64 neon to asimdtools/rustfmt/tests/source/cfg_if/detect/arch/aarch64
tools/rustfmt/tests/target/cfg_if/detect/arch/aarch64
FIXME: this should call `va_end`, but there's no clean way tocore/src/ffi/va_list
FIXME: this should compileui/coroutine/drop-tracking-parent-expression
ui/coroutine/parent-expression
FIXME: this should not be public, but interning currently needs access to itrustc_const_eval/src/interpret/memory
rustc_const_eval/src/interpret/memory
FIXME: this should not be represented with a DST slice but rather withcore/src/ffi/c_str
FIXME: this should not be required, all attributes on an item should have atools/rust-analyzer/crates/hir-def/src/nameres/collector
FIXME: this should not suggest `mut` if we can detect that the variable is nottools/clippy/clippy_lints/src/let_if_seq
FIXME: this should probably be a UI test instead of a run-make test, but I *cannot* find a way torun-make/issue-125484-used-dependencies/rmake
FIXME: this should probably be extended to also account for `FO0` → `FOO` and unicoderustc_errors/src/emitter
FIXME: this should probably use `args` from `FnDef`rustc_privacy/src/lib
FIXME: this should produce a warning, because the attribute says 1.58 and the cargo.toml filetools/clippy/tests/ui-cargo/cargo_rust_version/fail_file_attr/src/main
FIXME: this should really be using the edition of the method name's span, in case ittools/rust-analyzer/crates/hir-ty/src/method_resolution
tools/rust-analyzer/crates/hir-ty/src/method_resolution
FIXME: this should return a nonzero value if this call does result in switching to another threadtools/miri/src/shims/windows/foreign_items
FIXME: this should return real HANDLEs when io support is addedtools/miri/src/shims/windows/foreign_items
FIXME: this should say that it was skipped (maybe an allowed by default lint?)rustdoc-ui/intra-doc/errors
FIXME: this should use `Trace` to avoid duplication in `source_map` belowtools/rust-analyzer/crates/hir-def/src/attr
FIXME: this should use deref_pointer_as, but CONSOLE_SCREEN_BUFFER_INFO is not in stdtools/miri/src/shims/windows/foreign_items
FIXME: this shouldn't fail during name resolution eitherui/use/use-keyword
FIXME: this skips comments between the extern keyword and the openingtools/rustfmt/src/items
FIXME: this struct is used solely by #[derive] tocore/src/cmp
FIXME: this take is completely unneeded, and just is here to make borrow checkertools/rust-analyzer/crates/hir-ty/src/infer/closure
FIXME: this test current now do nothingtools/rust-analyzer/crates/hir-ty/src/tests/macros
FIXME: this test does succeed, but takes quite a while: 90 seconds intools/rust-analyzer/crates/hir-def/src/nameres/collector
FIXME: this test fails on arm-android because the NDK version 14 is too oldui/simd/intrinsic/float-math-pass
FIXME: this walks full tests tree, even if we have something to ignoretools/compiletest/src/lib
FIXME: this way of making sure that the cache is large enough istools/rustfmt/tests/source/cfg_if/detect/cache
tools/rustfmt/tests/source/cfg_if/detect/cache
tools/rustfmt/tests/target/cfg_if/detect/cache
tools/rustfmt/tests/target/cfg_if/detect/cache
FIXME: this will turn !() into ! alonerustdoc/intra-doc/disambiguators-removed
FIXME: this would with in 24bytes but layout optimizations are not smart enoughtools/miri/src/machine
FIXME: time_llvm_passes support - does this use a global context orrustc_codegen_ssa/src/back/write
FIXME: to be implementedtools/rust-analyzer/crates/mbe/src/expander/transcriber
FIXME: to make things simpler for now, limit this to the host and target where we knowbootstrap/src/core/build_steps/compile
FIXME: todoui/macros/stringify
ui/macros/stringify
ui/macros/stringify
ui/macros/stringify
ui/macros/stringify
FIXME: tool modules can be shadowed by actual modulestools/rust-analyzer/crates/hir-def/src/nameres/attr_resolution
FIXME: trait object type elisionstools/rust-analyzer/crates/ide/src/inlay_hints
FIXME: translation requires list formatting (for `expect`)rustc_parse/src/parser/diagnostics
FIXME: try collecting these constraints on the outlives suggestionrustc_borrowck/src/diagnostics/region_errors
FIXME: try removing `--exclude-should-panic` argumentrustc_codegen_gcc/build_system/src/test
FIXME: try to fix `can_change_type` to make it work in this casetools/clippy/clippy_lints/src/methods/unnecessary_to_owned
FIXME: turn on nrvo then check-not: @llvm.memcpycodegen/nrvo
FIXME: u128 started to break compilation with disabled CIassembly/nvptx-kernel-abi/nvptx-kernel-args-abi-v7
FIXME: uncomment this once we resolve to usages to extern crate declarationstools/rust-analyzer/crates/ide/src/rename
tools/rust-analyzer/crates/ide/src/rename
FIXME: unconditionally use `Rc::new_zeroed` once it is stable (#63291)rustc_index/src/bit_set
rustc_index/src/bit_set
Closed
FIXME: undef bytes can just be initialized with the same value as thecodegen/slice-init
FIXME: unify function_visibility and const_visibility?tools/rust-analyzer/crates/hir-def/src/db
FIXME: unreachable warning current isn't emittedrustc_hir_typeck/src/fn_ctxt/checks
FIXME: update to a visitor-based implementationtools/clippy/clippy_lints/src/uninit_vec
FIXME: userustc_codegen_llvm/src/intrinsic
FIXME: use `EarlyBinder` in `self.children`rustc_trait_selection/src/traits/specialize/specialization_graph
FIXME: use `Range` once that implements `Copy`std/src/sys/pal/unix/stack_overflow
FIXME: use `ceil_char_boundary` from `std::str` when it gets stabletools/rust-analyzer/crates/ide/src/extend_selection
FIXME: use `core::convert::absurd` here instead, once it's mergedcore/src/primitive_docs
FIXME: use `emit_node_lint` when `#[primary_span]` is addedrustc_lint/src/dangling
FIXME: use `expose_provenance` once we figure out whether function pointers have meaningfulrustc_mir_transform/src/shim
FIXME: use `obligation.predicate.kind()...trait_ref.self_ty()` to see if we have `()`rustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: use `rustfmt --config-path` oncetools/rust-analyzer/crates/rust-analyzer/src/handlers/request
FIXME: use a better name heretools/rust-analyzer/crates/ide/src/lib
FIXME: use a let chainrustc_parse_format/src/lib
FIXME: use a snippet completion instead of this hack heretools/rust-analyzer/crates/ide/src/typing
FIXME: use an RAII util or closure for indentingtools/rustfmt/src/visitor
FIXME: use beta or a user-specified rustdoc instead oftools/compiletest/src/runtest
FIXME: use constant foldingtools/clippy/clippy_utils/src/lib
FIXME: use cx.layout_of(ty).llvm_type() ?rustc_codegen_gcc/src/intrinsic/simd
FIXME: use def_kindrustc_trait_selection/src/error_reporting/infer/nice_region_error/util
FIXME: use direct symbol comparison for register namesrustc_target/src/asm/mod
FIXME: use existing printing routines to print the function signaturerustc_mir_transform/src/function_item_references
FIXME: use lang items to determine if it is std type or user definedtools/rust-analyzer/crates/ide-assists/src/handlers/extract_function
FIXME: use llvm-nm to generate export listrustc_codegen_ssa/src/back/linker
FIXME: use non-lossy conversiontools/miri/src/shims/windows/foreign_items
FIXME: use something like ImplKind in JSON?rustdoc/json/conversions
FIXME: use swap_unchecked here (rust-lang/rust/pull/88540#issuecomment-944344343)core/src/slice/mod
FIXME: use syntax::make & mutable AST apis insteadtools/rust-analyzer/crates/ide-assists/src/utils
FIXME: use the `_runnable` heretools/rust-analyzer/crates/rust-analyzer/src/lsp/to_proto
FIXME: use the crate's edition for parsingtools/rust-analyzer/crates/ide-assists/src/handlers/extract_expressions_from_format_string
FIXME: use this for other modes too, for perf?tools/compiletest/src/runtest
FIXME: used for fixing up the toolchain sysroot, should be removed and done differentlytools/rust-analyzer/crates/base-db/src/input
FIXME: using host floats to work around rust-lang/miri/issues/2468tools/miri/src/intrinsics/simd
FIXME: using the `Debug` impl here isn't idealrustc_passes/src/abi_test
rustc_passes/src/layout_test
FIXME: validation errors are not handled heretools/rust-analyzer/crates/syntax/src/lib
FIXME: vector ABI not yet supportedrustc_codegen_llvm/src/va_arg
FIXME: visit the template exhaustivelyrustc_ast/src/mut_visit
FIXME: visit the ty to see if there's any closure involved, and if there isrustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: vsx also supports integers?: rust-lang/rust/pull/131551#discussion_r1862535963rustc_target/src/asm/powerpc
FIXME: wait lesstools/miri/tests/pass-dep/libc/libc_pthread_cond_timedwait
tools/miri/tests/pass-dep/libc/libc_pthread_cond_timedwait_isolated
FIXME: walk path segment with `path_segment.hir_id` parentrustc_ast_lowering/src/index
FIXME: warning because it is not immediately followed by breaktools/clippy/tests/ui/mut_range_bound
FIXME: wasm is disabled due to <rust-lang/rust/issues/115666>ui/abi/compatibility
FIXME: we are currently missing some infra here (per-linker-flavor CRT objects)rustc_codegen_ssa/src/back/link
FIXME: we are skipping auto traits for now, but might revisit this in the futurerustc_const_eval/src/interpret/traits
FIXME: we can try to recursively `dtorck_constraint_on_ty`rustc_trait_selection/src/traits/query/dropck_outlives
FIXME: we can't use a reference here because to convert `try!` to `?` wetools/rustfmt/src/chains
FIXME: we could accept `RUST_MIN_STACK=64MB`, perhaps?rustc_interface/src/util
FIXME: we could extend the lint to include such casestools/clippy/tests/ui/let_if_seq
FIXME: we could look up assoc items by the input and propose those in completiontools/rust-analyzer/crates/ide-db/src/imports/import_assets
FIXME: we could potentially look at the impl's bounds to not point at bounds thatrustc_hir_analysis/src/check/compare_impl_item
FIXME: we currently don't return `Delimiter::Invisible` open/close delims. To fixrustc_parse/src/parser/mod
FIXME: we do *not* check behind boxes, since creating a new box first creates it uninitializedrustc_const_eval/src/interpret/validity
FIXME: we don't actually want to print all of these, since some are printed nicely directly as values inline in MIRrustc_middle/src/mir/pretty
FIXME: we don't need to collect heretools/rustfmt/src/items
FIXME: we don't need to look at all binaries, only files that have been modified in this branchtools/tidy/src/bins
FIXME: we drop any comments here, even though it's a silly place to puttools/rustfmt/src/types
FIXME: we have to request implied features here sincerustc_codegen_gcc/src/gcc_util
rustc_codegen_llvm/src/llvm_util
FIXME: we look up both allocations twice here, once before for the `check_ptr_access`rustc_const_eval/src/interpret/memory
FIXME: we may suggest array::repeat insteadrustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: we may want to emit a single type variable for all instance of type fields?tools/rust-analyzer/crates/hir-ty/src/infer/expr
FIXME: we might want to check that using the param indenttools/rustfmt/src/items
FIXME: we need to fetch all locals declared in the parameter heretools/rust-analyzer/crates/ide-assists/src/handlers/inline_call
FIXME: we overzealously erase the entire local, because that's easier torustc_mir_transform/src/known_panics_lint
FIXME: we probably also want some sort of cross-infcx cache here torustc_infer/src/traits/project
FIXME: we probably should only try to unify abstract constantsrustc_trait_selection/src/traits/fulfill
FIXME: we probably should re-think `token_tree_to_syntax_node` interfacestools/rust-analyzer/crates/syntax-bridge/src/lib
FIXME: we require two bounds (`where Self: 'a, Self: 'b`) when we should only require oneui/generic-associated-types/self-outlives-lint
ui/generic-associated-types/self-outlives-lint
FIXME: we should assert the sig is &T here... there's no reason for this to be falliblerustc_hir_typeck/src/autoderef
FIXME: we should be able to suggest borrowing both sideui/binop/borrow-suggestion-109352-2
FIXME: we should be using a derived_id for the Anchors hererustdoc/html/render/print_item
FIXME: we should call the said function, but since its name is going to break in the next rustc versiontools/rust-analyzer/crates/hir-ty/src/mir/eval
FIXME: we should check `self_ty` against the receiverrustc_trait_selection/src/error_reporting/infer/nice_region_error/static_impl_trait
FIXME: we should check what kind of pattern we are in and filter accordinglytools/rust-analyzer/crates/ide-completion/src/completions/pattern
FIXME: we should do something else so that it works even on crate foreignrustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: we should figure out a more generic version of doing this, ideally in cargo itselfrustc_trait_selection/src/error_reporting/infer/need_type_info
FIXME: we should get this from callertools/rust-analyzer/crates/hir-ty/src/mir
FIXME: we should guide this to look up the path locally, or from the same crate again?tools/rust-analyzer/crates/hir-def/src/find_path
FIXME: we should instead get the span including the `->` and suggest antools/clippy/clippy_lints/src/unnecessary_wraps
FIXME: we should move the field error reporting code somewhere elserustc_hir_typeck/src/expr
FIXME: we should not need this hack: this is required because both _mm_fcmadd_schrustc_codegen_gcc/src/intrinsic/llvm
FIXME: we should not yield here once blocking is implementedtools/miri/tests/pass-dep/libc/libc-pipe
tools/miri/tests/pass-dep/libc/libc-socketpair
FIXME: we should only show the deep onetools/rust-analyzer/crates/ide-diagnostics/src/handlers/type_mismatch
FIXME: we should point at the lifetimerustc_trait_selection/src/error_reporting/infer/nice_region_error/mismatched_static_lifetime
FIXME: we should set last_error, but to what?tools/miri/src/shims/windows/foreign_items
FIXME: we should show error for this, as `Y` is not copytools/rust-analyzer/crates/ide-diagnostics/src/handlers/moved_out_of_ref
FIXME: we should suggest `fn foo(t: impl Trait<A: Bound>)` insteadrustc_trait_selection/src/error_reporting/traits/suggestions
FIXME: we should use the program name if the thread name is not settools/miri/src/shims/unix/thread
FIXME: we should yield here once blocking is implementedtools/miri/tests/pass-dep/libc/libc-pipe
tools/miri/tests/pass-dep/libc/libc-pipe
tools/miri/tests/pass-dep/libc/libc-socketpair
tools/miri/tests/pass-dep/libc/libc-socketpair
FIXME: we shouldn't have two errors here, only occurs when using `-Zdeduplicate-diagnostics=no`ui/error-codes/E0789
FIXME: we shouldn't need to re-resolve the macro here just to get the unresolved error!tools/rust-analyzer/crates/hir-def/src/nameres/collector
FIXME: we use a probe here as the `BestObligation` visitor does notrustc_trait_selection/src/solve/fulfill
FIXME: we want an inclusive take_while (stops after a false predicate, buttools/miri/src/concurrency/weak_memory
FIXME: we would want to call `resolve_vars_if_possible` on `ty` before suggestingrustc_trait_selection/src/error_reporting/infer/note_and_explain
FIXME: we'll need a better message which takes into accountrustc_trait_selection/src/error_reporting/traits/fulfillment_errors
FIXME: we'll want better handling of this in the future for the sake of toolsrustc_span/src/lib
FIXME: we're ignoring safety here. To be more correct, if we have one FnDef and one Closuretools/rust-analyzer/crates/hir-ty/src/infer/coerce
FIXME: we're not able to read excluded files (which is most of them becausetools/rust-analyzer/crates/hir-expand/src/builtin/fn_macro
FIXME: what about Windows? Are default ACLs executable?tools/rust-installer/src/util
FIXME: what about non-staged API items that are deprecated?rustdoc/clean/types
FIXME: what amount of WF checking do we need for reservation impls?rustc_hir_analysis/src/check/wfcheck
FIXME: what follows are general suggestions, but we'd want to perform somerustc_resolve/src/late/diagnostics
FIXME: what to do about lifetime params? -> return PolyFnSigtools/rust-analyzer/crates/hir-ty/src/lib
FIXME: when support for #[link_name] is implemented, ensure that the import namesrustc_codegen_ssa/src/back/archive
FIXME: when the corresponding `assert` in `tree_borrows/mod.rs` finallytools/miri/src/borrow_tracker/tree_borrows/tree
FIXME: when we add support for ordinals, figure out if we need to do anythingrustc_codegen_ssa/src/back/link
FIXME: where predicates should be on next linestools/rust-analyzer/crates/ide-assists/src/handlers/generate_function
tools/rust-analyzer/crates/ide-assists/src/handlers/generate_function
FIXME: why does this code check if it *shouldn't* persist doctestsrustdoc/doctest
FIXME: why is this condition necessary? It was adding in #33625 but Irustc_metadata/src/creader
Closed
FIXME: why is this needed?tools/rustfmt/tests/source/configs/indent_style/block_call
tools/rustfmt/tests/target/configs/indent_style/block_call
FIXME: why is this using references::find_defs, this should use ide_db::searchtools/rust-analyzer/crates/ide/src/runnables
FIXME: with `inherent_associated_types` this is allowed, but our `lower_partly_resolved_path()`tools/rust-analyzer/crates/hir-ty/src/infer
FIXME: within_limit should support this, instead of us having to extract the errortools/rust-analyzer/crates/hir-def/src/expander
FIXME: work harder -- there are more possibilities for mappingtools/unicode-table-generator/src/raw_emitter
FIXME: would be nice to be able to check both the class and the href at the same time sorustdoc/jump-to-def-pats
rustdoc/jump-to-def-prelude-types
FIXME: would really like a suggestion here tooui/suggestions/dont-suggest-ref/duplicate-suggestions
ui/suggestions/dont-suggest-ref/duplicate-suggestions
ui/suggestions/dont-suggest-ref/simple
ui/suggestions/dont-suggest-ref/simple
ui/suggestions/dont-suggest-ref/simple
FIXME: write st_fstype field once libc is updatedtools/miri/src/shims/unix/fs
FIXME: wrong for manual impls of `FnOnce`tools/rust-analyzer/crates/hir-ty/src/mir/eval/shim
FIXME: wrong, should be u32tools/rust-analyzer/crates/hir-ty/src/tests/regression
FIXME: ~^ NOTE an unsafe function restricts its caller, but its body is safe by defaultui/unsafe/unsafe_op_in_unsafe_fn/wrapping-unsafe-block-sugg
FIXME?tools/rust-analyzer/crates/hir-def/src/nameres/path_resolution
FIXME? Other potential candidate methods: `as_ref` andrustc_hir_typeck/src/demand
FIXME?: We could provide text edit to insert braces for closures with non-block bodytools/rust-analyzer/crates/ide/src/inlay_hints/closure_ret
FIXME?: `bar` here expands before `stringify` has a chance to expandui/attributes/key-value-expansion-on-mac
FIXMEkhuey ideally we would check that *either* scope has a discriminatorcodegen/debuginfo-proc-macro/mir_inlined_twice_var_locs
For now, this doesn't resolve macros (FIXME) and cannot resolve Impl, as werustc_resolve/src/effective_visibilities
For this we utilize mutable trees, which is a HACK, but it workstools/rust-analyzer/crates/ide/src/inlay_hints/adjustment
HACK assert_eq! would panic here because it stores the LHS and RHS in two localsui/overloaded/overloaded-autoderef
HACK(#114936): `WF(sig)` does not imply `WF(normalized(sig))`rustc_borrowck/src/type_check/mod
Closed
HACK(#69396): Stashing and stealing diagnostics does not interactrustc_hir_analysis/src/collect/type_of
Closed
HACK(#82501): on Windows, the tools directory gets added to PATH when running tests, andbootstrap/src/core/build_steps/tool
Closed
HACK(-Ztrait-solver=next): In the *old* trait solver, we must eagerlyrustc_hir_typeck/src/closure
HACK(Ezrashaw): there is no way to split a markdown header over multiple linestools/tidy/src/style
HACK(Urgau): This shouldn't be necessaryrustc_resolve/src/macros
HACK(async_closures): For async closures, prefer `AsyncFn*`rustc_hir_typeck/src/callee
HACK(compiler-errors): Constants that are gathered into Body.required_constsrustc_borrowck/src/type_check/mod
HACK(compiler-errors): Doesn't actually matter what selfrustdoc/clean/mod
HACK(compiler-errors): This macro rule can only take a fake pathrustc_middle/src/ty/parameterized
HACK(compiler-errors): We don't actually consider the implicationsrustc_hir_typeck/src/demand
HACK(eddyb) Avoid having RustCall on closuresrustc_mir_build/src/builder/mod
HACK(eddyb) Bypass checks due to reborrows being inrustc_hir_typeck/src/op
HACK(eddyb) LLVM inserts `llvm.assume` calls to preserve align attributesrustc_codegen_llvm/src/llvm_util
HACK(eddyb) Separate encoding a success value (`Ok(output)`)proc_macro/src/bridge/client
HACK(eddyb) `lint_if_path_starts_with_module` needs at leastrustc_resolve/src/imports
rustc_resolve/src/imports
HACK(eddyb) at least for definitions of/calls to `Instance`srustc_middle/src/ty/layout
HACK(eddyb) avoid trashing `cached_typeck_results` when we'rerustc_lint/src/late
HACK(eddyb) boxed to avoid moving around a large struct by-valuerustc_middle/src/ty/print/pretty
HACK(eddyb) copy of `path_append` to avoidrustc_middle/src/ty/print/pretty
HACK(eddyb) don't use `panic::catch_unwind` in a panicproc_macro/src/bridge/server
HACK(eddyb) get rid of `def_path_str` and/or pass `Namespace` explicitly alwaysrustc_middle/src/ty/print/pretty
HACK(eddyb) ignore lifetimes found shallowly in `args`rustc_type_ir/src/outlives
HACK(eddyb) limited to `FmtPrinter` because of `binder_depth`rustc_middle/src/ty/print/pretty
HACK(eddyb) limited to `FmtPrinter` because of `region_highlight_mode`rustc_middle/src/ty/print/pretty
HACK(eddyb) manual impl avoids `Default` bound on `T`rustc_data_structures/src/transitive_relation
HACK(eddyb) manual impl avoids `Default` bounds on `K` and `V`rustc_data_structures/src/snapshot_map/mod
HACK(eddyb) maybe move this in a more central locationrustc_trait_selection/src/error_reporting/infer/nice_region_error/placeholder_error
HACK(eddyb) pretend the `enum` field (discriminant)rustc_abi/src/callconv
HACK(eddyb) print the path similarly to how `FmtPrinter` prints itrustc_symbol_mangling/src/legacy
rustc_symbol_mangling/src/legacy
HACK(eddyb) sets `RUSTC_BOOTSTRAP=1` so Cargo can accept nightly featuresrun-make/x86_64-fortanix-unknown-sgx-lvi/rmake
HACK(eddyb) should get the original `Span`rustc_hir_typeck/src/fn_ctxt/mod
HACK(eddyb) the full mangling is only in `.stderr` because we can normalizeui/symbol-names/const-generics-structural-demangling
ui/symbol-names/const-generics-structural-demangling
HACK(eddyb) these are here to allow `Self::$name` to work belowproc_macro/src/bridge/server
HACK(eddyb) this abstraction is used with `for<'a> fn(BridgeConfig<'a>)proc_macro/src/bridge/selfless_reify
HACK(eddyb) this bypasses `path_append`'s prefix printing to avoidrustc_middle/src/ty/print/pretty
HACK(eddyb) this duplicates `FmtPrinter`'s `path_generic_args`rustc_middle/src/ty/print/pretty
HACK(eddyb) this emulates the old `visit_projection_elem`, thisrustc_codegen_ssa/src/mir/analyze
HACK(eddyb) this mimics `path_append`rustc_symbol_mangling/src/v0
HACK(eddyb) this provides the correct generics for repeatrustc_hir_analysis/src/collect/generics_of
HACK(eddyb) this provides the correct generics whenrustc_hir_analysis/src/collect/generics_of
HACK(eddyb) this relies on using the `fmt` interface to getrustc_symbol_mangling/src/legacy
HACK(eddyb) this shows up for `self` & `super`, whichrustc_resolve/src/imports
HACK(eddyb) unclear how good this is, but keeping `$crate`rustc_resolve/src/build_reduced_graph
HACK(eddyb) we need to pad the PID, strange as it may seem, as itsrustc_data_structures/src/profiling
HACK(eddyb) work around the fact that verbosely demangled stack tracesui/backtrace/backtrace
HACK(eddyb): `Tag` enum duplicated between theproc_macro/src/bridge/rpc
proc_macro/src/bridge/rpc
HACK(eddyb): only needed because `impl Trait` can't beui/impl-trait/example-calendar
HACK(estebank): find a better way to figure out that this was arustc_resolve/src/late/diagnostics
HACK(estebank): we remove the pre-existingrustc_trait_selection/src/error_reporting/traits/fulfillment_errors
HACK(hkmatsumoto): For impls of primitive types, we index themrustdoc/json/mod
HACK(jaic1): hide the `str` type behind a referencerustc_symbol_mangling/src/v0
HACK(japaric) needed for the implementation of `Vec::clone` during testingalloc/src/slice
HACK(japaric) needed for the implementation of `vec!` macro during testingalloc/src/slice
HACK(japaric): With cfg(test) `impl [T]` is not available, these threealloc/src/slice
HACK(japaric): with cfg(test) the inherent `[T]::into_vec` method, which isalloc/src/macros
HACK(japaric): with cfg(test) the inherent `[T]::to_vec` method, which isalloc/src/string
alloc/src/vec/mod
HACK(jynelson): the source of `DefKind::descr` only uses the DefId forrustdoc/passes/collect_intra_doc_links
HACK(jynelson): trying to infer the type of `impl Trait` breaks `async-std` (andrustc_privacy/src/lib
HACK(jynelson): trying to infer the type of `impl trait` breaks documentingrustc_hir_analysis/src/check/check
HACK(min_const_generics): Forbid generic `Self` typesrustc_hir_analysis/src/hir_ty_lowering/mod
HACK(min_const_generics): If we encounter `Self` in an anonymousrustc_resolve/src/ident
HACK(min_const_generics): self types also have an optional requirement to **notrustc_hir/src/def
HACK(min_const_generics, generic_const_exprs): Werustc_resolve/src/late
HACK(nox): This is inefficient but there is no nontemporal memcpyrustc_codegen_ssa/src/traits/builder
HACK(nox): We iter on `b` and then `a` because `max_by_key`rustc_abi/src/layout
HACK(oli-obk, compiler-errors): We should be comparing this againstrustc_hir_typeck/src/check
HACK(rustdoc): should not be sorting `CrateNum` or `DefIndex`, this will soon go away, toorustdoc/html/render/search_index
HACK(topecongiro): we use `format_missing()` to extract a missing comment betweentools/rustfmt/src/missed_spans
HACK(type_alias_impl_trait): When moving an opaque type to hidden type mapping from the query to the current inferctxtrustc_trait_selection/src/traits/query/type_op/mod
HACK: Avoid ICE when types with the same name with `derive`s are in the same scoperustc_hir_analysis/src/errors/wrong_number_of_generic_args
HACK: Because we erase regions contained in the coroutine witness, werustc_ty_utils/src/needs_drop
HACK: Check the return type of function definitions forrustc_trait_selection/src/traits/wf
HACK: For integer and float variables we have to manually look at all implsrustc_middle/src/ty/context
HACK: For synthetic MIR bodies (async closures), use the def id of the HIR bodyrustc_mir_transform/src/coverage/mod
HACK: For unnamed fields placeholders should have the same visibility as the actualrustc_expand/src/expand
HACK: Given a closure in `T.method(|| f())`, where `fn f() -> U where U: 'static`, `T.method(f)`tools/clippy/clippy_lints/src/eta_reduction
HACK: LLVM versions 19+ do not have the FPMR feature and treat it as always enabledrustc_codegen_llvm/src/attributes
HACK: Macro expansion should not be done using "rollback and try another alternative"tools/rust-analyzer/crates/mbe/src/expander/matcher
HACK: On subsequent recursions, we only care about bounds that don'trustc_trait_selection/src/traits/select/mod
HACK: Pick the first trait def candidate for a fullyrustc_trait_selection/src/traits/project
rustc_trait_selection/src/traits/project
HACK: Represent as tuple until we have something betterrustc_symbol_mangling/src/v0
HACK: Since the commit script uses hard links, we can't actually tell if it was installed by x.py setup or notbootstrap/src/bin/main
HACK: Syn uses `Span` from the proc_macro2 crate, and does not seem to reexport ittools/clippy/tests/ui/auxiliary/proc_macro_attr
HACK: This impls is necessary so that the impl above is well-formedui/traits/next-solver/cycles/fixpoint-rerun-all-cycle-heads
HACK: This is not correct, since `predicate_self_type_to_point_at` mightrustc_hir_typeck/src/fn_ctxt/adjust_fulfillment_errors
HACK: This is still theoretically unsound. Goals can indirectly relyrustc_trait_selection/src/traits/select/mod
HACK: This is to "unstabilize" the `transmute` intrinsictools/clippy/clippy_utils/src/qualify_min_const_fn
HACK: This is used to recover the NodeId of an elided lifetimerustc_hir/src/def
HACK: This shouldn't be necessary... We can remove this when we actuallyrustc_borrowck/src/type_check/mod
HACK: We bail with overflow if the response would have too many non-regionrustc_next_trait_solver/src/solve/eval_ctxt/canonical
HACK: We can use this substitution for the function because the function itself doesn'ttools/rust-analyzer/crates/hir-ty/src/infer/expr
HACK: We eagerly instantiate some bounds to report better errors for themrustc_hir_analysis/src/check/check
HACK: We may have overlapping `dyn Trait` built-in impls andrustc_ty_utils/src/instance
HACK: We specifically don't want the (opaque) error from tainting ourrustc_hir_typeck/src/writeback
HACK: We want to assert that the signature of the source fn isrustc_borrowck/src/type_check/mod
HACK: Work around mut borrowtools/rustfmt/src/comment
HACK: `'static` suggestions will never sonflict, emit only those for nowrustc_lint/src/lints
HACK: `async fn() -> Self` in traits is "ok"rustc_lint/src/opaque_hidden_inferred_bound
HACK: `builder` runs this step with all paths if no path was passedbootstrap/src/core/build_steps/setup
HACK: `impl Trait<Assoc = impl Trait2>` from an RPIT is "ok"rustc_lint/src/opaque_hidden_inferred_bound
HACK: `rhs_ty` is a general inference variable with no clue at all at thistools/rust-analyzer/crates/hir-ty/src/infer/expr
HACK: `true` if this is an `if` expression in an `else if`tools/rustfmt/src/expr
HACK: a neater way would be preferablerustc_parse/src/parser/pat
HACK: constants are used in arrays, even if the types don't matchrustc_symbol_mangling/src/v0
HACK: currently tool stages are off-by-one compared to compiler stages, i.e. ifbootstrap/src/core/build_steps/test
HACK: drop_in_place creates tight monomorphization loops. Giverustc_monomorphize/src/collector
HACK: here we use `meta_result` to pass `TtIter` back to caller becausetools/rust-analyzer/crates/mbe/src/expander/matcher
tools/rust-analyzer/crates/mbe/src/expander/matcher
HACK: in order to not mistakenly assume that `[PhantomData<T>; N]` requires drop gluerustc_ty_utils/src/needs_drop
HACK: instead of checking if each hunk is empty, this only checks if the whole input is empty. we should be smarter about this so we don't treat added or removed output as normalizedtools/compiletest/src/runtest
HACK: low-churn fix for #79459 while we wait for a trait normalization fixrustdoc/clean/mod
Closed
HACK: on some cases (`ui/liveness/liveness-issue-2163.rs`) therustc_hir_typeck/src/fn_ctxt/checks
Closed
HACK: opaque types will match anything for which their bounds holdrustc_hir_typeck/src/method/probe
HACK: pick the first `did` as the `did` of the trait object. Someonerustdoc/clean/mod
HACK: pprust breaks strings with newlines when the typerustc_resolve/src/def_collector
HACK: rather than pull in `tempdir`, use the one that cargo has conveniently created for usbootstrap/src/core/builder/tests
HACK: rustc will emit "crate ... required to be available in rlib format, buttools/miri/src/bin/miri
HACK: special case for `warnings` rustc linttools/rust-analyzer/crates/rust-analyzer/src/diagnostics/to_proto
tools/rust-analyzer/crates/rust-analyzer/src/diagnostics/to_proto
HACK: squeeze out the span between the identifier and the parameterstools/rustfmt/src/types
HACK: subst for `branch()` coincides with that for `Try` because `branch()` itselftools/rust-analyzer/crates/hir/src/source_analyzer
HACK: subst for `index()` coincides with that for `Index` because `index()` itselftools/rust-analyzer/crates/hir/src/source_analyzer
HACK: subst for `poll()` coincides with that for `Future` because `poll()` itselftools/rust-analyzer/crates/hir/src/source_analyzer
HACK: subst for all methods coincides with that for their trait because the methodstools/rust-analyzer/crates/hir/src/source_analyzer
tools/rust-analyzer/crates/hir/src/source_analyzer
HACK: tests are allowed to use a revision name as a check prefixtools/compiletest/src/runtest
HACK: the filecheck tool normally fails if a prefix is defined but not used. Howevertools/compiletest/src/runtest
HACK: this check is extremely dumb, but we don't really need it to be smarter since this should only happen in the test suite anywayrustc_driver_impl/src/lib
HACK: this should also fall through to the hidden type check below, but the originalrustc_hir_analysis/src/check/check
HACK: this test passes only because this is a const fn that is written to metadataui/const_prop/ice-assert-fail-div-by-zero
HACK: try to link to std instead where possiblerustdoc/clean/types
HACK: we are trying to normalize the param-env inside *itself*. The problem is thatrustc_trait_selection/src/traits/mod
HACK: we override the default safety instead of generating attributes from the etherrustc_ast_lowering/src/delegation
HACK: we use find_ancestor_inside to properly suggest elided spans in pathsrustc_ast_lowering/src/path
rustc_resolve/src/late
JUSTIFICATION: necessary use of crate_types directly (see FIXME below)rustc_session/src/session
Linkage::WeakAny => FunctionType::Exported, // FIXME(antoyo): should be similar to linkoncerustc_codegen_gcc/src/base
Maybe, this is a FIXMErustc_target/src/callconv/x86
NOTE: dummy value here since it's never used. FIXME(antoyo): API should not return a value here?rustc_codegen_gcc/src/builder
None => return None, // FIXME: report errors somewheretools/rust-analyzer/crates/hir-def/src/item_tree/lower
Note: the returned value is currently ignored (see the FIXME intools/miri/src/concurrency/thread
Qux (FIXME #572 - doc comment)tools/rustfmt/tests/source/configs/struct_field_align_threshold/20
tools/rustfmt/tests/source/structs
tools/rustfmt/tests/target/configs/struct_field_align_threshold/20
tools/rustfmt/tests/target/structs
Closed
Required because of the FIXME above and due to us implementing `Eq`, without thistools/rust-analyzer/crates/hir-ty/src/lib
Reset the flags back to empty until the FIXME above is addressedrustc_target/src/spec/base/windows_uwp_gnu
See FIXME in `ModCollector::collect_macro_call()`tools/rust-analyzer/crates/hir-def/src/nameres/tests/macros
See HACK comment aboverustc_lint/src/late
See above FIXME commentrustc_codegen_ssa/src/back/linker
See the FIXME about `TokenCursor` aboverustc_parse/src/parser/expr
See the HACKs belowrustc_type_ir/src/relate
Self::connect(Ok(addr)) // FIXME: ignoring timeoutstd/src/sys/pal/sgx/net
T: Foo, //FIXME ~ ERROR missing `~const` qualifierui/traits/const-traits/specialization/const-default-bound-non-const-specialized-bound
T: UserSafe, // FIXME: should be implied by [T]: UserSafe?std/src/sys/pal/sgx/abi/usercalls/alloc
std/src/sys/pal/sgx/abi/usercalls/alloc
Type checking clousres need an isolated body (See the above FIXME). Bail out early to prevent panictools/rust-analyzer/crates/hir-ty/src/consteval
We can lift this limitation; see FIXME in closure_ret moduletools/rust-analyzer/crates/ide/src/inlay_hints/bind_pat
X(x) // FIXME: this should error somedayui/consts/const-eval/const_fn_ptr_fail
XXX HACK: This is how miri represents the handle for thread 0tools/miri/tests/fail-dep/concurrency/windows_join_main
[`None`] only if the type ref is an [`TypeRef::ImplTrait`]. FIXME: Might be better to justtools/rust-analyzer/crates/hir-def/src/generics
[sparc_feature_v8plus]~^ ERROR +v8plus,-v9 (FIXME)ui/abi/sparcv8plus
_ // FIXME: replace this function with panic when that workstools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
tools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
tools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
tools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
tools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
tools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
tools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
tools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
tools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
tools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
tools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
tools/rust-analyzer/crates/hir-ty/src/mir/eval/tests
_ => (), // FIXME(#22750) handle traits and stuffrustc_trait_selection/src/error_reporting/infer/mod
Closed
```rust,ignore (FIXME)rustc_ast_lowering/src/pat
`move || x.clone()` will not work. FIXME: suggest `let y = x.clone(); move || y`rustc_borrowck/src/diagnostics/conflict_errors
after it is forbidden (FIXME: report diagnostic)tools/rust-analyzer/crates/hir-ty/src/lower
asm!("", in("v0") x); // FIXME: should be ok if vsx is availableui/asm/powerpc/bad-reg
asm!("", out("v0") x); // FIXME: should be ok if vsx is availableui/asm/powerpc/bad-reg
asm!("/* {} */", in(vreg) x); // FIXME: should be ok if vsx is availableui/asm/powerpc/bad-reg
attrs.clone(), // FIXME: unwanted clone of attrsrustc_parse/src/parser/stmt
attrs: vec![], // FIXME -- some automatically generated docs on this method?tools/rust-analyzer/crates/ra-salsa/ra-salsa-macros/src/query_group
bug!("FIXME(RPITIT): error here");rustc_hir_analysis/src/check/compare_impl_item
c1!(item, [ pub use crate::{a, b::c}; ], "pub use crate::{ a, b::c };"); // FIXMEui/macros/stringify
compile_error!("+v8plus,-v9 (FIXME)");ui/abi/sparcv8plus
const Y: usize = bar(X, 2); // FIXME: should fail to typeck somedayui/consts/const-eval/const_fn_ptr_fail2
const Z: usize = bar(double, 2); // FIXME: should fail to typeck somedayui/consts/const-eval/const_fn_ptr_fail2
env("CLIPPY_ARGS", clippy_args.join("__CLIPPY_HACKERY__"))tools/clippy/lintcheck/src/main
err("Instead of XXX use FIXME")tools/tidy/src/style
exist at all (see the FIXME at the start of this method), we have to deal withrustc_next_trait_solver/src/solve/eval_ctxt/canonical
expect("FIXME unexpected higher-ranked trait bound")tools/rust-analyzer/crates/hir-ty/src/lower
tools/rust-analyzer/crates/hir-ty/src/utils
false, // FIXME : const and unsafe are not handled yettools/rust-analyzer/crates/ide-assists/src/handlers/generate_function
field's default value (FIXME: not done)rustc_lint/src/default_could_be_derived
fn a() -> Result<i32, ()> { // FIXME: `Result` should be identified as an ambiguous itemui/imports/issue-114682-4
fn f<const N: u64>() -> Rate<N> { // FIXME: add some errortools/rust-analyzer/crates/ide-diagnostics/src/handlers/type_mismatch
fn p() { // FIXME(explicit_tail_calls): this currently trips an assertionui/parser/bad-let-else-statement
fold(String::new(), |s, arg| s + arg + "__CLIPPY_HACKERY__");tools/clippy/src/main
frame_pointer: FramePointer::Always, // FIXME 43575: should be MayOmitrustc_target/src/spec/base/openbsd
Open
glue is special - this would be part of Rust's memory model. (**FIXME**: due we have antools/rust-analyzer/crates/hir-ty/src/mir
here, when building for FIXMErustc_mir_build/src/builder/mod
hir_def::hir::LogicOp::And => BinOp::BitAnd, // FIXME: make these short circuittools/rust-analyzer/crates/hir-ty/src/mir/lower
if first_line.contains("FIXME") {tools/rust-analyzer/xtask/src/tidy
if from_substs is non-capturing (FIXME)tools/rust-analyzer/crates/hir-ty/src/infer/coerce
if passes_ident!(async) == 1 {} // FIXME: Edition hygiene bug, async here is 2018 and reservedui/editions/edition-keywords-2018-2015-parsing
ui/editions/edition-keywords-2018-2018-parsing
Closed
impl<T> const Baz for T //FIXME ~ ERROR conflicting implementations of trait `Baz`ui/traits/const-traits/specialization/const-default-bound-non-const-specialized-bound
let _: <Pub as PubTr>::AssocTy; // FIXME no longer an error?!ui/privacy/associated-item-privacy-trait
let _: fn() -> () = _; // FIXME: This should trigger an assist because `main` matches via *coerciontools/rust-analyzer/crates/ide-diagnostics/src/handlers/typed_hole
let args = ecx.copy_fn_args(args); // FIXME: Should `InPlace` arguments be reset to uninit?tools/miri/src/machine
tools/miri/src/machine
let edition = Edition::CURRENT_FIXME;tools/rust-analyzer/crates/ide/src/typing
let end_entry = self.spans[start_entry..].partition_point(|&(it, _)| it <= end); // FIXME: this might be wrong?tools/rust-analyzer/crates/span/src/map
let expected = Expectation::none(); // FIXME use actual const ty, when that is lowered correctlytools/rust-analyzer/crates/hir-ty/src/infer/expr
let expr = ast::Expr::parse(&s, syntax::Edition::CURRENT_FIXME).syntax_node();tools/rust-analyzer/crates/ide-assists/src/handlers/extract_expressions_from_format_string
let integer_ty = self.type_ix(layout.size.bits()); // FIXME(antoyo): LLVM creates an integer of 96 bits for [i32; 3], but gcc doesn't support this, so it creates an integer of 128 bitsrustc_codegen_gcc/src/intrinsic/mod
Closed
let lt = to_lt; // FIXME: Involve rustc LUB and SUB flag checkstools/rust-analyzer/crates/hir-ty/src/infer/coerce
let mut buf_it = alloc::UserRef::iter_mut(&mut *bufs); // FIXME: can this be donestd/src/sys/pal/sgx/abi/usercalls/mod
std/src/sys/pal/sgx/abi/usercalls/mod
let n_tt = subtree.clone().count(); // FIXME: `count()` walks over the entire iteratortools/rust-analyzer/crates/proc-macro-api/src/legacy_protocol/msg/flat
let parse = SourceFile::parse(&before, span::Edition::CURRENT_FIXME);tools/rust-analyzer/crates/ide/src/typing
let parse = syntax::SourceFile::parse(text, span::Edition::CURRENT_FIXME);tools/rust-analyzer/crates/ide-db/src/imports/insert_use
let parsed = SourceFile::parse(&text, span::Edition::CURRENT_FIXME);tools/rust-analyzer/crates/ide/src/syntax_tree
link to these. (FIXME: Is that correct? It seems to be correct mostbootstrap/src/core/build_steps/compile
local_path: None, // FIXME: maybe we should preserve this?rustc_metadata/src/rmeta/decoder
macro name, but we assume it isn't as there's no such case yet. FIXME iftools/rust-analyzer/crates/hir-def/src/nameres/collector
metadata = None; // tuple field is always sized FIXME: This is wrong, the tail can be unsizedtools/rust-analyzer/crates/hir-ty/src/mir/eval
num_binders: 0, // FIXME lower `for<'a> fn()` correctlytools/rust-analyzer/crates/hir-ty/src/lower
on_char_typed_(&parse, offset, char_typed, span::Edition::CURRENT_FIXME).map(|it| {tools/rust-analyzer/crates/ide/src/typing
one after to suggest the replacement. FIXME(estebank): This is hacky, and there'srustc_hir_typeck/src/fn_ctxt/checks
optimizations until after differentiation. FIXME(ZuseZ4): Before shipping on nightlyrustc_codegen_llvm/src/back/write
or FIXME: annotate inserted imports with the same cfgtools/rust-analyzer/crates/ide-db/src/imports/insert_use
over(left.args, right.args, |l, r| self.eq_generic_arg(l, r)) // FIXME(flip1995): may not worktools/clippy/clippy_utils/src/hir_utils
panic!("FIXME doc in a fully-documented crate: {}", path.display())tools/rust-analyzer/xtask/src/tidy
parser::Edition::CURRENT_FIXMEtools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro
pub const CURRENT_FIXME: Edition = Edition::Edition2021;tools/rust-analyzer/crates/edition/src/lib
pub static mut HACK: i32 = 0;ui/numbers-arithmetic/shift-near-oflo
reported.unwrap() // FIXME(fmease): This is very likely reachablerustc_hir_analysis/src/coherence/orphan
run(f()) // FIXME: remove this errortools/rust-analyzer/crates/ide-diagnostics/src/handlers/type_mismatch
see also an ignored test under FIXME comment in the qualify_path.rs moduletools/rust-analyzer/crates/ide-db/src/imports/import_assets
see the FIXME in that file for why this testui/inference/need_type_info/type-alias-indirect
simd_or: Uint, Int => or; // FIXME(antoyo): calling `or` might not work on vectorsrustc_codegen_gcc/src/intrinsic/simd
so we can now just go ahead and use that. FIXME(ZuseZ4): This doesn't handle sret yetrustc_codegen_llvm/src/builder/autodiff
something unresolvable. FIXME: There should be a way to prevent thattools/rust-analyzer/crates/ide/src/syntax_highlighting
source: None, // FIXME implement -Zembed-sourcerustc_codegen_cranelift/src/debuginfo/line_info
span::Edition::CURRENT_FIXMEtools/rust-analyzer/crates/proc-macro-srv/src/server_impl/token_stream
split("__CLIPPY_HACKERY__")tools/clippy/src/driver
super::LexedStr::single_token(syntax::Edition::CURRENT_FIXME, name)tools/rust-analyzer/crates/ide-db/src/syntax_helpers/suggest_name
sym::simd_relaxed_fma => "fma", // FIXME: this should relax to non-fused multiply-add when necessaryrustc_codegen_gcc/src/intrinsic/simd
that. FIXME: Give a nicer error and suggest to the user to have a `&mut Foo` input insteadui/autodiff/autodiff_illegal
the greatest API, FIXME find a better onetools/rust-analyzer/crates/hir/src/lib
the return edge from the call. FIXME(tmiasko): Since this is a strictly coderustc_mir_transform/src/validate
threads (FIXME: why?)tools/miri/src/concurrency/thread
to them, but resolving that discrepancy was left as a FIXME in the codeui/proc-macro/no-mangle-in-proc-macro-issue-111888
ty::CoroutineClosure(..) => todo!("FIXME(async_closures): Lower these to SMIR")rustc_smir/src/rustc_smir/convert/ty
ty::UnsafeBinder(_) => todo!("FIXME(unsafe_binder)")rustc_const_eval/src/interpret/validity
rustc_hir_typeck/src/cast
rustc_lint/src/types
rustc_trait_selection/src/traits/project
rustc_trait_selection/src/traits/project
ty::UnsafeBinder(_) => todo!("FIXME(unsafe_binders)")rustc_codegen_ssa/src/debuginfo/type_names
type E: _; // FIXME: make the parser propagate the existence of `B`ui/typeck/typeck_type_placeholder_item
type of the immediate. However, as a HACK, we exploit that it can also dorustc_mir_transform/src/gvn
unreachable!("FIXME: We really should have a separate `BoundConst` for consts")rustc_type_ir/src/lib
unsafe { HACK += 1; }ui/numbers-arithmetic/shift-near-oflo
unwrap() // FIXMErustc_incremental/src/persist/fs
use S::{}; // FIXME, this and `use S::{self};` should be an errorui/resolve/resolve-bad-import-prefix
use Tr::{}; // FIXME, this and `use Tr::{self};` should be an errorui/resolve/resolve-bad-import-prefix
value will be XXX (FIXME)tools/rust-analyzer/crates/ra-salsa/src/plumbing
will ICE because of #106994. FIXME(generic_const_exprs): remove this when a more general solutionrustc_hir_analysis/src/collect/predicates_of
Open
| sym::cfi_encoding // FIXME(cfi_encoding)rustc_passes/src/check_attr
| sym::deprecated_safe // FIXME(deprecated_safe)rustc_passes/src/check_attr
| sym::omit_gdb_pretty_printer_section // FIXME(omit_gdb_pretty_printer_section)rustc_passes/src/check_attr
| sym::patchable_function_entry // FIXME(patchable_function_entry)rustc_passes/src/check_attr
| sym::pointee // FIXME(derive_coerce_pointee)rustc_passes/src/check_attr
| ty::UnsafeBinder(_) => todo!("FIXME(unsafe_binder)")rustc_middle/src/ty/sty
|| "implement".to_string(), // FIXME: it might only need to be imported into scope, not implementedrustc_hir_typeck/src/method/suggest
rustc_hir_typeck/src/method/suggest
} // FIXME(@dingxiangfei2009): handle the candidates in the function call argumentsrustc_hir_typeck/src/rvalue_scopes