Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–5 unchanged (5 lines)
6
7#[rustc_dump_predicates]
8struct ConstBytes<const T: &'static [*mut u8; 3]>
9//~^ ERROR rustc_dump_predicates
10//~| NOTE Binder { value: ConstArgHasType(T/#0, &'static [*mut u8; 3_usize]), bound_vars: [] }
11//~| NOTE Binder { value: TraitPredicate(<ConstBytes<b"AAA"> as std::marker::Sized>, polarity:Positive), bound_vars: [] }
12
13where
14 ConstBytes<b"AAA">: Sized;
15//~^ ERROR mismatched types
16//~| NOTE expected `&[*mut u8; 3]`, found `&[u8; 3]`
17//~| NOTE expected reference `&'static [*mut u8; 3]`
18//~| NOTE found reference `&'static [u8; 3]`
19
20fn main() {}
21

After

…lines 1–5 unchanged (5 lines)
6
7#[rustc_dump_predicates]
8struct ConstBytes<const T: &'static [*mut u8; 3]>
9//~^ ERROR rustc_dump_predicates
10//~| NOTE Binder { value: ConstArgHasType(T/#0, &'static [*mut u8; 3_usize]), bound_vars: [] }
11//~| NOTE Binder { value: TraitPredicate(<ConstBytes<b"AAA"> as std::marker::Sized>, polarity:Positive), bound_vars: [] }
12//~| NOTE expected because of the type of the const parameter
13
14where
15 ConstBytes<b"AAA">: Sized;
16//~^ ERROR mismatched types
17//~| NOTE expected `&[*mut u8; 3]`, found `&[u8; 3]`
18//~| NOTE expected reference `&'static [*mut u8; 3]`
…lines 19–22 unchanged (4 lines)

Before

source_file
line_comment
// "//"
line_comment
// "//"
inner_attribute_item
# "#"
! "!"
[ "["
attribute
identifier "feature"
token_tree
( "("
identifier "adt_const_params"
) ")"
] "]"
inner_attribute_item
# "#"
! "!"
[ "["
attribute
identifier "feature"
token_tree
( "("
identifier "rustc_attrs"
) ")"
] "]"
attribute_item
# "#"
[ "["
attribute
identifier "rustc_dump_predicates"
] "]"
struct_item
struct "struct"
type_identifier "ConstBytes"
type_parameters (+21 nodes collapsed)
line_comment
// "//"
line_comment
// "//"
line_comment
// "//"
ERROR
where_clause
where "where"
where_predicate
generic_type
type_identifier "ConstBytes"
type_arguments
< "<"
string_literal
" "b\""
string_content "AAA"
" "\""
> ">"
trait_bounds
: ":"
type_identifier "Sized"
; ";"
line_comment
// "//"
line_comment
// "//"
line_comment
// "//"
line_comment
// "//"
function_item
fn "fn"
identifier "main"
parameters
( "("
) ")"
block
{ "{"
} "}"

After

source_file
line_comment
// "//"
line_comment
// "//"
inner_attribute_item
# "#"
! "!"
[ "["
attribute
identifier "feature"
token_tree
( "("
identifier "adt_const_params"
) ")"
] "]"
inner_attribute_item
# "#"
! "!"
[ "["
attribute
identifier "feature"
token_tree
( "("
identifier "rustc_attrs"
) ")"
] "]"
attribute_item
# "#"
[ "["
attribute
identifier "rustc_dump_predicates"
] "]"
struct_item
struct "struct"
type_identifier "ConstBytes"
type_parameters (+21 nodes collapsed)
line_comment
// "//"
line_comment
// "//"
line_comment
// "//"
line_comment
// "//"
ERROR
where_clause
where "where"
where_predicate
generic_type
type_identifier "ConstBytes"
type_arguments
< "<"
string_literal
" "b\""
string_content "AAA"
" "\""
> ">"
trait_bounds
: ":"
type_identifier "Sized"
; ";"
line_comment
// "//"
line_comment
// "//"
line_comment
// "//"
line_comment
// "//"
function_item
fn "fn"
identifier "main"
parameters
( "("
) ")"
block
{ "{"
} "}"