# COMMANDLINE cfg-in-crate-1 # MISSING: `-D warning` (deny warnings) crate-name-attr-used # `-F unused-attributes` crt-static-off-works # -C target-feature=-crt-static -Z unstable-options crt-static-on-works # -C target-feature=+crt-static -Z unstable-options debuginfo-lto # -C lto int-abs-overflow # -Z force-overflow-checks=on issue-38226 # -Cno-prepopulate-passes iter-step-overflow-debug # -C debug_assertions=yes iter-step-overflow-ndebug # -C debug_assertions=no iter-sum-overflow-debug # -C debug_assertions=yes iter-sum-overflow-ndebug # -C debug_assertions=no iter-sum-overflow-overflow-checks # -C overflow-checks lint-cap # --cap-lints allow parallel-codegen-closures # -C codegen-units sepcomp-fns # ^ sepcomp-cci # ^ sepcomp-extern # ^ sepcomp-fns-backwards # ^ sepcomp-statics # ^ sepcomp-unwind # ^ sepcomp-lib-lto # -C lto lto-many-codegen-units # ^ lto-still-runs-thread-dtor # ^ mir_overflow_off # -Z force-overflow-checks=off no-landing-pads # -Z no-landing-pads num-wrapping # -C debug-assertions shift-near-oflo # ^ slice-of-zero-size-elements # ^ optimization-fuel-0 # -Z fuel=foo=0 optimization-fuel-1 # ^ warn-ctypes-inhibit # -D improper-ctypes z-crate-attr # -Z crate-attr thin-lto-global-allocator # -Z thinlto # Requires unwinding panics unwind-resource backtrace backtrace-debuginfo backtrace-debuginfo-aux issue-24313 # Not sure if this is unwinding or TLS problems... box-of-array-of-drop-1 box-of-array-of-drop-2 catch-unwind-bang cleanup-rvalue-temp-during-incomplete-alloc drop-trait-enum dynamic-drop intrinsic-move-val-cleanups issue-14875 issue-25089 issue-26655 issue-29485 issue-29948 issue-30018-panic issue-8460 # .. except it fails because there's no overflow checks multi-panic nested-vec-3 panic-handler-chain panic-handler-flail-wildly panic-handler-set-twice panic-in-dtor-drops-fields panic-recover-propagate reachable-unnameable-items slice-panic-1 slice-panic-2 task-stderr terminate-in-initializer test-should-fail-good-message unit-like-struct-drop-run unwind-unique vector-sort-panic-safe test-allow-fail-attr # LEX lex-bare-cr-nondoc-comment # Don't treat \r as a new line # PARSE align-struct # repr(align(2)) - Need to support integers in attributes catch-expr # MISSING: `do catch {}` syntax loop-break-value # TODO: Handle loop labels in expression position. match-range # TODO: Exlusive ranges in patterns paths-in-macro-invocations # TODO: Handle path macros at root. trait-object-lifetime-first # TODO: Handle lifetime annotations before traits in trait objects vec-matching # TODO: Nested slice patterns # EXPAND tydesc-name # Difference in printing of paths macro-use-one # Selective macro_use two-macro-use # ^ empty_global_asm # global_asm! macro not implemented simple_global_asm # ^ issue-38715 # BUG: macro_export doesn't shadow correctly concat # BUG: Slight difference in printing of some tokens deriving-copyclone # BUG: `derive(Copy,Clone)` generates a standard clone impl format-ref-cell # BUG: format_args! ordering ifmt # MISSING: Support for * in format_args! hygiene # TODO: Attempted to copy a :expr fragment (shouldn't error, bug in impl?) issue-11085 # MISSING: cfg() on enum variants issue-15221 # BUG: macro_rules eval - :pat in :pat issue-18859 # BUG: module_path! doesn't include crate name hygienic-labels # BUG: hygine doesn't apply to loop labels hygienic-labels-in-let # ^ issue-26322 # BUG: line/column macros aren't quite correct syntax-extension-source-utils # ^ issue-40469 # BUG: macro invocation results expanded after rest of module issue-41803 # BUG: ^ lexer-crlf-line-endings-string-literal-doc-comment # Unknown: \r\n lost as part of include_str? link-cfg-works # TODO: #[link(.., cfg(bar)] log_syntax-trace_macros-macro-locations # trace_macros! macro-doc-raw-str-hashes # TODO: stringify! on :meta macro-interpolation # TODO: Allow :block for function body macro-stmt # ^ macro-pub-matcher # TODO: macro_rules :vis fragment macro-reexport-no-intermediate-use # #[macro_reexport] macro-use-all-and-none # TODO: #[macro_use(foo)] macro-use-both # ^ simd-intrinsic-generic-cast # TODO: concat_idents! macro simd-intrinsic-generic-comparison # ^ smallest-hello-world # Unknown lang item "eh_unwind_resume" stmt_expr_attr_macro_parse # macro_rules - attributes not consumed as part of :expr sync-send-iterators-in-libcollections # macro_rules - :expr matching bare .. trait-item-inside-macro # TODO: Allow macro invocations in traits try-operator-custom # TODO: use the ops::Try trait instead of try! desugar type-macros-simple # macro_rules ordering with nested items # RESOLVE issue-33687 # Calling a unit-like struct with Fn* traits - "Pointed struct in TupleVariant (::Test) isn't a Tuple" static-function-pointer-xc # Calling a static function pointer const-block # ^ const-block-cross-crate-fn # ^ const-block-item # ^ rfc1623 # ^ static-function-pointer # ^ issue-17718 # ^ (const here, but same idea) issue-27890 # ^ empty-struct-braces # MISSING: Full support for braced initialisers for unit-like structs/variants issue-22546 # ^ issue-29540 # Errors out on very deep method call list. issue-34751 # Treats unit-like structs as refutable patterns mir_ascription_coercion # TODO: Either visit expected types, or make a type annotation its own node type type-ascription # ^ # CONST EVAL associated-const-type-parameters # TODO: Associated const referred from associated const check-static-mut-slices # MISSING: "Only shared borrows are allowed in constants" const-vec-of-fns # ^ check-static-slice # TODO: "LValue::Deref" const-deref # ^ const-enum-vec-index # ^ const-fields-and-indexing # ^ issue-17233 # ^ closure-to-fn-coercion # TODO: Allow closures in consts const-autoderef # Autoderef in Const const-binops # TODO: Branching in MIR Consteval const-contents # BUG: !true evaluates to true const-enum-cast # TODO: Allow casting enum to integer enum-vec-initializer # ^ issue-38942 # ^ (but to float) issue-41394 # ^ const-err # TODO: Comparisons (in HIR consteval) issue-39548 # ^ const-fn # ERROR: Unable to infer in consteval ("Indexing non-array - _") const-fn-method # ^ const-region-ptrs-noncopy # BUG: Borrows from another static different pointer. discriminant_value # BUG: No truncation of descriminant numbers issue-23968-const-not-overflow # BUG: operations work on u64 and don't saturate correctly, issue-25757 # TODO: Handle ::bar borrows ufcs-polymorphic-paths # ^ issue-38002 # TODO: Enum variants match-arm-statics # ^ issue-9837 # BUG: No truncation on cast mir_refs_correct # TODO: Struct constructor to function pointer signed-shift-const-eval # BUG: Signed shift incorrect value # HIR GENERAL fn-item-type-zero-sized # fn types generic-default-type-params # Bind - TODO "Monomorphise in fix_param_count" issue-39367 # ^ huge-largest-array # `unsigned int` too small to hold array size vec-fixed-length # ^ issue-15523-big # 64-bit enum reprs issue-2718 # isize enum repr small-enum-range-edge # i8 enum repr issue-22258 # BUG: Incorrect handling of trait param defaults multiple-reprs # BUG: Incorrect handling of multiple reprs placement-in-syntax # BUG: Can't find impl in optimise struct-path-associated-type # HUH? `T::A { ... }` struct literal with (bounded) associated const struct-path-self # TODO: Handle `Self` in patterns issue-17170 # TODO: #[repr(simd)] simd-size-align # ^ simd-type # ^ simd-upgraded # ^ # TYPECHECK associated-types-doubleendediterator-object # BUG BUG: Validation failed autoderef-privacy # KNOWN BUG: Privacy isn't applied intrinsic-move-val # ^ cast-rfc0401 # MISSING: Doesn't allow casts from array borrows to inner-type rawptrs closure_to_fn_coercion-expected-types # MISSING: Closures to fn types coerce-overloaded-autoderef # TODO: Failure in deref coercions issue-7784 # BUG: PartialEq and deref coercion not working correctly. const-cast # TODO: Allow cast of fn() to *const _ mir_misc_casts # ^ discrim-explicit-23030 # BUG: Enum variant types issue-13902 # ^ issue-15523 # ^ issue-38727 # ^ issue-42007 # ^ issue-23304-1 # ^ (float) issue-23304-2 # ^ issue-23898 # ^ empty-types-in-patterns # Inferrence failure in empty match generic-default-type-params-cross-crate # Inferrence failure (not using type defaults) issue-11205 # Inferrence failure (doesn't consider trait impls in inferrence) issue-9951 # ^ trait-copy-guessing # ^ trait-default-method-xc # ^ trait-impl # ^ issue-20575 # Inferrence failure (closure return type from Fn bound) issue-26805 # Inferrence failure (doesn't use associated types) last-use-in-cap-clause # ^ overloaded-calls-object-zero-args # ^ regions-infer-borrow-scope-addr-of # Inferrence failure with `&isize` and `&{int} swap-2 # ^ slice_binary_search # Inferrence failure with &String and &str never-result # Inferrence failure: Race with ! new-box-syntax # Inferrence failure: Box syntax and literals issue-21245 # BUG: Method lookup doesn't consider IntoIterator on an Iterator issue-23208 # Trait lookup not considering supertraits. traits-issue-26339 # ^ traits-repeated-supertrait # Multiple supertraits confusing inferrence issue-21410 # Infinite Recursion on closure type. issue-25439 # ^ project-cache-issue-31849 # Excessive typecheck time issue-21486 # Diverging function - in struct literal issue-30371 # Match of ! issue-21922 # BUG: Missed coercion point. mir_coercions # TODO: Coerce to unsafe fn typeck-fn-to-unsafe-fn-ptr # ^ unsafe-coercion # ^ never_coercions # Failed to coerce (related to !?) variadic-ffi # Assertion failure caused by variadic function pointer weird-exprs # Return in a let not triggering diverge. wrapping-int-api # Implicit integer truncation with ` as u64` # -> Unsize failures fat-ptr-cast # Array unsize missed issue-20797 # Trait unsize runthrough issue-26905 # Manual CoerceUnsized not working? # - Unsupported features unsized-tuple-impls # Unsized tuples, no CoerceUnsized impl # MIR GEN: issue-18352 # append_from_lit - Match literal Borrow issue-11940 # ^ mir_build_match_comparisons # ^ issue-36936 # Identity casts are removed. binary-heap-panic-safe # TODO Attempts to move out of a Deref operator... failed &mut reborrow? issue-28839 # ^ issue-21306 # ^ Likely caused by bad Fn* selection byte-literals # "Attempting to match on an Array (should have been destructured)" cast # TODO: Allow cast char -> i32 cleanup-rvalue-during-if-and-while # BUG: Temporaries created in conditions not dropped at right time. mir_drop_order # BUG: incorrect drop ordering with borrows cleanup-rvalue-scopes # BUG: Incorrect drop ordering around `box ref` patterns const-str-ptr # TODO: MIR Cleanup "BorrowOf into pointer" issue-13620 # TODO: MIR Cleanup - fn pointer diverging-fallback-control-flow # "No value avaliable" diverging-fallback-option # ^ issue-15763 # ^ issue-18110 # ^ issue-30018-nopanic # ^ match-bot-2 # ^ unreachable-code # ^ diverging-fn-tail-35849 # Validation error, assign to ! (return value) in unreachable branch if-ret # "If condition wasn't bool" issue-15080 # XXX: SplitSlice match edge case leading to DIVERGE being hit issue-17877 # TODO: SplitSlice on array vec-matching-fixed # ^ vec-tail-matching # Trailing SplitSlice zero_sized_subslice_match # ^ issue-23311 # TODO: rules_overlap - byte string and slice pattern issue-23338-ensure-param-drop-order # BUG: Incorrect ordering of parameter drop. issue-27054-primitive-binary-ops # BUG: LHS of operator read after RHS evaluated issue-28950 # BUG? Stack overflow not prevented mir_heavy_promoted # ^ issue-32805 # BUG: Possible f32 literal rounding isue issue-4734 # BUG: Unused values not dropped. match-byte-array-patterns # ASSERTION (column_weights vs arms) match-ref-unsized # TODO: Allow `ref v = *"string"` (ref to unsized value) mir_raw_fat_ptr # TODO: Handle ordering comparisons on raw pointers move-guard-const # NOT A BUG: rustc allows match guards to move, mrustc does not. struct-order-of-eval-1 # BUG: Use of non-valid local struct-order-of-eval-3 # ^ # > Cleanup issue-6919 # Handle function pointer from Literal # TRANS enum-discrim-autosizing # Incorrect enum descrim auto-selection (0x80 picks i16) enum-discrim-width-stuff # ^ nonzero-enum # No packing of None into invalid inner variants type-sizes # Inefficient field packing in enum variants float_math # Missing intrinsic (fadd_fast) issue-38074 # Missing intrinsic (simd_shuffle) simd-generics # Missing intrinsic (simd_*) simd-intrinsic-generic-arithmetic # ^ simd-intrinsic-generic-elements # ^ raw-fat-ptr # Ordering comparisons of raw pointers abi-sysv64-register-usage # asm! register translation allocator-override # asm! translation - "TODO: Handle asm! output leader 'r'" i128 # ^ issue-32947 # ^ issue-41696 # ^ u128 # ^ asm-in-out-operand # asm! translation - "Assembly output specifiers must start with =" asm-indirect-memory # ^ issue-14936 # ^ asm-out-assign # asm! translation drop-struct-as-object # BUG: Box destructor doesn't call inner destructor? init-res-into-things # ^ issue-10802 # ^ mir_fat_ptr_drop # ^ dst-field-align # BUG: Alignment of DST fields not valid. enum-discr # Signed discriminants enum-disr-val-pretty # ^ tag-variant-disr-val # ^ enum-discrim-manual-sizing # TODO: Enum reprs not being correctly used (signed reprs?) enum-univariant-repr # ^ enum-layout-optimization # BUG: Option size optimisation not applied enum-null-pointer-opt # ^ nullable-pointer-size # ^ explicit-self-generic # BUG: Incorrect method lookup (doesn't try autoderef, picks ExactSizeIterator) i128-ffi # UNK: i128 is hard (TODO: TRIAGE) intrinsic-alignment # MISSING: intrinsic `pref_align_of` intrinsics-integer # `ctpop` signed negative returns OOB value (e.g. 32 instead of 8 on i8) issue-21058 # BUG: Enumerate doesn't handle data-less trait objects (e.g. `dyn Send`) issue-25515 # ^ issue-26709 # ^ issue-35815 # ^ issue-34796 # BUG: Missing vtable type. mir_calls_to_shims # BUG: Missing functions (bad enumerate?) newtype # Incorrect error when a struct is used in a function pointer to itself trans-object-shim # BUG: Doesn't generate `<(Foo) as Foo>::bar` function. transmute-specialization # BUG: Enumerate hit an opaque type type-id-higher-rank # BUG: type_id returns the same value for `for<'a> fn(&'a T)` as `fn(&'static T)` type-id-higher-rank-2 # ^ (test failed) unsized3 # BUG: Incorrect dst type annotation for struct containing `str` utf8_idents # BUG: No escaping of utf8 in symbols, GCC doesn't like this abi-sysv64-arg-passing # ERROR: Empty struct arguments to FFI aren't actually empty extern-pass-empty # ^ thread-local-extern-static # TODO: #[no_mangle] on statatic definition # SIMD (minimal support in mrustc, all SIMD ops abort) simd-intrinsic-float-math simd-intrinsic-float-minmax simd-intrinsic-generic-gather simd-intrinsic-generic-reduction simd-intrinsic-generic-select # HIR MISC xcrate-associated-type-defaults # type_is_specialisable - Handle missing type in impl(0x17e3018) ::"xcrate_associated_type_defaults"::Foo for () {}, name = Out default-associated-types # ^ issue-25180 # Closure in const issue-27268 # ^ issue-28189 # ^ self-impl # Can't find impl in Expand UFCS # MISC allocator-default # Needs alloc_jealloc, which isn't built lib-defaults # Crate type "staticlib" linkage1 # "extern_weak" linkage reexport-test-harness-main # NOT A BUG: Tests an implementation detail of the test harness test-runner-hides-start # BUG: Test harness doesn't hide #[start] tls-dtors-are-run-in-a-static-binary # Thread-local destructors aren't being run. issue-42747 # 27 deep enum chain, VERY long time in gcc # TEST RUNNER exec-env # Runtime environment variable extern-crosscrate # test runner params with no leading space # Requires unwinding panics unwind-resource backtrace backtrace-debuginfo backtrace-debuginfo-aux issue-24313 # Not sure if this is unwinding or TLS problems... box-of-array-of-drop-1 box-of-array-of-drop-2 builtin-clone-unwind catch-unwind-bang cleanup-rvalue-temp-during-incomplete-alloc drop-trait-enum dynamic-drop intrinsic-move-val-cleanups issue-14875 issue-25089 issue-26655 issue-29485 issue-29948 issue-30018-panic issue-42148 issue-8460 # .. except it fails because there's no overflow checks multi-panic nested-vec-3 panic-handler-chain panic-handler-flail-wildly panic-handler-set-twice panic-in-dtor-drops-fields panic-recover-propagate reachable-unnameable-items slice-panic-1 slice-panic-2 task-stderr terminate-in-initializer test-should-fail-good-message unit-like-struct-drop-run unwind-unique vector-sort-panic-safe # vim: ft=make expandtab ts=4