From 43e6d755dc65a46403f4c2b34ebbd08c02b40cba Mon Sep 17 00:00:00 2001 From: N1ark Date: Tue, 18 Aug 2026 17:31:57 +0200 Subject: [PATCH 1/3] Add test for Cargo's `--test` --- charon/tests/cargo.rs | 7 + charon/tests/cargo/test-attributes.out | 962 ++++++++++++++++++ charon/tests/cargo/test-attributes/Cargo.lock | 7 + charon/tests/cargo/test-attributes/Cargo.toml | 6 + charon/tests/cargo/test-attributes/src/lib.rs | 19 + 5 files changed, 1001 insertions(+) create mode 100644 charon/tests/cargo/test-attributes.out create mode 100644 charon/tests/cargo/test-attributes/Cargo.lock create mode 100644 charon/tests/cargo/test-attributes/Cargo.toml create mode 100644 charon/tests/cargo/test-attributes/src/lib.rs diff --git a/charon/tests/cargo.rs b/charon/tests/cargo.rs index 325bc43ff..6c064a9b8 100644 --- a/charon/tests/cargo.rs +++ b/charon/tests/cargo.rs @@ -234,6 +234,13 @@ fn main() -> Result<(), Box> { Success, ), issue_1298, + mktest( + "test-attributes", + root.join("test-attributes"), + &[], + &["--tests".to_owned()], + Success, + ), ]; let args = libtest_mimic::Arguments::from_args(); diff --git a/charon/tests/cargo/test-attributes.out b/charon/tests/cargo/test-attributes.out new file mode 100644 index 000000000..a02705f0d --- /dev/null +++ b/charon/tests/cargo/test-attributes.out @@ -0,0 +1,962 @@ +# Final LLBC before serialization: + +// Full name: core::alloc::layout::Layout +#[lang_item(AllocLayout)] +pub opaque type Layout + +// Full name: core::alloc::AllocError +pub struct AllocError {} + +// Full name: core::marker::MetaSized +#[lang_item(MetaSized)] +pub trait MetaSized + +// Full name: core::marker::Sized +#[lang_item(Sized)] +pub trait Sized +{ + proof ImpliedClause0: (Self: MetaSized) + non-dyn-compatible +} + +// Full name: core::result::Result +#[diagnostic_item("Result")] +pub enum Result +where + TraitClause0: (T: Sized), + TraitClause1: (E: Sized), +{ + Ok { _0: T }, + Err { _0: E }, +} + +// Full name: core::ptr::non_null::NonNull +#[diagnostic_item("NonNull")] +pub opaque type NonNull + +// Full name: core::alloc::Allocator +pub trait Allocator +{ + proof ImpliedClause0: (Self: MetaSized) + fn allocate<'_0_1>; + fn deallocate<'_0_1>; + vtable: core::alloc::Allocator::{vtable} +} + +// Full name: core::borrow::Borrow +#[diagnostic_item("Borrow")] +pub trait Borrow +{ + proof ImpliedClause0: (Self: MetaSized) + proof ImpliedClause1: (Borrowed: MetaSized) + fn borrow<'_0_1>; + vtable: core::borrow::Borrow::{vtable} +} + +// Full name: core::fmt::Arguments +#[lang_item(FormatArguments)] +pub opaque type Arguments<'a> + +// Full name: core::fmt::{Arguments<'a>}::from_str +pub fn from_str<'a>(_1: &'static str) -> Arguments<'a> += + +// Full name: core::marker::Send +#[diagnostic_item("Send")] +pub trait Send + +// Full name: core::marker::Destruct +#[lang_item(Destruct)] +pub trait Destruct +{ + fn drop_glue<'_0_1>; + non-dyn-compatible +} + +// Full name: core::marker::Tuple +#[lang_item(Tuple)] +pub trait Tuple +{ + proof ImpliedClause0: (Self: MetaSized) + non-dyn-compatible +} + +opaque type core::ops::function::Fn::{vtable} + +opaque type core::ops::function::FnOnce::{vtable} + +// Full name: core::ops::function::FnOnce +#[lang_item(FnOnce)] +pub trait FnOnce +{ + proof ImpliedClause0: (Self: MetaSized) + proof ImpliedClause1: (Args: Sized) + proof ImpliedClause2: (Args: Tuple) + proof ImpliedClause3: (Self::Output: Sized) + type Output + fn call_once; + vtable: core::ops::function::FnOnce::{vtable} +} + +// Full name: core::ops::function::FnMut +#[lang_item(FnMut)] +pub trait FnMut +{ + proof ImpliedClause0: (Self: MetaSized) + proof ImpliedClause1: (Self: FnOnce) + proof ImpliedClause2: (Args: Sized) + proof ImpliedClause3: (Args: Tuple) + fn call_mut<'_0_1>; + vtable: core::ops::function::FnMut::{vtable} +} + +// Full name: core::ops::function::Fn +#[lang_item(Fn)] +pub trait Fn +{ + proof ImpliedClause0: (Self: MetaSized) + proof ImpliedClause1: (Self: FnMut) + proof ImpliedClause2: (Args: Sized) + proof ImpliedClause3: (Args: Tuple) + fn call<'_0_1>; + vtable: core::ops::function::Fn::{vtable} +} + +// Full name: core::option::Option +#[lang_item(Option)] +#[diagnostic_item("Option")] +pub enum Option +where + TraitClause0: (T: Sized), +{ + None, + Some { _0: T }, +} + +// Full name: std::process::ExitCode +pub opaque type ExitCode + +// Full name: std::process::Termination +#[lang_item(Termination)] +pub trait Termination +{ + proof ImpliedClause0: (Self: MetaSized) + fn report; + vtable: std::process::Termination::{vtable} +} + +// Full name: std::process::{impl Termination for ()}::report +pub fn report(_1: ()) -> ExitCode += + +// Full name: std::process::{impl Termination for ()} +impl "impl_Termination_for_unit" Termination for () { + proof ImpliedClause0: ((): MetaSized) = {built_in impl MetaSized for ()} + fn report = report + vtable: impl_Termination_for_unit::{vtable} +} + +// Full name: alloc::alloc::Global +#[lang_item(GlobalAlloc)] +pub struct Global {} + +// Full name: alloc::alloc::{impl Allocator for Global}::deallocate +pub unsafe fn deallocate<'_0>(_1: &'_0 Global, _2: NonNull, _3: Layout) += + +// Full name: alloc::alloc::{impl Allocator for Global}::allocate +pub fn allocate<'_0>(_1: &'_0 Global, _2: Layout) -> Result, AllocError>[{built_in impl Sized for NonNull<[u8]>}, {built_in impl Sized for AllocError}] += + +// Full name: alloc::alloc::{impl Allocator for Global} +impl "impl_Allocator_for_Global" Allocator for Global { + proof ImpliedClause0: (Global: MetaSized) = {built_in impl MetaSized for Global} + fn allocate<'_0_1> = allocate<'_0_1> + fn deallocate<'_0_1> = deallocate<'_0_1> + vtable: impl_Allocator_for_Global::{vtable} +} + +// Full name: alloc::borrow::ToOwned +#[diagnostic_item("ToOwned")] +pub trait ToOwned +{ + proof ImpliedClause0: (Self: MetaSized) + proof ImpliedClause1: (Self::Owned: Sized) + proof ImpliedClause2: (Self::Owned: Borrow) + type Owned + fn to_owned<'_0_1>; + non-dyn-compatible +} + +// Full name: alloc::borrow::Cow +#[diagnostic_item("Cow")] +pub enum Cow<'a, B> +where + TraitClause0: (B: MetaSized), + TraitClause1: (B: ToOwned), + TypeOutlives0: B: 'a, + TypeOutlives1: B: 'a, +{ + Borrowed { _0: &'a B }, + Owned { _0: TraitClause1::Owned }, +} + +// Full name: alloc::boxed::Box +#[lang_item(OwnedBox)] +pub opaque type Box +where + TraitClause0: (T: MetaSized), + TraitClause1: (A: Sized), + TraitClause2: (A: Allocator), + +// Full name: alloc::string::String +#[lang_item(String)] +pub opaque type String + +// Full name: alloc::str::{impl Borrow for String}::borrow +pub fn borrow<'_0>(_1: &'_0 String) -> &'_0 str += + +// Full name: alloc::str::{impl Borrow for String} +impl "impl_Borrow_str_for_String" Borrow for String { + proof ImpliedClause0: (String: MetaSized) = {built_in impl MetaSized for String} + proof ImpliedClause1: (str: MetaSized) = {built_in impl MetaSized for str} + fn borrow<'_0_1> = borrow<'_0_1> + vtable: impl_Borrow_str_for_String::{vtable} +} + +// Full name: alloc::str::{impl ToOwned for str}::to_owned +pub fn to_owned<'_0>(_1: &'_0 str) -> String += + +// Full name: alloc::str::{impl ToOwned for str} +impl "impl_ToOwned_for_str" ToOwned for str { + proof ImpliedClause0: (str: MetaSized) = {built_in impl MetaSized for str} + proof ImpliedClause1: (String: Sized) = {built_in impl Sized for String} + proof ImpliedClause2: (String: Borrow) = impl_Borrow_str_for_String + type Owned = String + fn to_owned<'_0_1> = to_owned<'_0_1> + non-dyn-compatible +} + +// Full name: test::bench::Bencher +pub opaque type Bencher + +// Full name: test::types::NamePadding +pub enum NamePadding { + PadNone, + PadOnRight, +} + +// Full name: test::types::TestName +pub enum TestName { + StaticTestName { _0: &'static str }, + DynTestName { _0: String }, + AlignedTestName { _0: Cow<'static, str>[{built_in impl MetaSized for str}, impl_ToOwned_for_str], _1: NamePadding }, +} + +// Full name: test::types::TestType +pub enum TestType { + UnitTest, + IntegrationTest, + DocTest, + Unknown, +} + +// Full name: test::options::ShouldPanic +pub enum ShouldPanic { + No, + Yes, + YesWithMessage { _0: &'static str }, +} + +// Full name: test::types::TestDesc +pub struct TestDesc { + name: TestName, + ignore: bool, + ignore_message: Option<&'static str>[{built_in impl Sized for &'static str}], + source_file: &'static str, + start_line: usize, + start_col: usize, + end_line: usize, + end_col: usize, + should_panic: ShouldPanic, + compile_fail: bool, + no_run: bool, + test_type: TestType, +} + +// Full name: test::types::TestFn +pub enum TestFn { + StaticTestFn { _0: fn() -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] }, + StaticBenchFn { _0: fn<'_0_1>(&'_0_1 mut Bencher) -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] }, + StaticBenchAsTestFn { _0: fn<'_0_1>(&'_0_1 mut Bencher) -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] }, + DynTestFn { _0: Box<(dyn FnOnce<(), Output = Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]> + Send + 'static), Global>[{built_in impl MetaSized for (dyn FnOnce<(), Output = Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]> + Send + 'static)}, {built_in impl Sized for Global}, impl_Allocator_for_Global] }, + DynBenchFn { _0: Box<(dyn for<'_0_2> Fn<(&'_0_2 mut Bencher,), ImpliedClause1::ImpliedClause1::Output = Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]> + Send + 'static), Global>[{built_in impl MetaSized for (dyn for<'_0_3> Fn<(&'_0_3 mut Bencher,), ImpliedClause1::ImpliedClause1::Output = Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]> + Send + 'static)}, {built_in impl Sized for Global}, impl_Allocator_for_Global] }, + DynBenchAsTestFn { _0: Box<(dyn for<'_0_2> Fn<(&'_0_2 mut Bencher,), ImpliedClause1::ImpliedClause1::Output = Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]> + Send + 'static), Global>[{built_in impl MetaSized for (dyn for<'_0_3> Fn<(&'_0_3 mut Bencher,), ImpliedClause1::ImpliedClause1::Output = Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]> + Send + 'static)}, {built_in impl Sized for Global}, impl_Allocator_for_Global] }, +} + +// Full name: test::types::TestDescAndFn +pub struct TestDescAndFn { + desc: TestDesc, + testfn: TestFn, +} + +// Full name: test::test_main_static +pub fn test_main_static<'_0, '_1>(_1: &'_0 [&'_1 TestDescAndFn]) +where + RegionOutlives0: '_1: '_0, += + +// Full name: test::assert_test_result +pub fn assert_test_result(_1: T) -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +where + TraitClause0: (T: Sized), + TraitClause1: (T: Termination), += + +// Full name: test::types::TestName::{impl Destruct for TestName}::drop_glue +unsafe fn impl_Destruct_for_TestName::drop_glue<'_0>(_1: &'_0 mut TestName) += + +// Full name: test::types::TestFn::{impl Destruct for TestFn}::drop_glue +unsafe fn impl_Destruct_for_TestFn::drop_glue<'_0>(_1: &'_0 mut TestFn) += + +// Full name: test::types::TestDesc::{impl Destruct for TestDesc}::drop_glue +unsafe fn impl_Destruct_for_TestDesc::drop_glue<'_0>(_1: &'_0 mut TestDesc) += + +// Full name: test_attributes::foo +fn foo() +{ + let _0: (); // return + + storage_live(_0) + _0 = () + _0 = () + return +} + +struct test_attributes::tests::test_ignore::closure {} + +// Full name: test_attributes::tests::test_ignore::closure::{impl Destruct for test_attributes::tests::test_ignore::closure}::drop_glue +unsafe fn {impl Destruct for test_attributes::tests::test_ignore::closure}::drop_glue<'_0>(_1: &'_0 mut test_attributes::tests::test_ignore::closure) +{ + let _0: (); // return + let _1: &'1 mut test_attributes::tests::test_ignore::closure; // arg #1 + + storage_live(_0) + _0 = () + return +} + +fn test_attributes::tests::test_ignore#1() +{ + let _0: (); // return + + storage_live(_0) + _0 = () + _0 = () + return +} + +// Full name: test_attributes::tests::test_ignore::{impl Fn<()> for test_attributes::tests::test_ignore::closure}::call +fn {impl Fn<()> for test_attributes::tests::test_ignore::closure}::call<'_0>(_1: &'_0 test_attributes::tests::test_ignore::closure, tupled_args: ()) -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +{ + let _0: Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // return + let _1: &'1 test_attributes::tests::test_ignore::closure; // arg #1 + let tupled_args: (); // arg #2 + let _3: (); // anonymous local + + storage_live(_0) + storage_live(_3) + _3 = test_attributes::tests::test_ignore#1() + ↳⚡ unwind_continue + _0 = assert_test_result<()>[{built_in impl Sized for ()}, impl_Termination_for_unit](move _3) + ↳⚡ unwind_continue + storage_dead(_3) + return +} + +// Full name: test_attributes::tests::test_ignore::{impl FnMut<()> for test_attributes::tests::test_ignore::closure}::call_mut +fn {impl FnMut<()> for test_attributes::tests::test_ignore::closure}::call_mut<'_0>(state: &'_0 mut test_attributes::tests::test_ignore::closure, args: ()) -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +{ + let _0: Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // return + let state: &'_0 mut test_attributes::tests::test_ignore::closure; // arg #1 + let args: (); // arg #2 + let _3: &'0 test_attributes::tests::test_ignore::closure; // anonymous local + + storage_live(_0) + storage_live(_3) + _3 = &(*state) + _0 = {impl Fn<()> for test_attributes::tests::test_ignore::closure}::call<'2>(move _3, move args) + ↳⚡ unwind_continue + return +} + +// Full name: test_attributes::tests::test_ignore::{impl FnOnce<()> for test_attributes::tests::test_ignore::closure}::call_once +fn {impl FnOnce<()> for test_attributes::tests::test_ignore::closure}::call_once(_1: test_attributes::tests::test_ignore::closure, _2: ()) -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +{ + let _0: Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // return + let _1: test_attributes::tests::test_ignore::closure; // arg #1 + let _2: (); // arg #2 + let _3: &'1 mut test_attributes::tests::test_ignore::closure; // anonymous local + + storage_live(_0) + storage_live(_3) + _3 = &mut _1 + _0 = {impl FnMut<()> for test_attributes::tests::test_ignore::closure}::call_mut<'2>(move _3, move _2) + ↳⚡ drop[{impl Destruct for test_attributes::tests::test_ignore::closure}::drop_glue<'3>] _1 + ↳⚡ unwind_terminate + unwind_continue + drop[{impl Destruct for test_attributes::tests::test_ignore::closure}::drop_glue<'4>] _1 + ↳⚡ unwind_continue + return +} + +fn test_attributes::tests::test_ignore::closure::as_fn() -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +{ + let _0: Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // return + let args: (); // local + let state: test_attributes::tests::test_ignore::closure; // local + + storage_live(_0) + storage_live(args) + storage_live(state) + args = () + state = test_attributes::tests::test_ignore::closure { } + _0 = {impl FnOnce<()> for test_attributes::tests::test_ignore::closure}::call_once(move state, move args) + ↳⚡ unwind_continue + return +} + +pub fn test_attributes::tests::test_ignore() -> TestDescAndFn +{ + let _0: TestDescAndFn; // return + let _1: TestDesc; // anonymous local + let _2: TestName; // anonymous local + let _3: Option<&'6 str>[{built_in impl Sized for &'6 str}]; // anonymous local + let _4: ShouldPanic; // anonymous local + let _5: TestType; // anonymous local + let _6: TestFn; // anonymous local + let _7: fn() -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // anonymous local + let _8: test_attributes::tests::test_ignore::closure; // anonymous local + + storage_live(_0) + storage_live(_1) + storage_live(_2) + _2 = TestName::StaticTestName { _0: const "tests::test_ignore" } + storage_live(_3) + _3 = Option::None { } + storage_live(_4) + _4 = ShouldPanic::No { } + storage_live(_5) + _5 = TestType::UnitTest { } + _1 = TestDesc { name: move _2, ignore: const true, ignore_message: move _3, source_file: const "src/lib.rs", start_line: const 18usize, start_col: const 8usize, end_line: const 18usize, end_col: const 19usize, should_panic: move _4, compile_fail: const false, no_run: const false, test_type: move _5 } + storage_dead(_5) + storage_dead(_4) + storage_dead(_3) + conditional_drop[impl_Destruct_for_TestName::drop_glue<'16>] _2 + ↳⚡ conditional_drop[impl_Destruct_for_TestDesc::drop_glue<'18>] _1 + ↳⚡ unwind_terminate + unwind_continue + storage_dead(_2) + storage_live(_6) + storage_live(_7) + storage_live(_8) + _8 = test_attributes::tests::test_ignore::closure { } + _7 = cast Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]>(const test_attributes::tests::test_ignore::closure::as_fn) + storage_dead(_8) + _6 = TestFn::StaticTestFn { _0: move _7 } + storage_dead(_7) + _0 = TestDescAndFn { desc: move _1, testfn: move _6 } + conditional_drop[impl_Destruct_for_TestFn::drop_glue<'17>] _6 + ↳⚡ conditional_drop[impl_Destruct_for_TestDesc::drop_glue<'18>] _1 + ↳⚡ unwind_terminate + unwind_continue + storage_dead(_6) + conditional_drop[impl_Destruct_for_TestDesc::drop_glue<'19>] _1 + ↳⚡ unwind_continue + storage_dead(_1) + return +} + +pub const test_attributes::tests::test_ignore: TestDescAndFn = test_attributes::tests::test_ignore() + +struct test_attributes::tests::test_should_panic::closure {} + +// Full name: test_attributes::tests::test_should_panic::closure::{impl Destruct for test_attributes::tests::test_should_panic::closure}::drop_glue +unsafe fn {impl Destruct for test_attributes::tests::test_should_panic::closure}::drop_glue<'_0>(_1: &'_0 mut test_attributes::tests::test_should_panic::closure) +{ + let _0: (); // return + let _1: &'1 mut test_attributes::tests::test_should_panic::closure; // arg #1 + + storage_live(_0) + _0 = () + return +} + +fn test_attributes::tests::test_should_panic#1() +{ + let _0: (); // return + let _1: Arguments<'1>; // anonymous local + + storage_live(_0) + _0 = () + storage_live(_1) + _1 = from_str<'2>(const "This test should panic") + ↳⚡ unwind_continue + panic(core::panicking::panic_fmt) +} + +// Full name: test_attributes::tests::test_should_panic::{impl Fn<()> for test_attributes::tests::test_should_panic::closure}::call +fn {impl Fn<()> for test_attributes::tests::test_should_panic::closure}::call<'_0>(_1: &'_0 test_attributes::tests::test_should_panic::closure, tupled_args: ()) -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +{ + let _0: Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // return + let _1: &'1 test_attributes::tests::test_should_panic::closure; // arg #1 + let tupled_args: (); // arg #2 + let _3: (); // anonymous local + + storage_live(_0) + storage_live(_3) + _3 = test_attributes::tests::test_should_panic#1() + ↳⚡ unwind_continue + _0 = assert_test_result<()>[{built_in impl Sized for ()}, impl_Termination_for_unit](move _3) + ↳⚡ unwind_continue + storage_dead(_3) + return +} + +// Full name: test_attributes::tests::test_should_panic::{impl FnMut<()> for test_attributes::tests::test_should_panic::closure}::call_mut +fn {impl FnMut<()> for test_attributes::tests::test_should_panic::closure}::call_mut<'_0>(state: &'_0 mut test_attributes::tests::test_should_panic::closure, args: ()) -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +{ + let _0: Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // return + let state: &'_0 mut test_attributes::tests::test_should_panic::closure; // arg #1 + let args: (); // arg #2 + let _3: &'0 test_attributes::tests::test_should_panic::closure; // anonymous local + + storage_live(_0) + storage_live(_3) + _3 = &(*state) + _0 = {impl Fn<()> for test_attributes::tests::test_should_panic::closure}::call<'2>(move _3, move args) + ↳⚡ unwind_continue + return +} + +// Full name: test_attributes::tests::test_should_panic::{impl FnOnce<()> for test_attributes::tests::test_should_panic::closure}::call_once +fn {impl FnOnce<()> for test_attributes::tests::test_should_panic::closure}::call_once(_1: test_attributes::tests::test_should_panic::closure, _2: ()) -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +{ + let _0: Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // return + let _1: test_attributes::tests::test_should_panic::closure; // arg #1 + let _2: (); // arg #2 + let _3: &'1 mut test_attributes::tests::test_should_panic::closure; // anonymous local + + storage_live(_0) + storage_live(_3) + _3 = &mut _1 + _0 = {impl FnMut<()> for test_attributes::tests::test_should_panic::closure}::call_mut<'2>(move _3, move _2) + ↳⚡ drop[{impl Destruct for test_attributes::tests::test_should_panic::closure}::drop_glue<'3>] _1 + ↳⚡ unwind_terminate + unwind_continue + drop[{impl Destruct for test_attributes::tests::test_should_panic::closure}::drop_glue<'4>] _1 + ↳⚡ unwind_continue + return +} + +fn test_attributes::tests::test_should_panic::closure::as_fn() -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +{ + let _0: Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // return + let args: (); // local + let state: test_attributes::tests::test_should_panic::closure; // local + + storage_live(_0) + storage_live(args) + storage_live(state) + args = () + state = test_attributes::tests::test_should_panic::closure { } + _0 = {impl FnOnce<()> for test_attributes::tests::test_should_panic::closure}::call_once(move state, move args) + ↳⚡ unwind_continue + return +} + +pub fn test_attributes::tests::test_should_panic() -> TestDescAndFn +{ + let _0: TestDescAndFn; // return + let _1: TestDesc; // anonymous local + let _2: TestName; // anonymous local + let _3: Option<&'6 str>[{built_in impl Sized for &'6 str}]; // anonymous local + let _4: ShouldPanic; // anonymous local + let _5: TestType; // anonymous local + let _6: TestFn; // anonymous local + let _7: fn() -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // anonymous local + let _8: test_attributes::tests::test_should_panic::closure; // anonymous local + + storage_live(_0) + storage_live(_1) + storage_live(_2) + _2 = TestName::StaticTestName { _0: const "tests::test_should_panic" } + storage_live(_3) + _3 = Option::None { } + storage_live(_4) + _4 = ShouldPanic::Yes { } + storage_live(_5) + _5 = TestType::UnitTest { } + _1 = TestDesc { name: move _2, ignore: const false, ignore_message: move _3, source_file: const "src/lib.rs", start_line: const 12usize, start_col: const 8usize, end_line: const 12usize, end_col: const 25usize, should_panic: move _4, compile_fail: const false, no_run: const false, test_type: move _5 } + storage_dead(_5) + storage_dead(_4) + storage_dead(_3) + conditional_drop[impl_Destruct_for_TestName::drop_glue<'16>] _2 + ↳⚡ conditional_drop[impl_Destruct_for_TestDesc::drop_glue<'18>] _1 + ↳⚡ unwind_terminate + unwind_continue + storage_dead(_2) + storage_live(_6) + storage_live(_7) + storage_live(_8) + _8 = test_attributes::tests::test_should_panic::closure { } + _7 = cast Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]>(const test_attributes::tests::test_should_panic::closure::as_fn) + storage_dead(_8) + _6 = TestFn::StaticTestFn { _0: move _7 } + storage_dead(_7) + _0 = TestDescAndFn { desc: move _1, testfn: move _6 } + conditional_drop[impl_Destruct_for_TestFn::drop_glue<'17>] _6 + ↳⚡ conditional_drop[impl_Destruct_for_TestDesc::drop_glue<'18>] _1 + ↳⚡ unwind_terminate + unwind_continue + storage_dead(_6) + conditional_drop[impl_Destruct_for_TestDesc::drop_glue<'19>] _1 + ↳⚡ unwind_continue + storage_dead(_1) + return +} + +pub const test_attributes::tests::test_should_panic: TestDescAndFn = test_attributes::tests::test_should_panic() + +struct test_attributes::tests::test_foo::closure {} + +// Full name: test_attributes::tests::test_foo::closure::{impl Destruct for test_attributes::tests::test_foo::closure}::drop_glue +unsafe fn {impl Destruct for test_attributes::tests::test_foo::closure}::drop_glue<'_0>(_1: &'_0 mut test_attributes::tests::test_foo::closure) +{ + let _0: (); // return + let _1: &'1 mut test_attributes::tests::test_foo::closure; // arg #1 + + storage_live(_0) + _0 = () + return +} + +fn test_attributes::tests::test_foo#1() +{ + let _0: (); // return + let _1: (); // anonymous local + + storage_live(_0) + _0 = () + storage_live(_1) + _1 = foo() + ↳⚡ unwind_continue + storage_dead(_1) + _0 = () + return +} + +// Full name: test_attributes::tests::test_foo::{impl Fn<()> for test_attributes::tests::test_foo::closure}::call +fn {impl Fn<()> for test_attributes::tests::test_foo::closure}::call<'_0>(_1: &'_0 test_attributes::tests::test_foo::closure, tupled_args: ()) -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +{ + let _0: Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // return + let _1: &'1 test_attributes::tests::test_foo::closure; // arg #1 + let tupled_args: (); // arg #2 + let _3: (); // anonymous local + + storage_live(_0) + storage_live(_3) + _3 = test_attributes::tests::test_foo#1() + ↳⚡ unwind_continue + _0 = assert_test_result<()>[{built_in impl Sized for ()}, impl_Termination_for_unit](move _3) + ↳⚡ unwind_continue + storage_dead(_3) + return +} + +// Full name: test_attributes::tests::test_foo::{impl FnMut<()> for test_attributes::tests::test_foo::closure}::call_mut +fn {impl FnMut<()> for test_attributes::tests::test_foo::closure}::call_mut<'_0>(state: &'_0 mut test_attributes::tests::test_foo::closure, args: ()) -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +{ + let _0: Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // return + let state: &'_0 mut test_attributes::tests::test_foo::closure; // arg #1 + let args: (); // arg #2 + let _3: &'0 test_attributes::tests::test_foo::closure; // anonymous local + + storage_live(_0) + storage_live(_3) + _3 = &(*state) + _0 = {impl Fn<()> for test_attributes::tests::test_foo::closure}::call<'2>(move _3, move args) + ↳⚡ unwind_continue + return +} + +// Full name: test_attributes::tests::test_foo::{impl FnOnce<()> for test_attributes::tests::test_foo::closure}::call_once +fn {impl FnOnce<()> for test_attributes::tests::test_foo::closure}::call_once(_1: test_attributes::tests::test_foo::closure, _2: ()) -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +{ + let _0: Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // return + let _1: test_attributes::tests::test_foo::closure; // arg #1 + let _2: (); // arg #2 + let _3: &'1 mut test_attributes::tests::test_foo::closure; // anonymous local + + storage_live(_0) + storage_live(_3) + _3 = &mut _1 + _0 = {impl FnMut<()> for test_attributes::tests::test_foo::closure}::call_mut<'2>(move _3, move _2) + ↳⚡ drop[{impl Destruct for test_attributes::tests::test_foo::closure}::drop_glue<'3>] _1 + ↳⚡ unwind_terminate + unwind_continue + drop[{impl Destruct for test_attributes::tests::test_foo::closure}::drop_glue<'4>] _1 + ↳⚡ unwind_continue + return +} + +fn test_attributes::tests::test_foo::closure::as_fn() -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] +{ + let _0: Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // return + let args: (); // local + let state: test_attributes::tests::test_foo::closure; // local + + storage_live(_0) + storage_live(args) + storage_live(state) + args = () + state = test_attributes::tests::test_foo::closure { } + _0 = {impl FnOnce<()> for test_attributes::tests::test_foo::closure}::call_once(move state, move args) + ↳⚡ unwind_continue + return +} + +pub fn test_attributes::tests::test_foo() -> TestDescAndFn +{ + let _0: TestDescAndFn; // return + let _1: TestDesc; // anonymous local + let _2: TestName; // anonymous local + let _3: Option<&'6 str>[{built_in impl Sized for &'6 str}]; // anonymous local + let _4: ShouldPanic; // anonymous local + let _5: TestType; // anonymous local + let _6: TestFn; // anonymous local + let _7: fn() -> Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]; // anonymous local + let _8: test_attributes::tests::test_foo::closure; // anonymous local + + storage_live(_0) + storage_live(_1) + storage_live(_2) + _2 = TestName::StaticTestName { _0: const "tests::test_foo" } + storage_live(_3) + _3 = Option::None { } + storage_live(_4) + _4 = ShouldPanic::No { } + storage_live(_5) + _5 = TestType::UnitTest { } + _1 = TestDesc { name: move _2, ignore: const false, ignore_message: move _3, source_file: const "src/lib.rs", start_line: const 6usize, start_col: const 8usize, end_line: const 6usize, end_col: const 16usize, should_panic: move _4, compile_fail: const false, no_run: const false, test_type: move _5 } + storage_dead(_5) + storage_dead(_4) + storage_dead(_3) + conditional_drop[impl_Destruct_for_TestName::drop_glue<'16>] _2 + ↳⚡ conditional_drop[impl_Destruct_for_TestDesc::drop_glue<'18>] _1 + ↳⚡ unwind_terminate + unwind_continue + storage_dead(_2) + storage_live(_6) + storage_live(_7) + storage_live(_8) + _8 = test_attributes::tests::test_foo::closure { } + _7 = cast Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]>(const test_attributes::tests::test_foo::closure::as_fn) + storage_dead(_8) + _6 = TestFn::StaticTestFn { _0: move _7 } + storage_dead(_7) + _0 = TestDescAndFn { desc: move _1, testfn: move _6 } + conditional_drop[impl_Destruct_for_TestFn::drop_glue<'17>] _6 + ↳⚡ conditional_drop[impl_Destruct_for_TestDesc::drop_glue<'18>] _1 + ↳⚡ unwind_terminate + unwind_continue + storage_dead(_6) + conditional_drop[impl_Destruct_for_TestDesc::drop_glue<'19>] _1 + ↳⚡ unwind_continue + storage_dead(_1) + return +} + +pub const test_attributes::tests::test_foo: TestDescAndFn = test_attributes::tests::test_foo() + +// Full name: test_attributes::main +pub fn main() +{ + let _0: (); // return + let _1: &'4 [&'5 TestDescAndFn]; // anonymous local + let _2: &'9 [&'10 TestDescAndFn; 3usize]; // anonymous local + let _3: &'11 [&'12 TestDescAndFn; 3usize]; // anonymous local + let _4: &'20 [&'21 TestDescAndFn; 3usize]; // anonymous local + let _5: &'22 [&'23 TestDescAndFn; 3usize]; // anonymous local + let _6: &'32 [&'33 TestDescAndFn; 3usize]; // anonymous local + let _7: [&'34 TestDescAndFn; 3usize]; // anonymous local + let _8: &'35 TestDescAndFn; // anonymous local + let _9: &'36 TestDescAndFn; // anonymous local + let _10: TestDescAndFn; // anonymous local + let _11: &'37 TestDescAndFn; // anonymous local + let _12: &'38 TestDescAndFn; // anonymous local + let _13: TestDescAndFn; // anonymous local + let _14: &'39 TestDescAndFn; // anonymous local + let _15: &'40 TestDescAndFn; // anonymous local + let _16: TestDescAndFn; // anonymous local + + storage_live(_5) + storage_live(_6) + storage_live(_7) + storage_live(_8) + storage_live(_9) + storage_live(_10) + storage_live(_11) + storage_live(_12) + storage_live(_13) + storage_live(_14) + storage_live(_15) + storage_live(_16) + _10 = copy test_attributes::tests::test_foo + _9 = &_10 + _8 = &(*_9) + _13 = copy test_attributes::tests::test_ignore + _12 = &_13 + _11 = &(*_12) + _16 = copy test_attributes::tests::test_should_panic + _15 = &_16 + _14 = &(*_15) + _7 = [move _8, move _11, move _14] + _6 = &_7 + _5 = move _6 + storage_live(_0) + storage_live(_4) + _0 = () + storage_live(_1) + storage_live(_2) + storage_live(_3) + _4 = move _5 + _3 = &(*_4) + _2 = &(*_3) + _1 = unsize_cast<&'9 [&'10 TestDescAndFn; 3usize], &'26 [&'27 TestDescAndFn], 3usize>(move _2) + storage_dead(_2) + _0 = test_main_static<'30, '31>(move _1) + ↳⚡ unwind_continue + storage_dead(_1) + storage_dead(_3) + return +} + +// Full name: test_attributes::tests::test_foo::{impl FnOnce<()> for test_attributes::tests::test_foo::closure} +impl FnOnce<()> for test_attributes::tests::test_foo::closure { + proof ImpliedClause0: (test_attributes::tests::test_foo::closure: MetaSized) = {built_in impl MetaSized for test_attributes::tests::test_foo::closure} + proof ImpliedClause1: ((): Sized) = {built_in impl Sized for ()} + proof ImpliedClause2: ((): Tuple) = {built_in impl Tuple for ()} + proof ImpliedClause3: (Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]: Sized) = {built_in impl Sized for Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]} + type Output = Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] + fn call_once = {impl FnOnce<()> for test_attributes::tests::test_foo::closure}::call_once + non-dyn-compatible +} + +// Full name: test_attributes::tests::test_foo::{impl FnMut<()> for test_attributes::tests::test_foo::closure} +impl FnMut<()> for test_attributes::tests::test_foo::closure { + proof ImpliedClause0: (test_attributes::tests::test_foo::closure: MetaSized) = {built_in impl MetaSized for test_attributes::tests::test_foo::closure} + proof ImpliedClause1: (test_attributes::tests::test_foo::closure: FnOnce<()>) = {impl FnOnce<()> for test_attributes::tests::test_foo::closure} + proof ImpliedClause2: ((): Sized) = {built_in impl Sized for ()} + proof ImpliedClause3: ((): Tuple) = {built_in impl Tuple for ()} + fn call_mut<'_0_1> = {impl FnMut<()> for test_attributes::tests::test_foo::closure}::call_mut<'_0_1> + non-dyn-compatible +} + +// Full name: test_attributes::tests::test_foo::{impl Fn<()> for test_attributes::tests::test_foo::closure} +impl Fn<()> for test_attributes::tests::test_foo::closure { + proof ImpliedClause0: (test_attributes::tests::test_foo::closure: MetaSized) = {built_in impl MetaSized for test_attributes::tests::test_foo::closure} + proof ImpliedClause1: (test_attributes::tests::test_foo::closure: FnMut<()>) = {impl FnMut<()> for test_attributes::tests::test_foo::closure} + proof ImpliedClause2: ((): Sized) = {built_in impl Sized for ()} + proof ImpliedClause3: ((): Tuple) = {built_in impl Tuple for ()} + fn call<'_0_1> = {impl Fn<()> for test_attributes::tests::test_foo::closure}::call<'_0_1> + non-dyn-compatible +} + +// Full name: test_attributes::tests::test_foo::closure::{impl Destruct for test_attributes::tests::test_foo::closure} +impl Destruct for test_attributes::tests::test_foo::closure { + fn drop_glue<'_0_1> = {impl Destruct for test_attributes::tests::test_foo::closure}::drop_glue<'_0_1> + non-dyn-compatible +} + +// Full name: test_attributes::tests::test_should_panic::{impl FnOnce<()> for test_attributes::tests::test_should_panic::closure} +impl FnOnce<()> for test_attributes::tests::test_should_panic::closure { + proof ImpliedClause0: (test_attributes::tests::test_should_panic::closure: MetaSized) = {built_in impl MetaSized for test_attributes::tests::test_should_panic::closure} + proof ImpliedClause1: ((): Sized) = {built_in impl Sized for ()} + proof ImpliedClause2: ((): Tuple) = {built_in impl Tuple for ()} + proof ImpliedClause3: (Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]: Sized) = {built_in impl Sized for Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]} + type Output = Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] + fn call_once = {impl FnOnce<()> for test_attributes::tests::test_should_panic::closure}::call_once + non-dyn-compatible +} + +// Full name: test_attributes::tests::test_should_panic::{impl FnMut<()> for test_attributes::tests::test_should_panic::closure} +impl FnMut<()> for test_attributes::tests::test_should_panic::closure { + proof ImpliedClause0: (test_attributes::tests::test_should_panic::closure: MetaSized) = {built_in impl MetaSized for test_attributes::tests::test_should_panic::closure} + proof ImpliedClause1: (test_attributes::tests::test_should_panic::closure: FnOnce<()>) = {impl FnOnce<()> for test_attributes::tests::test_should_panic::closure} + proof ImpliedClause2: ((): Sized) = {built_in impl Sized for ()} + proof ImpliedClause3: ((): Tuple) = {built_in impl Tuple for ()} + fn call_mut<'_0_1> = {impl FnMut<()> for test_attributes::tests::test_should_panic::closure}::call_mut<'_0_1> + non-dyn-compatible +} + +// Full name: test_attributes::tests::test_should_panic::{impl Fn<()> for test_attributes::tests::test_should_panic::closure} +impl Fn<()> for test_attributes::tests::test_should_panic::closure { + proof ImpliedClause0: (test_attributes::tests::test_should_panic::closure: MetaSized) = {built_in impl MetaSized for test_attributes::tests::test_should_panic::closure} + proof ImpliedClause1: (test_attributes::tests::test_should_panic::closure: FnMut<()>) = {impl FnMut<()> for test_attributes::tests::test_should_panic::closure} + proof ImpliedClause2: ((): Sized) = {built_in impl Sized for ()} + proof ImpliedClause3: ((): Tuple) = {built_in impl Tuple for ()} + fn call<'_0_1> = {impl Fn<()> for test_attributes::tests::test_should_panic::closure}::call<'_0_1> + non-dyn-compatible +} + +// Full name: test_attributes::tests::test_should_panic::closure::{impl Destruct for test_attributes::tests::test_should_panic::closure} +impl Destruct for test_attributes::tests::test_should_panic::closure { + fn drop_glue<'_0_1> = {impl Destruct for test_attributes::tests::test_should_panic::closure}::drop_glue<'_0_1> + non-dyn-compatible +} + +// Full name: test_attributes::tests::test_ignore::{impl FnOnce<()> for test_attributes::tests::test_ignore::closure} +impl FnOnce<()> for test_attributes::tests::test_ignore::closure { + proof ImpliedClause0: (test_attributes::tests::test_ignore::closure: MetaSized) = {built_in impl MetaSized for test_attributes::tests::test_ignore::closure} + proof ImpliedClause1: ((): Sized) = {built_in impl Sized for ()} + proof ImpliedClause2: ((): Tuple) = {built_in impl Tuple for ()} + proof ImpliedClause3: (Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]: Sized) = {built_in impl Sized for Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}]} + type Output = Result<(), String>[{built_in impl Sized for ()}, {built_in impl Sized for String}] + fn call_once = {impl FnOnce<()> for test_attributes::tests::test_ignore::closure}::call_once + non-dyn-compatible +} + +// Full name: test_attributes::tests::test_ignore::{impl FnMut<()> for test_attributes::tests::test_ignore::closure} +impl FnMut<()> for test_attributes::tests::test_ignore::closure { + proof ImpliedClause0: (test_attributes::tests::test_ignore::closure: MetaSized) = {built_in impl MetaSized for test_attributes::tests::test_ignore::closure} + proof ImpliedClause1: (test_attributes::tests::test_ignore::closure: FnOnce<()>) = {impl FnOnce<()> for test_attributes::tests::test_ignore::closure} + proof ImpliedClause2: ((): Sized) = {built_in impl Sized for ()} + proof ImpliedClause3: ((): Tuple) = {built_in impl Tuple for ()} + fn call_mut<'_0_1> = {impl FnMut<()> for test_attributes::tests::test_ignore::closure}::call_mut<'_0_1> + non-dyn-compatible +} + +// Full name: test_attributes::tests::test_ignore::{impl Fn<()> for test_attributes::tests::test_ignore::closure} +impl Fn<()> for test_attributes::tests::test_ignore::closure { + proof ImpliedClause0: (test_attributes::tests::test_ignore::closure: MetaSized) = {built_in impl MetaSized for test_attributes::tests::test_ignore::closure} + proof ImpliedClause1: (test_attributes::tests::test_ignore::closure: FnMut<()>) = {impl FnMut<()> for test_attributes::tests::test_ignore::closure} + proof ImpliedClause2: ((): Sized) = {built_in impl Sized for ()} + proof ImpliedClause3: ((): Tuple) = {built_in impl Tuple for ()} + fn call<'_0_1> = {impl Fn<()> for test_attributes::tests::test_ignore::closure}::call<'_0_1> + non-dyn-compatible +} + +// Full name: test_attributes::tests::test_ignore::closure::{impl Destruct for test_attributes::tests::test_ignore::closure} +impl Destruct for test_attributes::tests::test_ignore::closure { + fn drop_glue<'_0_1> = {impl Destruct for test_attributes::tests::test_ignore::closure}::drop_glue<'_0_1> + non-dyn-compatible +} + + + diff --git a/charon/tests/cargo/test-attributes/Cargo.lock b/charon/tests/cargo/test-attributes/Cargo.lock new file mode 100644 index 000000000..a2b5a1116 --- /dev/null +++ b/charon/tests/cargo/test-attributes/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "test-attributes" +version = "0.1.0" diff --git a/charon/tests/cargo/test-attributes/Cargo.toml b/charon/tests/cargo/test-attributes/Cargo.toml new file mode 100644 index 000000000..492e70bab --- /dev/null +++ b/charon/tests/cargo/test-attributes/Cargo.toml @@ -0,0 +1,6 @@ +[workspace] + +[package] +name = "test-attributes" +version = "0.1.0" +edition = "2021" diff --git a/charon/tests/cargo/test-attributes/src/lib.rs b/charon/tests/cargo/test-attributes/src/lib.rs new file mode 100644 index 000000000..958d6b2c3 --- /dev/null +++ b/charon/tests/cargo/test-attributes/src/lib.rs @@ -0,0 +1,19 @@ +fn foo() {} + +#[cfg(test)] +mod tests { + #[test] + fn test_foo() { + super::foo(); + } + + #[test] + #[should_panic] + fn test_should_panic() { + panic!("This test should panic"); + } + + #[test] + #[ignore] + fn test_ignore() {} +} From 8a1365180f763587ed6cf0eb080772d2c31727f8 Mon Sep 17 00:00:00 2001 From: N1ark Date: Tue, 18 Aug 2026 17:57:49 +0200 Subject: [PATCH 2/3] Pretty print attributes --- charon-ml/src/PrintFmt.ml | 116 ++++++++++++++- charon/src/ast/from_rustc.rs | 2 + .../translate/translate_from_rustc.rs | 3 + charon/src/bin/generate-asts/generate_rust.rs | 1 + charon/src/pretty/fmt_with_ctx.rs | 137 ++++++++++++++++++ charon/tests/cargo/dependencies.out | 5 + charon/tests/cargo/issue-396-lib-bin.out | 5 + charon/tests/cargo/issue-412-dup-deps.out | 3 + charon/tests/cargo/test-attributes.out | 21 +++ charon/tests/cargo/toml.out | 3 + charon/tests/ui/advanced-const-generics.out | 8 + charon/tests/ui/arrays.out | 6 + charon/tests/ui/assoc-const-with-generics.out | 2 + .../assoc-constraint-on-assoc-ty-nested.out | 2 + .../assoc-constraint-on-assoc-ty.2.out | 2 + .../assoc-constraint-on-assoc-ty.out | 2 + .../assoc-ty-bound-refers-to-assoc-ty.out | 2 + .../assoc-ty-default-with-self-bound.out | 2 + .../assoc-ty-via-supertrait-and-bounds.out | 2 + .../assoc-type-with-fn-bound.out | 6 + .../ui/associated_types/associated-types.out | 8 + ...e-inside-impl-with-bound-with-assoc-ty.out | 6 + .../dictionary_passing_style_woes.out | 4 + .../associated_types/gat-used-in-method.out | 2 + ...ulted-method-with-clause-with-assoc-ty.out | 3 + .../impl-with-dyn-assoc-ty.out | 2 + .../issue-1036-failed-assoc-ty-lifting.out | 2 + .../issue-1068-double-visit.out | 2 + ...078-default-assoc-ty-self-ref-clause.2.out | 2 + ...-1078-default-assoc-ty-self-ref-clause.out | 3 + .../issue-1260-self-ref-assoc-const.out | 2 + .../issue-1326-assoc-through-supertrait.out | 2 + .../issue-968-default-assoc-const.out | 2 + .../tests/ui/associated_types/iter-empty.out | 2 + .../lift-assoc-ty-in-alias.out | 2 + .../mem-discriminant-from-derive.out | 3 + .../method-with-assoc-type-constraint.out | 2 + .../ui/associated_types/pointee_metadata.out | 12 ++ .../quantified-trait-type-constraint.out | 2 + .../supertrait-item-bound-has-assoc-ty.out | 2 + charon/tests/ui/borrowck-statements.out | 5 + .../tests/ui/call-to-known-trait-method.out | 6 + charon/tests/ui/closure-as-fn.out | 6 + charon/tests/ui/closures.out | 12 ++ charon/tests/ui/closures_with_where.out | 5 + charon/tests/ui/comments.out | 6 + charon/tests/ui/constants.out | 4 + .../tests/ui/consts/evaluate-consts-mono.out | 1 + .../evaluate-consts-recursive-static.out | 4 + charon/tests/ui/consts/evaluate-consts.out | 2 + .../tests/ui/consts/ptr-null-constevalval.out | 3 + .../ui/consts/string-new-constevalval.out | 3 + .../issue-1051-missing-loop-jump.out | 8 + .../tests/ui/control-flow/issue-297-cfg.out | 5 + charon/tests/ui/control-flow/loops.out | 13 ++ .../ui/control-flow/simple-fallthrough.out | 3 + .../ui/control-flow/ullbc-control-flow.out | 8 + charon/tests/ui/copy_nonoverlapping.out | 26 ++++ charon/tests/ui/cross_compile_32_bit.out | 2 + charon/tests/ui/demo.out | 2 + charon/tests/ui/desugar_drops_to_calls.out | 3 + .../tests/ui/desugar_drops_to_calls_mono.out | 3 + charon/tests/ui/drop_after_overflow.out | 1 + charon/tests/ui/dyn-trait.out | 10 ++ .../tests/ui/dyn-with-diamond-supertraits.out | 3 + charon/tests/ui/explicit-drop-bounds.out | 2 + charon/tests/ui/external.out | 13 ++ charon/tests/ui/filtering/inner-items.out | 2 + ...e-1270-start-from-pub-skip-foreign-pub.out | 6 + charon/tests/ui/filtering/opacity.out | 5 + charon/tests/ui/filtering/opaque-trait.out | 3 + .../tests/ui/filtering/opaque_attribute.out | 10 ++ charon/tests/ui/filtering/start_from.out | 1 + .../ui/filtering/start_from_attribute.out | 4 + charon/tests/ui/filtering/start_from_pub.out | 1 + charon/tests/ui/find-sized-clause.out | 3 + charon/tests/ui/foreign-type-alias.out | 7 + charon/tests/ui/function-conditions.out | 2 + .../ui/gat-causes-unhandled-ty-clause.out | 2 + charon/tests/ui/gosim-demo.out | 4 + charon/tests/ui/impl-trait.out | 6 + .../ui/issue-1041-shift-through-index-mut.out | 1 + charon/tests/ui/issue-114-opaque-bodies.out | 7 + charon/tests/ui/issue-118-generic-copy.out | 5 + .../ui/issue-120-bare-discriminant-read.out | 3 + ...59-heterogeneous-recursive-definitions.out | 1 + charon/tests/ui/issue-165-vec-macro.out | 5 + charon/tests/ui/issue-323-closure-borrow.out | 5 + .../ui/issue-369-mismatched-genericparams.out | 3 + .../ui/issue-372-type-param-out-of-range.out | 5 + charon/tests/ui/issue-378-ctor-as-fn.out | 4 + .../tests/ui/issue-394-rpit-with-lifetime.out | 6 + .../ui/issue-395-failed-to-normalize.out | 4 + .../tests/ui/issue-4-slice-try-into-array.out | 7 + charon/tests/ui/issue-4-traits.out | 7 + charon/tests/ui/issue-45-misc.out | 11 ++ ...ue-70-override-provided-method.2-nodup.out | 1 + .../issue-70-override-provided-method.2.out | 1 + .../issue-70-override-provided-method.3.out | 6 + .../ui/issue-70-override-provided-method.out | 7 + .../tests/ui/issue-72-hash-missing-impl.out | 2 + .../ui/issue-91-enum-to-discriminant-cast.out | 5 + ...e-93-recursive-traits-with-assoc-types.out | 2 + .../ui/issue-94-recursive-trait-defns.out | 2 + .../issue-97-missing-parent-item-clause.out | 2 + charon/tests/ui/iterator.out | 73 ++++++++++ charon/tests/ui/lifetime-mutability.out | 2 + charon/tests/ui/matches.out | 2 + charon/tests/ui/max_char.out | 2 + .../tests/ui/method-impl-generalization.out | 4 + charon/tests/ui/method-ref.out | 2 + .../tests/ui/ml-mono-name-matcher-tests.out | 24 +++ .../ui/ml-multi-target-name-matcher-tests.out | 7 + charon/tests/ui/ml-name-matcher-tests.out | 35 +++++ .../ui/ml-partial-mono-name-matcher-tests.out | 11 ++ charon/tests/ui/monomorphization/adt_proj.out | 1 + .../ui/monomorphization/bound_lifetime.out | 1 + .../tests/ui/monomorphization/closure-fn.out | 6 + .../ui/monomorphization/closure-fnonce.out | 5 + charon/tests/ui/monomorphization/closures.out | 7 + .../ui/monomorphization/fn_ptr_generics.out | 1 + .../ui/monomorphization/fndefs-casts.out | 6 + .../ui/monomorphization/generic-method.out | 1 + .../issue-1159-assoc-const.out | 5 + ...ssue-1262-defaulted-method-indirection.out | 1 + .../issue-917-inline-const-with-poly-type.out | 6 + .../issue-922-assoc-const-with-default.out | 3 + charon/tests/ui/monomorphization/rec-adt.out | 2 + .../simpl-trait-assoc-types-2.out | 1 + .../simple-trait-assoc-types-3.out | 1 + .../simple-trait-assoc-types.out | 1 + .../simple-trait-generics-2.out | 2 + .../simple-trait-generics-assoc-2.out | 2 + .../simple-trait-generics-assoc.out | 2 + .../simple-trait-generics.out | 2 + .../simple-trait-two-methods.out | 1 + .../ui/monomorphization/simple_trait.out | 1 + .../simple_trait_with_trait_alias.out | 1 + ...simple_trait_with_trait_alias_generics.out | 2 + .../unsatisfied-method-bounds.out | 1 + .../monomorphization/vtable-blanket-impl.out | 1 + .../monomorphization/vtable-lifetime-impl.out | 1 + .../ui/monomorphization/vtable-ref-impl.out | 1 + charon/tests/ui/monomorphize-mut-no-types.out | 9 ++ charon/tests/ui/monomorphize-mut.out | 25 ++++ charon/tests/ui/multi-target/cstr.out | 2 + .../default-trait-assoc-const.out | 1 + .../multi-target/evaluate-consts-size-of.out | 1 + .../multi-target/issue-1182-dedup-impls.out | 1 + ...1213-merge-methods-when-missing-simple.out | 3 + .../issue-1213-merge-methods-when-missing.out | 7 + .../issue-1307-required-method.out | 3 + .../multi-target-from-symcrypt.out | 10 ++ .../multi-target/multi-targets-file-ids.out | 10 ++ charon/tests/ui/no_nested_borrows.out | 4 + charon/tests/ui/nondiverging-intrinsics.out | 4 + charon/tests/ui/params.out | 2 + .../issue-1204-partial-mono-tuples.out | 4 + charon/tests/ui/polonius_map.out | 11 ++ .../ui/predicates-on-late-bound-vars.out | 8 + charon/tests/ui/ptr-offset.out | 7 + charon/tests/ui/ptr_no_provenance.out | 14 ++ charon/tests/ui/quantified-clause.out | 11 ++ charon/tests/ui/raw-boxes.out | 28 ++++ charon/tests/ui/region-inference-vars.out | 3 + .../invalid-reconstruct-assert.out | 9 ++ .../issue-1010-missing-lifetime.out | 6 + .../regressions/issue-1067-filename-ice.out | 6 + .../issue-1074-vtable-supertrait.out | 2 + .../issue-1089-inline-const-precise-drops.out | 2 + .../regressions/issue-1236-vtable-fn-ptr.out | 1 + .../issue-1294-remove-clause-underflow.out | 3 + .../issue-1297-box-new-allocator-ty.out | 3 + .../issue-393-vec-with-control-flow.out | 5 + ...issue-792-trait-ref-panic-when-tracing.out | 2 + .../issue-967-assoc-type-coherence.out | 2 + charon/tests/ui/rename_attribute.out | 12 ++ charon/tests/ui/result-unwrap.out | 5 + charon/tests/ui/rust-name-matcher-tests.out | 26 ++++ charon/tests/ui/rvalues.out | 8 + charon/tests/ui/scopes.out | 7 + charon/tests/ui/send_bound.out | 3 + charon/tests/ui/simple/additions.out | 5 + .../tests/ui/simple/alias-ty-missing-hrtb.out | 2 + .../simple/assoc-const-with-self-clause.out | 3 + .../tests/ui/simple/box-deref-elaborated.out | 2 + .../tests/ui/simple/box-deref-optimized.out | 2 + charon/tests/ui/simple/box-dyn-fnonce-raw.out | 12 ++ charon/tests/ui/simple/box-new.out | 9 ++ charon/tests/ui/simple/builtin-drop-mono.out | 2 + charon/tests/ui/simple/builtin-drop.out | 2 + .../simple/call-foreign-defaulted-method.out | 1 + .../call-inherent-method-with-trait-bound.out | 2 + .../call-method-via-supertrait-bound.out | 2 + charon/tests/ui/simple/catch-unwind.out | 8 + .../ui/simple/closure-capture-ref-by-move.out | 5 + charon/tests/ui/simple/closure-fn.out | 6 + charon/tests/ui/simple/closure-fnmut.out | 5 + charon/tests/ui/simple/closure-fnonce.out | 5 + .../tests/ui/simple/closure-inside-impl.out | 6 + .../ui/simple/closure-inside-inline-const.out | 7 + .../closure-uses-ambient-self-clause.out | 6 + charon/tests/ui/simple/closure-with-drops.out | 7 + .../closure-with-non-upvar-lifetime.out | 6 + .../closure-with-remove-adt-clauses.out | 8 + charon/tests/ui/simple/conditional-drop.out | 2 + charon/tests/ui/simple/defaulted-rpitit.2.out | 2 + charon/tests/ui/simple/defaulted-rpitit.3.out | 5 + charon/tests/ui/simple/defaulted-rpitit.out | 2 + charon/tests/ui/simple/double-promotion.out | 2 + charon/tests/ui/simple/drop-cow.out | 4 + .../drop-glue-with-const-generic-silenced.out | 2 + .../simple/drop-glue-with-const-generic.out | 2 + .../tests/ui/simple/drop-string-desugar.out | 4 + charon/tests/ui/simple/drop-string.out | 4 + .../dyn-broken-assoc-type-constraint.out | 2 + .../ui/simple/dyn-cast-to-supertrait.out | 1 + charon/tests/ui/simple/dyn-fn.out | 6 + .../dyn-method-with-early-bound-lifetimes.out | 1 + .../simple/fewer-clauses-in-method-impl.2.out | 2 + .../simple/fewer-clauses-in-method-impl.out | 4 + charon/tests/ui/simple/fn_ptr_trait.out | 5 + .../tests/ui/simple/foreign-inline-const.out | 3 + .../ui/simple/gat-check-binder-levels.out | 3 + .../tests/ui/simple/gat-complex-lifetimes.out | 2 + charon/tests/ui/simple/gat-default.out | 3 + charon/tests/ui/simple/gat-implied-clause.out | 3 + .../tests/ui/simple/generic-cast-to-dyn.out | 3 + .../tests/ui/simple/generic-discriminant.out | 11 ++ .../generic-impl-with-defaulted-method.out | 3 + .../ui/simple/generic-impl-with-method.out | 2 + charon/tests/ui/simple/generic-offset-of.out | 2 + charon/tests/ui/simple/hide-drops.out | 1 + charon/tests/ui/simple/impl-trait-in-arg.out | 2 + .../intrinsic-same-name-across-modules.out | 7 + .../issue-1040-closure-upvar-lifetime.out | 6 + .../ui/simple/issue-988-closure-outlives.out | 6 + .../tests/ui/simple/lending-iterator-gat.out | 6 + .../lifetime-unification-from-trait-impl.out | 3 + charon/tests/ui/simple/manual-drop-impl.out | 3 + .../simple/metadata-without-marker-trait.out | 1 + charon/tests/ui/simple/min.out | 3 + charon/tests/ui/simple/multiple-promoteds.out | 1 + .../ui/simple/nested-closure-lifetime.out | 7 + .../ui/simple/nested-closure-trait-ref.out | 7 + charon/tests/ui/simple/nested-closure.out | 7 + charon/tests/ui/simple/non-lifetime-gats.out | 3 + .../opaque-trait-with-clause-in-method.out | 2 + charon/tests/ui/simple/opaque-vtable.out | 1 + charon/tests/ui/simple/partial-drop.out | 1 + .../pass-higher-kinded-fn-item-as-closure.out | 6 + .../ui/simple/promoted-closure-no-warns.out | 6 + charon/tests/ui/simple/promoted-closure.out | 6 + .../ui/simple/promoted-in-generic-fn.out | 3 + .../tests/ui/simple/promoted-inside-impl.out | 2 + .../promoted-literal-addition-overflow.out | 1 + .../tests/ui/simple/promoted_in_closure.out | 6 + .../ui/simple/promoted_in_default_method.out | 1 + charon/tests/ui/simple/ptr-from-raw-parts.out | 12 ++ charon/tests/ui/simple/ptr_metadata.out | 13 ++ charon/tests/ui/simple/range-iter.out | 6 + .../remove-adt-clauses-closure-keep-assoc.out | 4 + .../simple/remove-adt-clauses-keep-assoc.out | 2 + .../simple/remove-adt-clauses-supertrait.out | 4 + charon/tests/ui/simple/remove-adt-clauses.out | 2 + .../ui/simple/rpitit-with-const-generic.out | 2 + .../ui/simple/rpitit-with-lifetime-bound.out | 2 + .../tests/ui/simple/rpitit-with-lifetime.out | 4 + charon/tests/ui/simple/rpitit.out | 2 + .../simple/single-variant-enum-drop-glue.out | 2 + charon/tests/ui/simple/slice_index_range.out | 15 ++ charon/tests/ui/simple/struct-with-drops.out | 2 + ...rtrait-impl-with-assoc-type-constraint.out | 2 + charon/tests/ui/simple/thread-local.out | 12 ++ charon/tests/ui/simple/trait-alias.out | 5 + .../trait-default-const-cross-crate.out | 2 + .../tests/ui/simple/trait-default-const.out | 2 + .../ui/simple/trivial_generic_function.out | 2 + charon/tests/ui/simple/vec-push.out | 4 + charon/tests/ui/simple/vec-with-capacity.out | 4 + .../tests/ui/simple/well-formedness-bound.out | 3 + charon/tests/ui/skip-borrowck.out | 2 + charon/tests/ui/slice-index-range.out | 18 +++ charon/tests/ui/string-literal.out | 1 + charon/tests/ui/traits.out | 8 + .../default-method-with-item-bound.2.out | 2 + .../default-method-with-item-bound.3.out | 2 + .../default-method-with-item-bound.4.out | 2 + .../default-method-with-item-bound.5.out | 5 + .../default-method-with-item-bound.6.out | 2 + .../traits/default-method-with-item-bound.out | 5 + .../traits/issue-1242-dyn-send-supertrait.out | 2 + ...sue-513-gat-clause-mismatch-use-clause.out | 3 + .../traits/issue-513-gat-clause-mismatch.out | 4 + ...ethod-clause-mismatch-and-default-call.out | 4 + .../issue-513-method-clause-mismatch.out | 4 + .../issue-513-method-late-bound-mismatch.out | 2 + .../ui/traits/pointee-metadata-bounds.out | 12 ++ .../traits/remove-self-clause-on-closure.out | 6 + .../tests/ui/traits/remove-unused-clauses.out | 2 + charon/tests/ui/traits_special.out | 3 + charon/tests/ui/type-id.out | 3 + charon/tests/ui/type_alias.out | 7 + .../ui/type_inference_is_order_dependent.out | 3 + charon/tests/ui/unsafe-impl-send.out | 1 + charon/tests/ui/unsafe.out | 15 ++ charon/tests/ui/unsize.out | 4 + charon/tests/ui/unsized-string-consts.out | 1 + .../ui/unsupported/issue-79-bound-regions.out | 5 + charon/tests/ui/unwind-llbc.out | 1 + charon/tests/ui/variadics.out | 3 + .../tests/ui/vec-reconstruct-move-values.out | 3 + .../ui/vec-reconstruct-multiple-adjacent.out | 5 + charon/tests/ui/vec-reconstruct-nested.out | 3 + charon/tests/ui/vtable-simple.out | 3 + charon/tests/ui/vtable_drop.out | 3 + charon/tests/ui/vtables.out | 4 + 317 files changed, 1765 insertions(+), 1 deletion(-) diff --git a/charon-ml/src/PrintFmt.ml b/charon-ml/src/PrintFmt.ml index 868fc59d3..a3b69d54f 100644 --- a/charon-ml/src/PrintFmt.ml +++ b/charon-ml/src/PrintFmt.ml @@ -1101,6 +1101,106 @@ let pp_generic_params_single_line (env : fmt_env) (fmt : Format.formatter) let generic_params_to_string_single_line env generics = pp_to_string (fun fmt -> pp_generic_params_single_line env fmt generics) +(** Print a built-in attribute the way it is written in the source. *) +let pp_rustc_attribute_kind (fmt : Format.formatter) + (kind : rustc_attribute_kind) : unit = + match kind with + | RustcAttributeKindAutomaticallyDerived -> + pp_string fmt "automatically_derived" + | RustcAttributeKindCold -> pp_string fmt "cold" + | RustcAttributeKindDeprecated (deprecation, _) -> + pp_string fmt "deprecated"; + let since = + match deprecation.since with + | RustcDeprecatedSinceRustcVersion v -> + Some (Printf.sprintf "%d.%d.%d" v.major v.minor v.patch) + | RustcDeprecatedSinceFuture -> Some "future" + | RustcDeprecatedSinceNonStandard since -> Some since + | RustcDeprecatedSinceUnspecified | RustcDeprecatedSinceErr -> None + in + let since = Option.map (fun since -> "since = \"" ^ since ^ "\"") since in + let note = + Option.map + (fun (note : rustc_ident) -> "note = \"" ^ note.name ^ "\"") + deprecation.note + in + let args = List.filter_map (fun x -> x) [ since; note ] in + if args <> [] then Format.fprintf fmt "(%s)" (String.concat ", " args) + | RustcAttributeKindFundamental -> pp_string fmt "fundamental" + | RustcAttributeKindIgnore (_, reason) -> + pp_string fmt "ignore"; + Option.iter (fun reason -> Format.fprintf fmt " = \"%s\"" reason) reason + | RustcAttributeKindInline (inline, _) -> ( + match inline with + | RustcInlineAttrNone -> pp_string fmt "inline" + | RustcInlineAttrHint -> pp_string fmt "inline(hint)" + | RustcInlineAttrAlways -> pp_string fmt "inline(always)" + | RustcInlineAttrNever -> pp_string fmt "inline(never)" + | RustcInlineAttrForce _ -> pp_string fmt "rustc_force_inline") + | RustcAttributeKindMayDangle _ -> pp_string fmt "may_dangle" + | RustcAttributeKindNaked _ -> pp_string fmt "naked" + | RustcAttributeKindNoLink -> pp_string fmt "no_link" + | RustcAttributeKindNoMangle _ -> pp_string fmt "no_mangle" + | RustcAttributeKindNonExhaustive _ -> pp_string fmt "non_exhaustive" + | RustcAttributeKindOptimize (optimize, _) -> ( + match optimize with + | RustcOptimizeAttrDefault -> pp_string fmt "optimize(default)" + | RustcOptimizeAttrDoNotOptimize -> pp_string fmt "optimize(none)" + | RustcOptimizeAttrSpeed -> pp_string fmt "optimize(speed)" + | RustcOptimizeAttrSize -> pp_string fmt "optimize(size)") + | RustcAttributeKindRustcAlign (align, _) -> + Format.fprintf fmt "rustc_align(%d)" align + | RustcAttributeKindRustcIntrinsic -> pp_string fmt "rustc_intrinsic" + | RustcAttributeKindRustcTestEntrypointMarker -> + pp_string fmt "rustc_test_entrypoint_marker" + | RustcAttributeKindShouldPanic reason -> + pp_string fmt "should_panic"; + Option.iter + (fun reason -> Format.fprintf fmt "(expected = \"%s\")" reason) + reason + | RustcAttributeKindTargetFeature (features, _, _) -> + let features = List.map (fun (feature, _) -> feature) features in + Format.fprintf fmt "target_feature(enable = \"%s\")" + (String.concat "," features) + | RustcAttributeKindTrackCaller _ -> pp_string fmt "track_caller" + +let pp_item_id (env : fmt_env) (fmt : Format.formatter) (id : item_id) : unit = + match find_short_name env id with + | Some name -> pp_name env fmt name + | None -> pp_string fmt (item_id_to_pretty_string id) + +let pp_attribute_unindented (env : fmt_env) (fmt : Format.formatter) + (attr : attribute) : unit = + match attr with + | AttrOpaque -> pp_string fmt "#[charon::opaque]" + | AttrExclude -> pp_string fmt "#[charon::exclude]" + | AttrRename name -> Format.fprintf fmt "#[charon::rename(\"%s\")]" name + | AttrVariantsPrefix prefix -> + Format.fprintf fmt "#[charon::variants_prefix(\"%s\")]" prefix + | AttrVariantsSuffix suffix -> + Format.fprintf fmt "#[charon::variants_suffix(\"%s\")]" suffix + | AttrTransparent -> pp_string fmt "#[charon::transparent]" + | AttrIsPrecondition id -> + Format.fprintf fmt "#[charon::precondition] // of %a" (pp_item_id env) id + | AttrIsPostcondition id -> + Format.fprintf fmt "#[charon::postcondition] // of %a" (pp_item_id env) id + | AttrHasPrecondition id -> + Format.fprintf fmt "// precondition: %a" (pp_item_id env) (IdFun id) + | AttrHasPostcondition id -> + Format.fprintf fmt "// postcondition: %a" (pp_item_id env) (IdFun id) + | AttrDocComment comment -> + let lines = String.split_on_char '\n' comment in + pp_sep_list "\n" pp_string fmt (List.map (fun line -> "///" ^ line) lines) + | AttrBuiltin kind -> Format.fprintf fmt "#[%a]" pp_rustc_attribute_kind kind + | AttrUnknown attr -> Format.fprintf fmt "#[%a]" pp_raw_attribute attr + +let pp_attribute (env : fmt_env) (indent : string) (fmt : Format.formatter) + (attr : attribute) : unit = + (* An attribute may span several lines: the caller indents the first line, we + indent the subsequent ones ourselves. *) + let attr = pp_to_string (fun fmt -> pp_attribute_unindented env fmt attr) in + pp_sep_list ("\n" ^ indent) pp_string fmt (String.split_on_char '\n' attr) + let pp_item_intro (env : fmt_env) (indent : string) (keyword : string) (id : item_id) (fmt : Format.formatter) (meta : item_meta) : unit = let full_name = full_name_to_string env meta.name in @@ -1110,6 +1210,20 @@ let pp_item_intro (env : fmt_env) (indent : string) (keyword : string) (name_to_string env short_name, "// Full name: " ^ full_name ^ "\n") | None -> (full_name, "") in + let attributes = + List.filter_map + (fun attr -> + (* Doc-comments are long and don't affect the semantics; skip them. *) + match attr with + | AttrDocComment _ -> None + | _ -> + Some + (indent + ^ pp_to_string (fun fmt -> pp_attribute env indent fmt attr) + ^ "\n")) + meta.attr_info.attributes + |> String.concat "" + in let lang_item = match meta.lang_item with | None -> "" @@ -1130,7 +1244,7 @@ let pp_item_intro (env : fmt_env) (indent : string) (keyword : string) | Some id -> indent ^ "#[diagnostic_item(\"" ^ id ^ "\")]\n" in let public = if meta.attr_info.public then "pub " else "" in - Format.fprintf fmt "%s%s%s%s%s%s %s" full_name_comment lang_item + Format.fprintf fmt "%s%s%s%s%s%s%s %s" full_name_comment attributes lang_item diagnostic_item indent public keyword name let item_intro_to_string env indent keyword id meta = diff --git a/charon/src/ast/from_rustc.rs b/charon/src/ast/from_rustc.rs index 0ed2f6a4b..7907f1e61 100644 --- a/charon/src/ast/from_rustc.rs +++ b/charon/src/ast/from_rustc.rs @@ -108,6 +108,8 @@ pub enum AttributeKind { RustcDiagnosticItem(Ustr), /// Represents `#[rustc_intrinsic]` RustcIntrinsic, + /// Represents `#[rustc_test_entrypoint_marker]` + RustcTestEntrypointMarker, /// Represents `#[should_panic]` ShouldPanic { reason: Option }, /// Represents `#[target_feature(enable = "...")]` and diff --git a/charon/src/bin/charon-driver/translate/translate_from_rustc.rs b/charon/src/bin/charon-driver/translate/translate_from_rustc.rs index 6c4b6d376..d96db44a5 100644 --- a/charon/src/bin/charon-driver/translate/translate_from_rustc.rs +++ b/charon/src/bin/charon-driver/translate/translate_from_rustc.rs @@ -86,6 +86,9 @@ impl<'tcx> TranslateCtx<'tcx> { from_rustc::AttributeKind::RustcDiagnosticItem((_0).to_string().into()), ), AttributeKind::RustcIntrinsic => Ok(from_rustc::AttributeKind::RustcIntrinsic), + AttributeKind::RustcTestEntrypointMarker => { + Ok(from_rustc::AttributeKind::RustcTestEntrypointMarker) + } AttributeKind::ShouldPanic { reason } => Ok(from_rustc::AttributeKind::ShouldPanic { reason: (reason) .as_ref() diff --git a/charon/src/bin/generate-asts/generate_rust.rs b/charon/src/bin/generate-asts/generate_rust.rs index c4dbf4725..b6a485bb8 100644 --- a/charon/src/bin/generate-asts/generate_rust.rs +++ b/charon/src/bin/generate-asts/generate_rust.rs @@ -75,6 +75,7 @@ impl RustcDatatypes { "RustcAlign", "RustcDiagnosticItem", "RustcIntrinsic", + "RustcTestEntrypointMarker", "ShouldPanic", "TargetFeature", "TrackCaller", diff --git a/charon/src/pretty/fmt_with_ctx.rs b/charon/src/pretty/fmt_with_ctx.rs index 6037a9cb9..dd778b981 100644 --- a/charon/src/pretty/fmt_with_ctx.rs +++ b/charon/src/pretty/fmt_with_ctx.rs @@ -1143,6 +1143,13 @@ impl ItemMeta { writeln!(f, "// Full name: {}", self.name.full_name(ctx))?; } + for attr in &self.attr_info.attributes { + // Doc-comments are long and don't affect the semantics; skip them. + if attr.is_doc_comment() { + continue; + } + writeln!(f, "{tab}{}", attr.with_ctx(ctx))?; + } if let Some(id) = &self.lang_item { writeln!(f, "{tab}#[lang_item({id:?})]")?; } @@ -1429,6 +1436,136 @@ impl PolyTraitDeclRef { } } +impl FmtWithCtx for Attribute { + fn fmt_with_ctx(&self, ctx: &C, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let mut attr = String::new(); + self.fmt_unindented(ctx, &mut attr)?; + let sep = format!("\n{}", ctx.indent()); + write!(f, "{}", attr.lines().format(sep.as_str())) + } +} + +impl Attribute { + fn fmt_unindented(&self, ctx: &C, f: &mut impl fmt::Write) -> fmt::Result { + match self { + Attribute::Opaque => write!(f, "#[charon::opaque]"), + Attribute::Exclude => write!(f, "#[charon::exclude]"), + Attribute::Rename(name) => write!(f, "#[charon::rename(\"{name}\")]"), + Attribute::VariantsPrefix(prefix) => { + write!(f, "#[charon::variants_prefix(\"{prefix}\")]") + } + Attribute::VariantsSuffix(suffix) => { + write!(f, "#[charon::variants_suffix(\"{suffix}\")]") + } + Attribute::Transparent => write!(f, "#[charon::transparent]"), + Attribute::IsPrecondition(id) => { + write!(f, "#[charon::precondition] // of {}", id.with_ctx(ctx)) + } + Attribute::IsPostcondition(id) => { + write!(f, "#[charon::postcondition] // of {}", id.with_ctx(ctx)) + } + Attribute::HasPrecondition(id) => { + let id = ItemId::Fun(*id); + write!(f, "// precondition: {}", id.with_ctx(ctx)) + } + Attribute::HasPostcondition(id) => { + let id = ItemId::Fun(*id); + write!(f, "// postcondition: {}", id.with_ctx(ctx)) + } + Attribute::DocComment(comment) => { + write!( + f, + "{}", + comment + .lines() + .map(|line| format!("///{line}")) + .format("\n") + ) + } + Attribute::Builtin(kind) => write!(f, "#[{kind}]"), + Attribute::Unknown(attr) => write!(f, "#[{attr}]"), + } + } +} + +/// Print a built-in attribute the way it is written in the source. +impl Display for from_rustc::AttributeKind { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + use from_rustc::AttributeKind; + match self { + AttributeKind::AutomaticallyDerived => write!(f, "automatically_derived"), + AttributeKind::Cold => write!(f, "cold"), + AttributeKind::Deprecated { deprecation, .. } => { + write!(f, "deprecated")?; + let since = match &deprecation.since { + from_rustc::DeprecatedSince::RustcVersion(v) => { + Some(format!("{}.{}.{}", v.major, v.minor, v.patch)) + } + from_rustc::DeprecatedSince::Future => Some("future".to_owned()), + from_rustc::DeprecatedSince::NonStandard(since) => Some(since.to_string()), + from_rustc::DeprecatedSince::Unspecified | from_rustc::DeprecatedSince::Err => { + None + } + }; + let since = since.map(|since| format!("since = \"{since}\"")); + let note = deprecation + .note + .as_ref() + .map(|note| format!("note = \"{}\"", note.name)); + let args = since.into_iter().chain(note).format(", ").to_string(); + if !args.is_empty() { + write!(f, "({args})")?; + } + Ok(()) + } + AttributeKind::Fundamental => write!(f, "fundamental"), + AttributeKind::Ignore { reason, .. } => { + write!(f, "ignore")?; + if let Some(reason) = reason { + write!(f, " = \"{reason}\"")?; + } + Ok(()) + } + AttributeKind::Inline(inline, _) => match inline { + from_rustc::InlineAttr::None => write!(f, "inline"), + from_rustc::InlineAttr::Hint => write!(f, "inline(hint)"), + from_rustc::InlineAttr::Always => write!(f, "inline(always)"), + from_rustc::InlineAttr::Never => write!(f, "inline(never)"), + from_rustc::InlineAttr::Force { .. } => write!(f, "rustc_force_inline"), + }, + AttributeKind::MayDangle(_) => write!(f, "may_dangle"), + AttributeKind::Naked(_) => write!(f, "naked"), + AttributeKind::NoLink => write!(f, "no_link"), + AttributeKind::NoMangle(_) => write!(f, "no_mangle"), + AttributeKind::NonExhaustive(_) => write!(f, "non_exhaustive"), + AttributeKind::Optimize(optimize, _) => match optimize { + from_rustc::OptimizeAttr::Default => write!(f, "optimize(default)"), + from_rustc::OptimizeAttr::DoNotOptimize => write!(f, "optimize(none)"), + from_rustc::OptimizeAttr::Speed => write!(f, "optimize(speed)"), + from_rustc::OptimizeAttr::Size => write!(f, "optimize(size)"), + }, + AttributeKind::RustcAlign { align, .. } => write!(f, "rustc_align({align})"), + AttributeKind::RustcDiagnosticItem(name) => { + write!(f, "rustc_diagnostic_item = \"{name}\"") + } + AttributeKind::RustcIntrinsic => write!(f, "rustc_intrinsic"), + AttributeKind::RustcTestEntrypointMarker => write!(f, "rustc_test_entrypoint_marker"), + AttributeKind::ShouldPanic { reason } => { + write!(f, "should_panic")?; + if let Some(reason) = reason { + write!(f, "(expected = \"{reason}\")")?; + } + Ok(()) + } + AttributeKind::TargetFeature { features, .. } => { + let features = features.iter().map(|(feature, _)| feature).format(","); + write!(f, "target_feature(enable = \"{features}\")") + } + AttributeKind::TrackCaller(_) => write!(f, "track_caller"), + } + } +} + impl Display for RawAttribute { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::result::Result<(), fmt::Error> { write!(f, "{}", self.path)?; diff --git a/charon/tests/cargo/dependencies.out b/charon/tests/cargo/dependencies.out index 9eef9366d..991159d41 100644 --- a/charon/tests/cargo/dependencies.out +++ b/charon/tests/cargo/dependencies.out @@ -5,10 +5,12 @@ pub opaque type Arguments<'a> // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -17,6 +19,7 @@ pub trait Sized } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -25,6 +28,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -38,6 +42,7 @@ pub trait FnOnce } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/cargo/issue-396-lib-bin.out b/charon/tests/cargo/issue-396-lib-bin.out index 4ac1692cc..05561908d 100644 --- a/charon/tests/cargo/issue-396-lib-bin.out +++ b/charon/tests/cargo/issue-396-lib-bin.out @@ -18,6 +18,7 @@ pub fn hello() -> u32 pub struct Error {} // Full name: core::fmt::Formatter +#[rustc_diagnostic_item = "Formatter"] #[diagnostic_item("Formatter")] pub opaque type Formatter where @@ -36,10 +37,12 @@ pub unsafe fn new<'a, const N : usize, const M : usize>(_1: &'a [u8; N], _2: &'a = // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -48,6 +51,7 @@ pub trait Sized } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -59,6 +63,7 @@ where } // Full name: core::fmt::Display +#[rustc_diagnostic_item = "Display"] #[diagnostic_item("Display")] pub trait Display { diff --git a/charon/tests/cargo/issue-412-dup-deps.out b/charon/tests/cargo/issue-412-dup-deps.out index 7f448fe26..4232a0687 100644 --- a/charon/tests/cargo/issue-412-dup-deps.out +++ b/charon/tests/cargo/issue-412-dup-deps.out @@ -5,10 +5,12 @@ pub opaque type Arguments<'a> // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -17,6 +19,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/cargo/test-attributes.out b/charon/tests/cargo/test-attributes.out index a02705f0d..691551483 100644 --- a/charon/tests/cargo/test-attributes.out +++ b/charon/tests/cargo/test-attributes.out @@ -8,10 +8,12 @@ pub opaque type Layout pub struct AllocError {} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -20,6 +22,7 @@ pub trait Sized } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -31,6 +34,7 @@ where } // Full name: core::ptr::non_null::NonNull +#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub opaque type NonNull @@ -44,6 +48,7 @@ pub trait Allocator } // Full name: core::borrow::Borrow +#[rustc_diagnostic_item = "Borrow"] #[diagnostic_item("Borrow")] pub trait Borrow { @@ -62,6 +67,7 @@ pub fn from_str<'a>(_1: &'static str) -> Arguments<'a> = // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send @@ -74,6 +80,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -86,6 +93,7 @@ opaque type core::ops::function::Fn::{vtable} opaque type core::ops::function::FnOnce::{vtable} // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -99,6 +107,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -111,6 +120,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { @@ -123,6 +133,7 @@ pub trait Fn } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -161,10 +172,12 @@ impl "impl_Termination_for_unit" Termination for () { pub struct Global {} // Full name: alloc::alloc::{impl Allocator for Global}::deallocate +#[track_caller] pub unsafe fn deallocate<'_0>(_1: &'_0 Global, _2: NonNull, _3: Layout) = // Full name: alloc::alloc::{impl Allocator for Global}::allocate +#[track_caller] pub fn allocate<'_0>(_1: &'_0 Global, _2: Layout) -> Result, AllocError>[{built_in impl Sized for NonNull<[u8]>}, {built_in impl Sized for AllocError}] = @@ -177,6 +190,7 @@ impl "impl_Allocator_for_Global" Allocator for Global { } // Full name: alloc::borrow::ToOwned +#[rustc_diagnostic_item = "ToOwned"] #[diagnostic_item("ToOwned")] pub trait ToOwned { @@ -189,6 +203,7 @@ pub trait ToOwned } // Full name: alloc::borrow::Cow +#[rustc_diagnostic_item = "Cow"] #[diagnostic_item("Cow")] pub enum Cow<'a, B> where @@ -202,6 +217,7 @@ where } // Full name: alloc::boxed::Box +#[fundamental] #[lang_item(OwnedBox)] pub opaque type Box where @@ -351,6 +367,8 @@ unsafe fn {impl Destruct for test_attributes::tests::test_ignore::closure}::drop return } +#[ignore] +#[rustc_test_entrypoint_marker] fn test_attributes::tests::test_ignore#1() { let _0: (); // return @@ -497,6 +515,8 @@ unsafe fn {impl Destruct for test_attributes::tests::test_should_panic::closure} return } +#[should_panic] +#[rustc_test_entrypoint_marker] fn test_attributes::tests::test_should_panic#1() { let _0: (); // return @@ -646,6 +666,7 @@ unsafe fn {impl Destruct for test_attributes::tests::test_foo::closure}::drop_gl return } +#[rustc_test_entrypoint_marker] fn test_attributes::tests::test_foo#1() { let _0: (); // return diff --git a/charon/tests/cargo/toml.out b/charon/tests/cargo/toml.out index 37fb9e624..4036ea9db 100644 --- a/charon/tests/cargo/toml.out +++ b/charon/tests/cargo/toml.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/advanced-const-generics.out b/charon/tests/ui/advanced-const-generics.out index 6fce19753..82012810b 100644 --- a/charon/tests/ui/advanced-const-generics.out +++ b/charon/tests/ui/advanced-const-generics.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -10,6 +11,7 @@ pub trait PartialEq } // Full name: core::cmp::Eq +#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -25,10 +27,12 @@ where = // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -55,6 +59,7 @@ pub trait ConstParamTy_ } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -72,6 +77,7 @@ enum Foo { } // Full name: test_crate::{impl Eq for Foo}::assert_fields_are_eq +#[inline(hint)] pub fn impl_Eq_for_Foo::assert_fields_are_eq<'_0>(self: &'_0 Foo) { let _0: (); // return @@ -85,6 +91,7 @@ pub fn impl_Eq_for_Foo::assert_fields_are_eq<'_0>(self: &'_0 Foo) } // Full name: test_crate::{impl PartialEq for Foo}::eq +#[inline(hint)] pub fn eq<'_0, '_1>(self: &'_0 Foo, other: &'_1 Foo) -> bool { let _0: bool; // return @@ -152,6 +159,7 @@ impl "impl_ConstParamTy__for_Foo" ConstParamTy_ for Foo { } // Full name: test_crate::{impl Debug for Foo}::fmt +#[inline(hint)] pub fn fmt<'_0, '_1, '_2>(self: &'_0 Foo, f: &'_1 mut Formatter<'_2>) -> Result<(), Error>[{built_in impl Sized for ()}, {built_in impl Sized for Error}] where RegionOutlives0: '_2: '_1, diff --git a/charon/tests/ui/arrays.out b/charon/tests/ui/arrays.out index 96298c4a1..f51511ede 100644 --- a/charon/tests/ui/arrays.out +++ b/charon/tests/ui/arrays.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized @@ -16,6 +17,7 @@ pub trait Index } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -75,6 +77,7 @@ where } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -104,6 +107,7 @@ where } // Full name: core::slice::index::SliceIndex +#[rustc_diagnostic_item = "SliceIndex"] #[diagnostic_item("SliceIndex")] pub trait SliceIndex { @@ -184,12 +188,14 @@ where = // Full name: core::slice::index::{impl SliceIndex<[T], [T]> for Range[{built_in impl Sized for usize}]}::get_unchecked_mut +#[track_caller] pub unsafe fn get_unchecked_mut(_1: Range[{built_in impl Sized for usize}], _2: *mut [T]) -> *mut [T] where TraitClause0: (T: Sized), = // Full name: core::slice::index::{impl SliceIndex<[T], [T]> for Range[{built_in impl Sized for usize}]}::get_unchecked +#[track_caller] pub unsafe fn get_unchecked(_1: Range[{built_in impl Sized for usize}], _2: *const [T]) -> *const [T] where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/assoc-const-with-generics.out b/charon/tests/ui/assoc-const-with-generics.out index 6da3521a7..fbe82cf31 100644 --- a/charon/tests/ui/assoc-const-with-generics.out +++ b/charon/tests/ui/assoc-const-with-generics.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/assoc-constraint-on-assoc-ty-nested.out b/charon/tests/ui/associated_types/assoc-constraint-on-assoc-ty-nested.out index 138d1b2d0..f7396e280 100644 --- a/charon/tests/ui/associated_types/assoc-constraint-on-assoc-ty-nested.out +++ b/charon/tests/ui/associated_types/assoc-constraint-on-assoc-ty-nested.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/assoc-constraint-on-assoc-ty.2.out b/charon/tests/ui/associated_types/assoc-constraint-on-assoc-ty.2.out index d795aef17..53f7a00d9 100644 --- a/charon/tests/ui/associated_types/assoc-constraint-on-assoc-ty.2.out +++ b/charon/tests/ui/associated_types/assoc-constraint-on-assoc-ty.2.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/assoc-constraint-on-assoc-ty.out b/charon/tests/ui/associated_types/assoc-constraint-on-assoc-ty.out index 55f3b9704..9e62b735a 100644 --- a/charon/tests/ui/associated_types/assoc-constraint-on-assoc-ty.out +++ b/charon/tests/ui/associated_types/assoc-constraint-on-assoc-ty.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/assoc-ty-bound-refers-to-assoc-ty.out b/charon/tests/ui/associated_types/assoc-ty-bound-refers-to-assoc-ty.out index b7e53d0f9..46b62a732 100644 --- a/charon/tests/ui/associated_types/assoc-ty-bound-refers-to-assoc-ty.out +++ b/charon/tests/ui/associated_types/assoc-ty-bound-refers-to-assoc-ty.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/assoc-ty-default-with-self-bound.out b/charon/tests/ui/associated_types/assoc-ty-default-with-self-bound.out index d9f6550fd..b0af802e5 100644 --- a/charon/tests/ui/associated_types/assoc-ty-default-with-self-bound.out +++ b/charon/tests/ui/associated_types/assoc-ty-default-with-self-bound.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/assoc-ty-via-supertrait-and-bounds.out b/charon/tests/ui/associated_types/assoc-ty-via-supertrait-and-bounds.out index 77274bf44..b170873e4 100644 --- a/charon/tests/ui/associated_types/assoc-ty-via-supertrait-and-bounds.out +++ b/charon/tests/ui/associated_types/assoc-ty-via-supertrait-and-bounds.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/assoc-type-with-fn-bound.out b/charon/tests/ui/associated_types/assoc-type-with-fn-bound.out index d2c8e11f2..ca3e731b9 100644 --- a/charon/tests/ui/associated_types/assoc-type-with-fn-bound.out +++ b/charon/tests/ui/associated_types/assoc-type-with-fn-bound.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -21,6 +24,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -33,6 +37,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -45,6 +50,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/associated_types/associated-types.out b/charon/tests/ui/associated_types/associated-types.out index a2054e1e8..4c3726d37 100644 --- a/charon/tests/ui/associated_types/associated-types.out +++ b/charon/tests/ui/associated_types/associated-types.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::borrow::Borrow +#[rustc_diagnostic_item = "Borrow"] #[diagnostic_item("Borrow")] pub trait Borrow { @@ -15,6 +17,7 @@ pub trait Borrow } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -23,6 +26,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -33,6 +37,7 @@ pub trait Clone } // Full name: core::clone::impls::{impl Clone for &'_0 T}::clone +#[rustc_diagnostic_item = "noop_method_clone"] #[diagnostic_item("noop_method_clone")] pub fn {impl Clone for &'_0 T}::clone<'_0, '_1, T>(_1: &'_1 &'_0 T) -> &'_0 T where @@ -51,6 +56,7 @@ where } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -79,6 +85,7 @@ pub trait Destruct } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -122,6 +129,7 @@ where } // Full name: alloc::borrow::ToOwned +#[rustc_diagnostic_item = "ToOwned"] #[diagnostic_item("ToOwned")] pub trait ToOwned { diff --git a/charon/tests/ui/associated_types/closure-inside-impl-with-bound-with-assoc-ty.out b/charon/tests/ui/associated_types/closure-inside-impl-with-bound-with-assoc-ty.out index 94eee9377..bf449a534 100644 --- a/charon/tests/ui/associated_types/closure-inside-impl-with-bound-with-assoc-ty.out +++ b/charon/tests/ui/associated_types/closure-inside-impl-with-bound-with-assoc-ty.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -41,6 +45,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -53,6 +58,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/associated_types/dictionary_passing_style_woes.out b/charon/tests/ui/associated_types/dictionary_passing_style_woes.out index e0c45042d..489d62d45 100644 --- a/charon/tests/ui/associated_types/dictionary_passing_style_woes.out +++ b/charon/tests/ui/associated_types/dictionary_passing_style_woes.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/associated_types/gat-used-in-method.out b/charon/tests/ui/associated_types/gat-used-in-method.out index 28f1a0932..52bb30c19 100644 --- a/charon/tests/ui/associated_types/gat-used-in-method.out +++ b/charon/tests/ui/associated_types/gat-used-in-method.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/generic-impl-with-defaulted-method-with-clause-with-assoc-ty.out b/charon/tests/ui/associated_types/generic-impl-with-defaulted-method-with-clause-with-assoc-ty.out index eeea40f60..d5cd9c9c9 100644 --- a/charon/tests/ui/associated_types/generic-impl-with-defaulted-method-with-clause-with-assoc-ty.out +++ b/charon/tests/ui/associated_types/generic-impl-with-defaulted-method-with-clause-with-assoc-ty.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/associated_types/impl-with-dyn-assoc-ty.out b/charon/tests/ui/associated_types/impl-with-dyn-assoc-ty.out index 4f2e8d470..b5f3dde7e 100644 --- a/charon/tests/ui/associated_types/impl-with-dyn-assoc-ty.out +++ b/charon/tests/ui/associated_types/impl-with-dyn-assoc-ty.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/issue-1036-failed-assoc-ty-lifting.out b/charon/tests/ui/associated_types/issue-1036-failed-assoc-ty-lifting.out index 787239094..7fbfd9316 100644 --- a/charon/tests/ui/associated_types/issue-1036-failed-assoc-ty-lifting.out +++ b/charon/tests/ui/associated_types/issue-1036-failed-assoc-ty-lifting.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/issue-1068-double-visit.out b/charon/tests/ui/associated_types/issue-1068-double-visit.out index 1c9fafc91..7ab7e8ba2 100644 --- a/charon/tests/ui/associated_types/issue-1068-double-visit.out +++ b/charon/tests/ui/associated_types/issue-1068-double-visit.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/issue-1078-default-assoc-ty-self-ref-clause.2.out b/charon/tests/ui/associated_types/issue-1078-default-assoc-ty-self-ref-clause.2.out index 8e42602eb..9c49461c8 100644 --- a/charon/tests/ui/associated_types/issue-1078-default-assoc-ty-self-ref-clause.2.out +++ b/charon/tests/ui/associated_types/issue-1078-default-assoc-ty-self-ref-clause.2.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/issue-1078-default-assoc-ty-self-ref-clause.out b/charon/tests/ui/associated_types/issue-1078-default-assoc-ty-self-ref-clause.out index a36fbb38c..7f5aed886 100644 --- a/charon/tests/ui/associated_types/issue-1078-default-assoc-ty-self-ref-clause.out +++ b/charon/tests/ui/associated_types/issue-1078-default-assoc-ty-self-ref-clause.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/associated_types/issue-1260-self-ref-assoc-const.out b/charon/tests/ui/associated_types/issue-1260-self-ref-assoc-const.out index 51137d38b..40e470424 100644 --- a/charon/tests/ui/associated_types/issue-1260-self-ref-assoc-const.out +++ b/charon/tests/ui/associated_types/issue-1260-self-ref-assoc-const.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/issue-1326-assoc-through-supertrait.out b/charon/tests/ui/associated_types/issue-1326-assoc-through-supertrait.out index 34197cad2..76b7cd3c6 100644 --- a/charon/tests/ui/associated_types/issue-1326-assoc-through-supertrait.out +++ b/charon/tests/ui/associated_types/issue-1326-assoc-through-supertrait.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/issue-968-default-assoc-const.out b/charon/tests/ui/associated_types/issue-968-default-assoc-const.out index edb5b4472..eac0e2793 100644 --- a/charon/tests/ui/associated_types/issue-968-default-assoc-const.out +++ b/charon/tests/ui/associated_types/issue-968-default-assoc-const.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/iter-empty.out b/charon/tests/ui/associated_types/iter-empty.out index 34948b540..cbadd2e0c 100644 --- a/charon/tests/ui/associated_types/iter-empty.out +++ b/charon/tests/ui/associated_types/iter-empty.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/lift-assoc-ty-in-alias.out b/charon/tests/ui/associated_types/lift-assoc-ty-in-alias.out index d3a241750..1c7ef6c4b 100644 --- a/charon/tests/ui/associated_types/lift-assoc-ty-in-alias.out +++ b/charon/tests/ui/associated_types/lift-assoc-ty-in-alias.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/mem-discriminant-from-derive.out b/charon/tests/ui/associated_types/mem-discriminant-from-derive.out index 92c92798b..f363d38da 100644 --- a/charon/tests/ui/associated_types/mem-discriminant-from-derive.out +++ b/charon/tests/ui/associated_types/mem-discriminant-from-derive.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -30,6 +31,7 @@ where = // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized @@ -54,6 +56,7 @@ impl "impl_StructuralPartialEq_for_Enum" StructuralPartialEq for Enum { } // Full name: test_crate::{impl PartialEq for Enum}::eq +#[inline(hint)] pub fn impl_PartialEq_Enum_for_Enum::eq<'_0, '_1>(self: &'_0 Enum, other: &'_1 Enum) -> bool { let _0: bool; // return diff --git a/charon/tests/ui/associated_types/method-with-assoc-type-constraint.out b/charon/tests/ui/associated_types/method-with-assoc-type-constraint.out index dc2ac4779..ecc7c234d 100644 --- a/charon/tests/ui/associated_types/method-with-assoc-type-constraint.out +++ b/charon/tests/ui/associated_types/method-with-assoc-type-constraint.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/pointee_metadata.out b/charon/tests/ui/associated_types/pointee_metadata.out index 0831c4fab..ac30d032c 100644 --- a/charon/tests/ui/associated_types/pointee_metadata.out +++ b/charon/tests/ui/associated_types/pointee_metadata.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -32,6 +36,7 @@ pub trait PartialEq } // Full name: core::cmp::Eq +#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -48,6 +53,7 @@ pub enum Ordering { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -59,6 +65,7 @@ where } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -69,6 +76,7 @@ pub trait PartialOrd } // Full name: core::cmp::Ord +#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -88,6 +96,7 @@ pub trait Hasher } // Full name: core::hash::Hash +#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -96,10 +105,12 @@ pub trait Hash } // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -110,6 +121,7 @@ pub trait Copy } // Full name: core::marker::Sync +#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync diff --git a/charon/tests/ui/associated_types/quantified-trait-type-constraint.out b/charon/tests/ui/associated_types/quantified-trait-type-constraint.out index 91fe0ef97..02202423d 100644 --- a/charon/tests/ui/associated_types/quantified-trait-type-constraint.out +++ b/charon/tests/ui/associated_types/quantified-trait-type-constraint.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/associated_types/supertrait-item-bound-has-assoc-ty.out b/charon/tests/ui/associated_types/supertrait-item-bound-has-assoc-ty.out index b9a510f1c..473eae175 100644 --- a/charon/tests/ui/associated_types/supertrait-item-bound-has-assoc-ty.out +++ b/charon/tests/ui/associated_types/supertrait-item-bound-has-assoc-ty.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/borrowck-statements.out b/charon/tests/ui/borrowck-statements.out index 2472c014e..b36329a6f 100644 --- a/charon/tests/ui/borrowck-statements.out +++ b/charon/tests/ui/borrowck-statements.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -34,6 +37,7 @@ impl "impl_Clone_for_u32" Clone for u32 { } // Full name: core::clone::impls::{impl Clone for &'_0 T}::clone +#[rustc_diagnostic_item = "noop_method_clone"] #[diagnostic_item("noop_method_clone")] pub fn {impl Clone for &'_0 T}::clone<'_0, '_1, T>(_1: &'_1 &'_0 T) -> &'_0 T where @@ -52,6 +56,7 @@ where } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/call-to-known-trait-method.out b/charon/tests/ui/call-to-known-trait-method.out index 888b5bc16..f27cb2a42 100644 --- a/charon/tests/ui/call-to-known-trait-method.out +++ b/charon/tests/ui/call-to-known-trait-method.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -34,6 +37,7 @@ impl "impl_Clone_for_u8" Clone for u8 { } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -53,6 +57,7 @@ impl "impl_PartialEq_bool_for_bool" PartialEq for bool { } // Full name: core::default::Default +#[rustc_diagnostic_item = "Default"] #[diagnostic_item("Default")] pub trait Default { @@ -93,6 +98,7 @@ where } // Full name: test_crate::{impl Default for Struct[TraitClause0]}::default +#[inline(hint)] pub fn impl_Default_for_Struct::default() -> Struct[TraitClause0] where TraitClause0: (A: Sized), diff --git a/charon/tests/ui/closure-as-fn.out b/charon/tests/ui/closure-as-fn.out index c712945d9..440e439cc 100644 --- a/charon/tests/ui/closure-as-fn.out +++ b/charon/tests/ui/closure-as-fn.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/closures.out b/charon/tests/ui/closures.out index c3ca8b08a..338d0d729 100644 --- a/charon/tests/ui/closures.out +++ b/charon/tests/ui/closures.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -13,6 +15,7 @@ pub trait Tuple } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +24,7 @@ pub trait Sized } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -33,6 +37,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -65,6 +70,7 @@ where = // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -86,6 +92,7 @@ impl "impl_Clone_for_u32" Clone for u32 { } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { @@ -98,6 +105,7 @@ pub trait Fn } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -159,6 +167,7 @@ pub fn incr_u32(x: u32) -> u32 } // Full name: test_crate::map_option +#[allow(clippy::manual_map)] pub fn map_option(x_1: Option[TraitClause0], f: F) -> Option[TraitClause0] where TraitClause0: (T: Sized), @@ -287,6 +296,7 @@ where } // Full name: test_crate::map_option_pointer_ref +#[allow(clippy::manual_map, clippy::needless_lifetimes)] pub fn map_option_pointer_ref<'a, T, F>(x_1: &'a Option[TraitClause0], f: fn<'_0_1>(&'_0_1 T) -> T) -> Option[TraitClause0] where TraitClause0: (T: Sized), @@ -842,6 +852,7 @@ fn test_crate::test_closure_ref_u32::closure::as_fn<'_0>(arg1: &'_0 u32) -> &'_0 } // Full name: test_crate::test_closure_ref_u32 +#[allow(clippy::needless_lifetimes)] pub fn test_closure_ref_u32<'a>(x: &'a u32) -> &'a u32 { let _0: &'1 u32; // return @@ -1614,6 +1625,7 @@ pub fn test_map_option_id2(x: Option[{built_in impl Sized for u32}]) -> Opt } // Full name: test_crate::id_clone +#[allow(clippy::redundant_clone)] pub fn id_clone(x: T) -> T where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/closures_with_where.out b/charon/tests/ui/closures_with_where.out index c301efb78..bc036555c 100644 --- a/charon/tests/ui/closures_with_where.out +++ b/charon/tests/ui/closures_with_where.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -13,6 +15,7 @@ pub trait Tuple } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +24,7 @@ pub trait Sized } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -34,6 +38,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { diff --git a/charon/tests/ui/comments.out b/charon/tests/ui/comments.out index 6d164d539..ec8fcce32 100644 --- a/charon/tests/ui/comments.out +++ b/charon/tests/ui/comments.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::default::Default +#[rustc_diagnostic_item = "Default"] #[diagnostic_item("Default")] pub trait Default { @@ -34,6 +37,7 @@ pub trait Destruct } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -247,6 +251,7 @@ struct Foo { } // Full name: test_crate::{impl Default for Foo}::default +#[inline(hint)] pub fn impl_Default_for_Foo::default() -> Foo { let _0: Foo; // return @@ -280,6 +285,7 @@ struct Bar { } // Full name: test_crate::{impl Default for Bar}::default +#[inline(hint)] pub fn impl_Default_for_Bar::default() -> Bar { let _0: Bar; // return diff --git a/charon/tests/ui/constants.out b/charon/tests/ui/constants.out index 9ffc9ce7a..193f96891 100644 --- a/charon/tests/ui/constants.out +++ b/charon/tests/ui/constants.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -54,6 +56,7 @@ pub fn X1() -> u32 pub const X1: u32 = X1() // Full name: test_crate::X2 +#[allow(clippy::let_and_return)] pub fn X2() -> u32 { let _0: u32; // return @@ -69,6 +72,7 @@ pub fn X2() -> u32 } // Full name: test_crate::X2 +#[allow(clippy::let_and_return)] pub const X2: u32 = X2() // Full name: test_crate::incr diff --git a/charon/tests/ui/consts/evaluate-consts-mono.out b/charon/tests/ui/consts/evaluate-consts-mono.out index 7599257ad..fdca15b43 100644 --- a/charon/tests/ui/consts/evaluate-consts-mono.out +++ b/charon/tests/ui/consts/evaluate-consts-mono.out @@ -4,6 +4,7 @@ opaque type {vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/consts/evaluate-consts-recursive-static.out b/charon/tests/ui/consts/evaluate-consts-recursive-static.out index d48c7ecfa..1d69e1d6b 100644 --- a/charon/tests/ui/consts/evaluate-consts-recursive-static.out +++ b/charon/tests/ui/consts/evaluate-consts-recursive-static.out @@ -1,16 +1,19 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::cell::Cell +#[rustc_diagnostic_item = "Cell"] #[diagnostic_item("Cell")] pub opaque type Cell where TraitClause0: (T: MetaSized), // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -25,6 +28,7 @@ where = // Full name: core::marker::Sync +#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync diff --git a/charon/tests/ui/consts/evaluate-consts.out b/charon/tests/ui/consts/evaluate-consts.out index 96e62f9ec..ebdb019d1 100644 --- a/charon/tests/ui/consts/evaluate-consts.out +++ b/charon/tests/ui/consts/evaluate-consts.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/consts/ptr-null-constevalval.out b/charon/tests/ui/consts/ptr-null-constevalval.out index fa5dc2338..38abec174 100644 --- a/charon/tests/ui/consts/ptr-null-constevalval.out +++ b/charon/tests/ui/consts/ptr-null-constevalval.out @@ -21,6 +21,7 @@ pub fn from_raw_parts::(data_pointer: *const (), metadata: ()) -> *const } // Full name: core::ptr::without_provenance_mut::<()> +#[rustc_diagnostic_item = "ptr_without_provenance_mut"] #[diagnostic_item("ptr_without_provenance_mut")] pub fn without_provenance_mut::<()>(addr: usize) -> *mut () { @@ -37,6 +38,7 @@ pub fn without_provenance_mut::<()>(addr: usize) -> *mut () } // Full name: core::ptr::without_provenance::<()> +#[rustc_diagnostic_item = "ptr_without_provenance"] #[diagnostic_item("ptr_without_provenance")] pub fn without_provenance::<()>(addr: usize) -> *const () { @@ -58,6 +60,7 @@ pub fn without_provenance::<()>(addr: usize) -> *const () } // Full name: core::ptr::null:: +#[rustc_diagnostic_item = "ptr_null"] #[diagnostic_item("ptr_null")] pub fn null::() -> *const u8 { diff --git a/charon/tests/ui/consts/string-new-constevalval.out b/charon/tests/ui/consts/string-new-constevalval.out index 097ce6431..43249b58f 100644 --- a/charon/tests/ui/consts/string-new-constevalval.out +++ b/charon/tests/ui/consts/string-new-constevalval.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub struct Vec where @@ -23,6 +24,7 @@ impl "impl_Destruct_for_String" Destruct for String { non-dyn-compatible } +#[rustc_diagnostic_item = "vec_new"] #[diagnostic_item("vec_new")] pub fn alloc::vec::{Vec[TraitClause0, {built_in impl Sized for Global}, {impl#1}]}::new() -> Vec[TraitClause0, {built_in impl Sized for Global}, {impl#1}] where @@ -40,6 +42,7 @@ where return } +#[rustc_diagnostic_item = "string_new"] #[diagnostic_item("string_new")] pub fn alloc::string::{String}::new() -> String { diff --git a/charon/tests/ui/control-flow/issue-1051-missing-loop-jump.out b/charon/tests/ui/control-flow/issue-1051-missing-loop-jump.out index 18cafebf0..e71c75d1b 100644 --- a/charon/tests/ui/control-flow/issue-1051-missing-loop-jump.out +++ b/charon/tests/ui/control-flow/issue-1051-missing-loop-jump.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -34,6 +37,7 @@ impl "impl_Clone_for_i32" Clone for i32 { } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -51,6 +55,7 @@ pub enum Ordering { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -62,6 +67,7 @@ where } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -93,6 +99,7 @@ impl "impl_PartialOrd_i32_for_i32" PartialOrd for i32 { } // Full name: core::iter::range::Step +#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait Step { @@ -151,6 +158,7 @@ where } // Full name: core::iter::traits::iterator::Iterator +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/control-flow/issue-297-cfg.out b/charon/tests/ui/control-flow/issue-297-cfg.out index e3ed29eeb..e08980db2 100644 --- a/charon/tests/ui/control-flow/issue-297-cfg.out +++ b/charon/tests/ui/control-flow/issue-297-cfg.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -24,6 +27,7 @@ where } // Full name: core::iter::traits::iterator::Iterator +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator @@ -72,6 +76,7 @@ where } // Full name: core::slice::{[T]}::chunks +#[track_caller] pub fn chunks<'_0, T>(_1: &'_0 [T], _2: usize) -> Chunks<'_0, T>[TraitClause0] where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/control-flow/loops.out b/charon/tests/ui/control-flow/loops.out index f9f08bf7a..229aa469f 100644 --- a/charon/tests/ui/control-flow/loops.out +++ b/charon/tests/ui/control-flow/loops.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -56,6 +59,7 @@ impl "impl_Clone_for_u32" Clone for u32 { } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -73,6 +77,7 @@ pub enum Ordering { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -84,6 +89,7 @@ where } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -157,6 +163,7 @@ impl "impl_PartialOrd_u32_for_u32" PartialOrd for u32 { } // Full name: core::iter::range::Step +#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait Step { @@ -281,6 +288,7 @@ where } // Full name: core::iter::traits::iterator::Iterator +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator @@ -321,6 +329,7 @@ where = // Full name: core::slice::index::SliceIndex +#[rustc_diagnostic_item = "SliceIndex"] #[diagnostic_item("SliceIndex")] pub trait SliceIndex { @@ -352,12 +361,14 @@ where = // Full name: core::slice::index::{impl SliceIndex<[T]> for usize}::get_unchecked_mut +#[track_caller] pub unsafe fn get_unchecked_mut(_1: usize, _2: *mut [T]) -> *mut T where TraitClause0: (T: Sized), = // Full name: core::slice::index::{impl SliceIndex<[T]> for usize}::get_unchecked +#[track_caller] pub unsafe fn get_unchecked(_1: usize, _2: *const [T]) -> *const T where TraitClause0: (T: Sized), @@ -400,6 +411,7 @@ where pub struct Global {} // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -691,6 +703,7 @@ pub fn test_loop3(max: u32) -> u32 } // Full name: test_crate::test_loop4 +#[allow(unused_assignments)] pub fn test_loop4(max: u32) -> u32 { let _0: u32; // return diff --git a/charon/tests/ui/control-flow/simple-fallthrough.out b/charon/tests/ui/control-flow/simple-fallthrough.out index 6b5094142..10fb9b57b 100644 --- a/charon/tests/ui/control-flow/simple-fallthrough.out +++ b/charon/tests/ui/control-flow/simple-fallthrough.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/control-flow/ullbc-control-flow.out b/charon/tests/ui/control-flow/ullbc-control-flow.out index a32ed5cd9..9228e3acc 100644 --- a/charon/tests/ui/control-flow/ullbc-control-flow.out +++ b/charon/tests/ui/control-flow/ullbc-control-flow.out @@ -1,10 +1,12 @@ # Final ULLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -45,6 +48,7 @@ impl "impl_Clone_for_usize" Clone for usize { } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -62,6 +66,7 @@ pub enum Ordering { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -73,6 +78,7 @@ where } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -125,6 +131,7 @@ impl "impl_PartialOrd_usize_for_usize" PartialOrd for usize { } // Full name: core::iter::range::Step +#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait Step { @@ -216,6 +223,7 @@ where } // Full name: core::iter::traits::iterator::Iterator +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/copy_nonoverlapping.out b/charon/tests/ui/copy_nonoverlapping.out index 059ac7bc3..63a366996 100644 --- a/charon/tests/ui/copy_nonoverlapping.out +++ b/charon/tests/ui/copy_nonoverlapping.out @@ -5,6 +5,7 @@ pub opaque type Layout // Full name: core::alloc::layout::{Layout}::from_size_align_unchecked +#[track_caller] pub unsafe fn from_size_align_unchecked(_1: usize, _2: usize) -> Layout = @@ -17,10 +18,12 @@ pub trait Destruct } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -29,6 +32,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -130,10 +134,12 @@ impl "impl_Clone_for_usize" Clone for usize { } // Full name: core::intrinsics::abort +#[rustc_intrinsic] pub fn abort() -> ! = // Full name: core::ptr::non_null::NonNull +#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub struct NonNull { pointer: *const T is !null, @@ -153,10 +159,12 @@ pub struct Location<'a> { } // Full name: core::intrinsics::caller_location +#[rustc_intrinsic] pub fn caller_location() -> &'static Location<'static> = // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -167,6 +175,7 @@ pub trait Copy } // Full name: core::intrinsics::ctpop +#[rustc_intrinsic] pub fn ctpop(x_1: T) -> u32 where TraitClause0: (T: Sized), @@ -234,6 +243,7 @@ fn core::panic::panic_info::{PanicInfo<'a>}::new<'a>(message: &'a Arguments<'a>, } // Full name: core::panic::location::{Location<'a>}::caller +#[track_caller] pub fn caller<'a>() -> &'static Location<'static> { let _0: &'3 Location<'4>; // return @@ -244,6 +254,7 @@ pub fn caller<'a>() -> &'static Location<'static> return } +#[track_caller] fn core::panicking::panic_nounwind_fmt::runtime<'_0>(fmt: Arguments<'_0>, force_no_backtrace: bool) -> ! { let _0: !; // return @@ -311,16 +322,19 @@ fn core::panicking::panic_nounwind_fmt::runtime<'_0>(fmt: Arguments<'_0>, force_ ↳⚡ undefined_behavior } +#[rustc_intrinsic] pub fn core::intrinsics::size_of() -> usize where TraitClause0: (T: Sized), = +#[rustc_intrinsic] pub fn core::intrinsics::align_of() -> usize where TraitClause0: (T: Sized), = +#[rustc_intrinsic] pub unsafe fn core::intrinsics::copy_nonoverlapping(src_1: *const T, dst_2: *mut T, count_3: usize) where TraitClause0: (T: Sized), @@ -407,6 +421,7 @@ pub struct Alignment { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -484,6 +499,7 @@ fn check_language_ub() -> bool } // Full name: core::panicking::panic_nounwind_fmt +#[track_caller] pub fn panic_nounwind_fmt<'_0>(fmt: Arguments<'_0>, force_no_backtrace: bool) -> ! { let _0: !; // return @@ -509,6 +525,7 @@ pub fn panic_nounwind_fmt<'_0>(fmt: Arguments<'_0>, force_no_backtrace: bool) -> unwind_terminate } +#[track_caller] fn core::mem::alignment::{Alignment}::new_unchecked::precondition_check(align: usize) { let _0: (); // return @@ -561,6 +578,7 @@ fn core::mem::alignment::{Alignment}::new_unchecked::precondition_check(align: u } // Full name: core::mem::alignment::{Alignment}::new_unchecked +#[track_caller] pub unsafe fn new_unchecked(align: usize) -> Alignment { let _0: Alignment; // return @@ -753,6 +771,7 @@ where = IS_ZST[TraitClause0]() // Full name: core::option::unwrap_failed +#[track_caller] fn unwrap_failed() -> ! { let _0: !; // return @@ -762,6 +781,8 @@ fn unwrap_failed() -> ! } // Full name: core::option::{Option[TraitClause0]}::unwrap +#[track_caller] +#[rustc_diagnostic_item = "option_unwrap"] #[diagnostic_item("option_unwrap")] pub fn unwrap(self: Option[TraitClause0]) -> T where @@ -874,6 +895,7 @@ where non-dyn-compatible } +#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn core::mem::size_of() -> usize where @@ -886,6 +908,7 @@ where return } +#[rustc_diagnostic_item = "mem_align_of"] #[diagnostic_item("mem_align_of")] pub fn core::mem::align_of() -> usize where @@ -898,9 +921,12 @@ where return } +#[track_caller] fn core::ptr::copy_nonoverlapping::precondition_check(_1: *const (), _2: *mut (), _3: usize, _4: usize, _5: usize) = +#[track_caller] +#[rustc_diagnostic_item = "ptr_copy_nonoverlapping"] #[diagnostic_item("ptr_copy_nonoverlapping")] pub unsafe fn core::ptr::copy_nonoverlapping(src: *const T, dst: *mut T, count: usize) where diff --git a/charon/tests/ui/cross_compile_32_bit.out b/charon/tests/ui/cross_compile_32_bit.out index 20415a1f6..a2871c6fd 100644 --- a/charon/tests/ui/cross_compile_32_bit.out +++ b/charon/tests/ui/cross_compile_32_bit.out @@ -8,10 +8,12 @@ pub fn MAX() -> usize pub const MAX: usize = MAX() // Full name: core::ptr::non_null::NonNull +#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub opaque type NonNull // Full name: core::ptr::non_null::{NonNull}::new_unchecked +#[track_caller] pub unsafe fn new_unchecked(_1: *mut T) -> NonNull = diff --git a/charon/tests/ui/demo.out b/charon/tests/ui/demo.out index 5ef77c686..e4a062282 100644 --- a/charon/tests/ui/demo.out +++ b/charon/tests/ui/demo.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/desugar_drops_to_calls.out b/charon/tests/ui/desugar_drops_to_calls.out index 8d4eb194f..8ce1e1d6c 100644 --- a/charon/tests/ui/desugar_drops_to_calls.out +++ b/charon/tests/ui/desugar_drops_to_calls.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -74,6 +76,7 @@ unsafe fn impl_Destruct_for_String::drop_glue<'_0>(_1: &'_0 mut String) = // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/desugar_drops_to_calls_mono.out b/charon/tests/ui/desugar_drops_to_calls_mono.out index 47172c012..4570c1915 100644 --- a/charon/tests/ui/desugar_drops_to_calls_mono.out +++ b/charon/tests/ui/desugar_drops_to_calls_mono.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -64,6 +66,7 @@ unsafe fn impl_Destruct_for_String::drop_glue<'_0>(_1: &'_0 mut String) = // Full name: alloc::vec::Vec:: +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec:: diff --git a/charon/tests/ui/drop_after_overflow.out b/charon/tests/ui/drop_after_overflow.out index 8c744df92..19312b293 100644 --- a/charon/tests/ui/drop_after_overflow.out +++ b/charon/tests/ui/drop_after_overflow.out @@ -9,6 +9,7 @@ pub fn from_str<'a>(_1: &'static str) -> Arguments<'a> = // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/dyn-trait.out b/charon/tests/ui/dyn-trait.out index bdc6a4c9b..cb925b50a 100644 --- a/charon/tests/ui/dyn-trait.out +++ b/charon/tests/ui/dyn-trait.out @@ -3,6 +3,7 @@ opaque type core::cmp::PartialEq::{vtable} // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -12,10 +13,12 @@ pub trait PartialEq } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -24,6 +27,7 @@ pub trait Sized } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -34,6 +38,7 @@ pub trait Tuple opaque type core::ops::function::Fn::{vtable} // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -47,6 +52,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -59,6 +65,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { @@ -71,6 +78,7 @@ pub trait Fn } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -98,6 +106,7 @@ where = // Full name: test_crate::construct +#[charon::opaque] fn construct(_1: T) -> alloc::boxed::Box<(dyn Display + 'static)>[{built_in impl MetaSized for (dyn Display + 'static)}, {built_in impl Sized for Global}] where TraitClause0: (T: Sized), @@ -124,6 +133,7 @@ fn destruct<'_0>(x: &'_0 (dyn Display + '_0)) -> String } // Full name: test_crate::combine +#[charon::opaque] fn combine() = diff --git a/charon/tests/ui/dyn-with-diamond-supertraits.out b/charon/tests/ui/dyn-with-diamond-supertraits.out index b0f713973..0ebb96ade 100644 --- a/charon/tests/ui/dyn-with-diamond-supertraits.out +++ b/charon/tests/ui/dyn-with-diamond-supertraits.out @@ -1,16 +1,19 @@ # Final LLBC before serialization: // Full name: core::ops::arith::{impl Add for &'_0 i32}::add +#[track_caller] pub fn add<'_0>(_1: &'_0 i32, _2: i32) -> i32 = opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/explicit-drop-bounds.out b/charon/tests/ui/explicit-drop-bounds.out index 2e5e075ee..ab2d36df8 100644 --- a/charon/tests/ui/explicit-drop-bounds.out +++ b/charon/tests/ui/explicit-drop-bounds.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/external.out b/charon/tests/ui/external.out index e71ea936f..660caa75a 100644 --- a/charon/tests/ui/external.out +++ b/charon/tests/ui/external.out @@ -1,16 +1,19 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::cell::Cell +#[rustc_diagnostic_item = "Cell"] #[diagnostic_item("Cell")] pub opaque type Cell where TraitClause0: (T: MetaSized), // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -19,6 +22,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -29,6 +33,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -79,6 +84,7 @@ pub trait Destruct non-dyn-compatible } +#[rustc_diagnostic_item = "mem_swap"] #[diagnostic_item("mem_swap")] pub fn core::mem::swap<'_0, '_1, T>(_1: &'_0 mut T, _2: &'_1 mut T) where @@ -130,6 +136,7 @@ impl "impl_ZeroablePrimitive_for_u32" ZeroablePrimitive for u32 { } // Full name: core::num::nonzero::NonZero +#[rustc_diagnostic_item = "NonZero"] #[diagnostic_item("NonZero")] pub opaque type NonZero where @@ -137,6 +144,7 @@ where TraitClause1: (T: ZeroablePrimitive), // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -154,6 +162,8 @@ where = // Full name: core::option::{Option[TraitClause0]}::unwrap +#[track_caller] +#[rustc_diagnostic_item = "option_unwrap"] #[diagnostic_item("option_unwrap")] pub fn unwrap(_1: Option[TraitClause0]) -> T where @@ -175,6 +185,7 @@ impl "impl_Destruct_for_Global" Destruct for Global { } // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -190,6 +201,7 @@ where TypeOutlives1: A: '_0, = +#[rustc_diagnostic_item = "vec_new"] #[diagnostic_item("vec_new")] pub fn alloc::vec::{Vec[TraitClause0, {built_in impl Sized for Global}]}::new() -> Vec[TraitClause0, {built_in impl Sized for Global}] where @@ -259,6 +271,7 @@ pub fn test_new_non_zero_u32(x: u32) -> NonZero[{built_in impl Sized for u3 } // Full name: test_crate::test_vec_push +#[allow(clippy::vec_init_then_push)] pub fn test_vec_push() { let _0: (); // return diff --git a/charon/tests/ui/filtering/inner-items.out b/charon/tests/ui/filtering/inner-items.out index 3f5c6862d..b5f280478 100644 --- a/charon/tests/ui/filtering/inner-items.out +++ b/charon/tests/ui/filtering/inner-items.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized @@ -114,6 +115,7 @@ fn inner4() } // Full name: test_crate::module::opaque +#[charon::opaque] fn opaque() = diff --git a/charon/tests/ui/filtering/issue-1270-start-from-pub-skip-foreign-pub.out b/charon/tests/ui/filtering/issue-1270-start-from-pub-skip-foreign-pub.out index 7ba4e5980..7bb8ac7b1 100644 --- a/charon/tests/ui/filtering/issue-1270-start-from-pub-skip-foreign-pub.out +++ b/charon/tests/ui/filtering/issue-1270-start-from-pub-skip-foreign-pub.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::convert::From +#[rustc_diagnostic_item = "From"] #[lang_item(From)] #[diagnostic_item("From")] pub trait From @@ -45,6 +48,7 @@ pub enum Infallible { } // Full name: core::ops::control_flow::ControlFlow +#[rustc_diagnostic_item = "ControlFlow"] #[diagnostic_item("ControlFlow")] pub enum ControlFlow where @@ -65,6 +69,7 @@ where = // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -92,6 +97,7 @@ where = // Full name: core::result::{impl FromResidual[{built_in impl Sized for Infallible}, TraitClause1]> for Result[TraitClause0, TraitClause2]}::from_residual +#[track_caller] pub fn from_residual(_1: Result[{built_in impl Sized for Infallible}, TraitClause1]) -> Result[TraitClause0, TraitClause2] where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/filtering/opacity.out b/charon/tests/ui/filtering/opacity.out index 870a6d0ea..d825bc558 100644 --- a/charon/tests/ui/filtering/opacity.out +++ b/charon/tests/ui/filtering/opacity.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::convert::From +#[rustc_diagnostic_item = "From"] #[lang_item(From)] #[diagnostic_item("From")] pub trait From @@ -24,6 +27,7 @@ pub trait From } // Full name: core::convert::{impl Into for T}::into +#[track_caller] pub fn into(self: T) -> U where TraitClause0: (T: Sized), @@ -132,6 +136,7 @@ impl "impl_From_u32_for_u64" From for u64 { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/filtering/opaque-trait.out b/charon/tests/ui/filtering/opaque-trait.out index a7b17d213..8b660e02e 100644 --- a/charon/tests/ui/filtering/opaque-trait.out +++ b/charon/tests/ui/filtering/opaque-trait.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: test_crate::Trait +#[charon::opaque] trait Trait { proof ImpliedClause0: (Self: MetaSized) diff --git a/charon/tests/ui/filtering/opaque_attribute.out b/charon/tests/ui/filtering/opaque_attribute.out index b0087933c..40c7209e2 100644 --- a/charon/tests/ui/filtering/opaque_attribute.out +++ b/charon/tests/ui/filtering/opaque_attribute.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -24,6 +27,7 @@ where } // Full name: test_crate::BoolTrait +#[charon::opaque] pub trait BoolTrait { proof ImpliedClause0: (Self: MetaSized) @@ -97,6 +101,7 @@ where } // Full name: test_crate::test_bool_trait_option +#[charon::opaque] pub fn test_bool_trait_option(_1: Option[TraitClause0]) -> bool where TraitClause0: (T: Sized), @@ -104,19 +109,24 @@ where = // Full name: test_crate::Test +#[charon::opaque] opaque type Test // Full name: test_crate::SIX_SIX_SIX +#[charon::opaque] fn SIX_SIX_SIX() -> u32 = // Full name: test_crate::SIX_SIX_SIX +#[charon::opaque] const SIX_SIX_SIX: u32 = SIX_SIX_SIX() // Full name: test_crate::Test2 +#[charon::opaque] opaque type Test2 // Full name: test_crate::Test3 +#[charon::opaque] opaque type Test3 // Full name: test_crate::opaque::fn_in_opaque_module diff --git a/charon/tests/ui/filtering/start_from.out b/charon/tests/ui/filtering/start_from.out index 4573d3638..1ad42aad5 100644 --- a/charon/tests/ui/filtering/start_from.out +++ b/charon/tests/ui/filtering/start_from.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/filtering/start_from_attribute.out b/charon/tests/ui/filtering/start_from_attribute.out index 4e6058d77..291484259 100644 --- a/charon/tests/ui/filtering/start_from_attribute.out +++ b/charon/tests/ui/filtering/start_from_attribute.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: test_crate::module2::do_translate +#[verify::start_from] fn do_translate() { let _0: (); // return @@ -16,6 +18,7 @@ fn do_translate() } // Full name: test_crate::module2::also_translate +#[foobar::haha] fn also_translate() { let _0: (); // return @@ -30,6 +33,7 @@ fn also_translate() struct Type1 {} // Full name: test_crate::module2::{impl Trait1 for Type1}::method +#[verify::start_from] fn method() { let _0: (); // return diff --git a/charon/tests/ui/filtering/start_from_pub.out b/charon/tests/ui/filtering/start_from_pub.out index f96ca93a6..229f0f67a 100644 --- a/charon/tests/ui/filtering/start_from_pub.out +++ b/charon/tests/ui/filtering/start_from_pub.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/find-sized-clause.out b/charon/tests/ui/find-sized-clause.out index 3d5eb3da1..5fa291db4 100644 --- a/charon/tests/ui/find-sized-clause.out +++ b/charon/tests/ui/find-sized-clause.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/foreign-type-alias.out b/charon/tests/ui/foreign-type-alias.out index 358b462ec..5c075ff92 100644 --- a/charon/tests/ui/foreign-type-alias.out +++ b/charon/tests/ui/foreign-type-alias.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::borrow::Borrow +#[rustc_diagnostic_item = "Borrow"] #[diagnostic_item("Borrow")] pub trait Borrow { @@ -15,6 +17,7 @@ pub trait Borrow } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -23,6 +26,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -37,6 +41,7 @@ pub trait Clone pub struct Global {} // Full name: alloc::borrow::ToOwned +#[rustc_diagnostic_item = "ToOwned"] #[diagnostic_item("ToOwned")] pub trait ToOwned { @@ -49,6 +54,7 @@ pub trait ToOwned } // Full name: alloc::borrow::Cow +#[rustc_diagnostic_item = "Cow"] #[diagnostic_item("Cow")] pub enum Cow<'a, B> where @@ -62,6 +68,7 @@ where } // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/function-conditions.out b/charon/tests/ui/function-conditions.out index 2baa6d5b4..631b1128f 100644 --- a/charon/tests/ui/function-conditions.out +++ b/charon/tests/ui/function-conditions.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: test_crate::function +// precondition: precondition fn function() { let _0: (); // return @@ -12,6 +13,7 @@ fn function() } // Full name: test_crate::function::precondition +#[charon::precondition] // of function fn precondition() -> bool { let _0: bool; // return diff --git a/charon/tests/ui/gat-causes-unhandled-ty-clause.out b/charon/tests/ui/gat-causes-unhandled-ty-clause.out index daaccfd35..3c0b64721 100644 --- a/charon/tests/ui/gat-causes-unhandled-ty-clause.out +++ b/charon/tests/ui/gat-causes-unhandled-ty-clause.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/gosim-demo.out b/charon/tests/ui/gosim-demo.out index 92402fbf7..773530830 100644 --- a/charon/tests/ui/gosim-demo.out +++ b/charon/tests/ui/gosim-demo.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -24,6 +27,7 @@ where } // Full name: core::slice::iter::Iter +#[rustc_diagnostic_item = "SliceIter"] #[diagnostic_item("SliceIter")] pub opaque type Iter<'a, T> where diff --git a/charon/tests/ui/impl-trait.out b/charon/tests/ui/impl-trait.out index dd04ad522..c6a48edc2 100644 --- a/charon/tests/ui/impl-trait.out +++ b/charon/tests/ui/impl-trait.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -34,6 +37,7 @@ impl "impl_Clone_for_u32" Clone for u32 { } // Full name: core::clone::impls::{impl Clone for &'_0 T}::clone +#[rustc_diagnostic_item = "noop_method_clone"] #[diagnostic_item("noop_method_clone")] pub fn {impl Clone for &'_0 T}::clone<'_0, '_1, T>(_1: &'_1 &'_0 T) -> &'_0 T where @@ -60,6 +64,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -68,6 +73,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { diff --git a/charon/tests/ui/issue-1041-shift-through-index-mut.out b/charon/tests/ui/issue-1041-shift-through-index-mut.out index 732afa355..709a0e805 100644 --- a/charon/tests/ui/issue-1041-shift-through-index-mut.out +++ b/charon/tests/ui/issue-1041-shift-through-index-mut.out @@ -1,6 +1,7 @@ # Final ULLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/issue-114-opaque-bodies.out b/charon/tests/ui/issue-114-opaque-bodies.out index c568a02a2..c7597ad96 100644 --- a/charon/tests/ui/issue-114-opaque-bodies.out +++ b/charon/tests/ui/issue-114-opaque-bodies.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -79,6 +82,7 @@ where } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -89,6 +93,7 @@ pub trait PartialEq } // Full name: core::cmp::PartialEq::ne +#[rustc_diagnostic_item = "cmp_partialeq_ne"] #[diagnostic_item("cmp_partialeq_ne")] pub fn ne<'_0, '_1, Self, Rhs>(self: &'_0 Self, other: &'_1 Rhs) -> bool where @@ -275,6 +280,7 @@ pub fn core::num::{usize}::MAX() -> usize pub const core::num::{usize}::MAX: usize = core::num::{usize}::MAX() // Full name: core::ptr::non_null::NonNull +#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub struct NonNull { pointer: *const T is !null, @@ -311,6 +317,7 @@ where } // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub struct Vec where diff --git a/charon/tests/ui/issue-118-generic-copy.out b/charon/tests/ui/issue-118-generic-copy.out index f46ef5016..6e2af2a1d 100644 --- a/charon/tests/ui/issue-118-generic-copy.out +++ b/charon/tests/ui/issue-118-generic-copy.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -32,6 +35,7 @@ pub trait TrivialClone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -45,6 +49,7 @@ pub trait Copy struct Foo {} // Full name: test_crate::{impl Clone for Foo}::clone +#[inline(hint)] pub fn clone<'_0>(self: &'_0 Foo) -> Foo { let _0: Foo; // return diff --git a/charon/tests/ui/issue-120-bare-discriminant-read.out b/charon/tests/ui/issue-120-bare-discriminant-read.out index 3d48de1f8..236c4e2f0 100644 --- a/charon/tests/ui/issue-120-bare-discriminant-read.out +++ b/charon/tests/ui/issue-120-bare-discriminant-read.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/issue-159-heterogeneous-recursive-definitions.out b/charon/tests/ui/issue-159-heterogeneous-recursive-definitions.out index 826af6da7..0007eeb01 100644 --- a/charon/tests/ui/issue-159-heterogeneous-recursive-definitions.out +++ b/charon/tests/ui/issue-159-heterogeneous-recursive-definitions.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/issue-165-vec-macro.out b/charon/tests/ui/issue-165-vec-macro.out index de9e23a11..f1e4df5c4 100644 --- a/charon/tests/ui/issue-165-vec-macro.out +++ b/charon/tests/ui/issue-165-vec-macro.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -53,6 +56,7 @@ where = // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -76,6 +80,7 @@ where = // Full name: alloc::vec::from_elem +#[rustc_diagnostic_item = "vec_from_elem"] #[diagnostic_item("vec_from_elem")] pub fn from_elem(_1: T, _2: usize) -> Vec[TraitClause0, {built_in impl Sized for Global}] where diff --git a/charon/tests/ui/issue-323-closure-borrow.out b/charon/tests/ui/issue-323-closure-borrow.out index 1b8ea4ce6..746e018d9 100644 --- a/charon/tests/ui/issue-323-closure-borrow.out +++ b/charon/tests/ui/issue-323-closure-borrow.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { diff --git a/charon/tests/ui/issue-369-mismatched-genericparams.out b/charon/tests/ui/issue-369-mismatched-genericparams.out index f5145214b..9e7e8d852 100644 --- a/charon/tests/ui/issue-369-mismatched-genericparams.out +++ b/charon/tests/ui/issue-369-mismatched-genericparams.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/issue-372-type-param-out-of-range.out b/charon/tests/ui/issue-372-type-param-out-of-range.out index 24a159e64..73ce4f9ae 100644 --- a/charon/tests/ui/issue-372-type-param-out-of-range.out +++ b/charon/tests/ui/issue-372-type-param-out-of-range.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -21,6 +24,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -34,6 +38,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { diff --git a/charon/tests/ui/issue-378-ctor-as-fn.out b/charon/tests/ui/issue-378-ctor-as-fn.out index 600351db6..a33eeaf96 100644 --- a/charon/tests/ui/issue-378-ctor-as-fn.out +++ b/charon/tests/ui/issue-378-ctor-as-fn.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -46,6 +49,7 @@ unsafe fn impl_Destruct_for_String::drop_glue<'_0>(_1: &'_0 mut String) = // Full name: alloc::string::{String}::new +#[rustc_diagnostic_item = "string_new"] #[diagnostic_item("string_new")] pub fn new() -> String = diff --git a/charon/tests/ui/issue-394-rpit-with-lifetime.out b/charon/tests/ui/issue-394-rpit-with-lifetime.out index bef98c6e3..5252d51e9 100644 --- a/charon/tests/ui/issue-394-rpit-with-lifetime.out +++ b/charon/tests/ui/issue-394-rpit-with-lifetime.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -24,6 +27,7 @@ where } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -32,6 +36,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -45,6 +50,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { diff --git a/charon/tests/ui/issue-395-failed-to-normalize.out b/charon/tests/ui/issue-395-failed-to-normalize.out index d956c619a..f7218b07e 100644 --- a/charon/tests/ui/issue-395-failed-to-normalize.out +++ b/charon/tests/ui/issue-395-failed-to-normalize.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -24,6 +27,7 @@ where } // Full name: core::iter::traits::iterator::Iterator +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/issue-4-slice-try-into-array.out b/charon/tests/ui/issue-4-slice-try-into-array.out index 17acacf0d..b12f93374 100644 --- a/charon/tests/ui/issue-4-slice-try-into-array.out +++ b/charon/tests/ui/issue-4-slice-try-into-array.out @@ -9,10 +9,12 @@ impl "impl_Debug_for_TryFromSliceError" Debug for TryFromSliceError { } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -31,6 +34,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -41,6 +45,7 @@ pub trait Copy } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -52,6 +57,7 @@ where } // Full name: core::convert::TryFrom +#[rustc_diagnostic_item = "TryFrom"] #[diagnostic_item("TryFrom")] pub trait TryFrom { @@ -113,6 +119,7 @@ impl "impl_Copy_for_u8" Copy for u8 { } // Full name: core::result::{Result[TraitClause0, TraitClause1]}::unwrap +#[track_caller] pub fn unwrap(_1: Result[TraitClause0, TraitClause1]) -> T where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/issue-4-traits.out b/charon/tests/ui/issue-4-traits.out index 3fbb24b0b..d083ca0fe 100644 --- a/charon/tests/ui/issue-4-traits.out +++ b/charon/tests/ui/issue-4-traits.out @@ -9,10 +9,12 @@ impl "impl_Debug_for_TryFromSliceError" Debug for TryFromSliceError { } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -31,6 +34,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -41,6 +45,7 @@ pub trait Copy } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -52,6 +57,7 @@ where } // Full name: core::convert::TryFrom +#[rustc_diagnostic_item = "TryFrom"] #[diagnostic_item("TryFrom")] pub trait TryFrom { @@ -113,6 +119,7 @@ impl "impl_Copy_for_u8" Copy for u8 { } // Full name: core::result::{Result[TraitClause0, TraitClause1]}::unwrap +#[track_caller] pub fn unwrap(_1: Result[TraitClause0, TraitClause1]) -> T where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/issue-45-misc.out b/charon/tests/ui/issue-45-misc.out index a32351b5c..0be9ac39b 100644 --- a/charon/tests/ui/issue-45-misc.out +++ b/charon/tests/ui/issue-45-misc.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -13,6 +15,7 @@ pub trait Tuple } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +24,7 @@ pub trait Sized } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -34,6 +38,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -66,6 +71,7 @@ where = // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -87,6 +93,7 @@ impl "impl_Clone_for_u8" Clone for u8 { } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -104,6 +111,7 @@ pub enum Ordering { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -115,6 +123,7 @@ where } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -146,6 +155,7 @@ impl "impl_PartialOrd_u8_for_u8" PartialOrd for u8 { } // Full name: core::iter::range::Step +#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait Step { @@ -204,6 +214,7 @@ where } // Full name: core::iter::traits::iterator::Iterator +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/issue-70-override-provided-method.2-nodup.out b/charon/tests/ui/issue-70-override-provided-method.2-nodup.out index 91ec01e89..9604491b8 100644 --- a/charon/tests/ui/issue-70-override-provided-method.2-nodup.out +++ b/charon/tests/ui/issue-70-override-provided-method.2-nodup.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/issue-70-override-provided-method.2.out b/charon/tests/ui/issue-70-override-provided-method.2.out index e5fdc396d..118acea37 100644 --- a/charon/tests/ui/issue-70-override-provided-method.2.out +++ b/charon/tests/ui/issue-70-override-provided-method.2.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/issue-70-override-provided-method.3.out b/charon/tests/ui/issue-70-override-provided-method.3.out index ca13f36f7..329950a8f 100644 --- a/charon/tests/ui/issue-70-override-provided-method.3.out +++ b/charon/tests/ui/issue-70-override-provided-method.3.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -32,6 +36,7 @@ pub trait PartialEq } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -50,6 +55,7 @@ pub trait Destruct } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/issue-70-override-provided-method.out b/charon/tests/ui/issue-70-override-provided-method.out index 5e37b3148..d0878822e 100644 --- a/charon/tests/ui/issue-70-override-provided-method.out +++ b/charon/tests/ui/issue-70-override-provided-method.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -18,10 +19,12 @@ pub enum Ordering { } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -30,6 +33,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -41,6 +45,7 @@ where } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -151,6 +156,7 @@ impl "impl_StructuralPartialEq_for_Foo" StructuralPartialEq for Foo { } // Full name: test_crate::{impl PartialEq for Foo}::eq +#[inline(hint)] pub fn impl_PartialEq_Foo_for_Foo::eq<'_0, '_1>(self: &'_0 Foo, other: &'_1 Foo) -> bool { let _0: bool; // return @@ -179,6 +185,7 @@ impl "impl_PartialEq_Foo_for_Foo" PartialEq for Foo { } // Full name: test_crate::{impl PartialOrd for Foo}::partial_cmp +#[inline(hint)] pub fn impl_PartialOrd_Foo_for_Foo::partial_cmp<'_0, '_1>(self: &'_0 Foo, other: &'_1 Foo) -> Option[{built_in impl Sized for Ordering}] { let _0: Option[{built_in impl Sized for Ordering}]; // return diff --git a/charon/tests/ui/issue-72-hash-missing-impl.out b/charon/tests/ui/issue-72-hash-missing-impl.out index d7fd19ed9..93dfb8d0e 100644 --- a/charon/tests/ui/issue-72-hash-missing-impl.out +++ b/charon/tests/ui/issue-72-hash-missing-impl.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/issue-91-enum-to-discriminant-cast.out b/charon/tests/ui/issue-91-enum-to-discriminant-cast.out index 01011919f..2e7da698f 100644 --- a/charon/tests/ui/issue-91-enum-to-discriminant-cast.out +++ b/charon/tests/ui/issue-91-enum-to-discriminant-cast.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -32,6 +35,7 @@ pub trait TrivialClone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -48,6 +52,7 @@ enum Foo { } // Full name: test_crate::{impl Clone for Foo}::clone +#[inline(hint)] pub fn clone<'_0>(self: &'_0 Foo) -> Foo { let _0: Foo; // return diff --git a/charon/tests/ui/issue-93-recursive-traits-with-assoc-types.out b/charon/tests/ui/issue-93-recursive-traits-with-assoc-types.out index d7f848afd..f858dd093 100644 --- a/charon/tests/ui/issue-93-recursive-traits-with-assoc-types.out +++ b/charon/tests/ui/issue-93-recursive-traits-with-assoc-types.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/issue-94-recursive-trait-defns.out b/charon/tests/ui/issue-94-recursive-trait-defns.out index eda08ff26..f11605d17 100644 --- a/charon/tests/ui/issue-94-recursive-trait-defns.out +++ b/charon/tests/ui/issue-94-recursive-trait-defns.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/issue-97-missing-parent-item-clause.out b/charon/tests/ui/issue-97-missing-parent-item-clause.out index 436b16623..ae087393b 100644 --- a/charon/tests/ui/issue-97-missing-parent-item-clause.out +++ b/charon/tests/ui/issue-97-missing-parent-item-clause.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/iterator.out b/charon/tests/ui/iterator.out index 81985578a..ee403eca1 100644 --- a/charon/tests/ui/iterator.out +++ b/charon/tests/ui/iterator.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::array::iter::IntoIter +#[rustc_diagnostic_item = "ArrayIntoIter"] #[diagnostic_item("ArrayIntoIter")] pub opaque type IntoIter where @@ -32,6 +35,7 @@ where = // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -43,6 +47,7 @@ where } // Full name: core::ops::try_trait::FromResidual +#[rustc_diagnostic_item = "FromResidual"] #[diagnostic_item("FromResidual")] pub trait FromResidual { @@ -53,6 +58,7 @@ pub trait FromResidual } // Full name: core::ops::control_flow::ControlFlow +#[rustc_diagnostic_item = "ControlFlow"] #[diagnostic_item("ControlFlow")] pub enum ControlFlow where @@ -94,6 +100,7 @@ where } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -102,6 +109,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -115,6 +123,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -135,6 +144,7 @@ pub trait Destruct } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -146,6 +156,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -156,6 +167,7 @@ pub trait Copy } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -178,6 +190,7 @@ pub trait ZeroablePrimitive } // Full name: core::num::nonzero::NonZero +#[rustc_diagnostic_item = "NonZero"] #[diagnostic_item("NonZero")] pub opaque type NonZero where @@ -328,6 +341,7 @@ where TraitClause1: (P: Sized), // Full name: core::iter::adapters::enumerate::Enumerate +#[rustc_diagnostic_item = "Enumerate"] #[diagnostic_item("Enumerate")] pub opaque type Enumerate where @@ -355,6 +369,7 @@ where TraitClause1: (B: Sized), // Full name: core::default::Default +#[rustc_diagnostic_item = "Default"] #[diagnostic_item("Default")] pub trait Default { @@ -372,6 +387,7 @@ pub enum Ordering { } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -382,6 +398,7 @@ pub trait PartialEq } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -400,6 +417,7 @@ pub trait PartialOrd } // Full name: core::cmp::Eq +#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -410,6 +428,7 @@ pub trait Eq } // Full name: core::cmp::Ord +#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -465,6 +484,7 @@ where TraitClause2: (I: Iterator), // Full name: core::iter::adapters::peekable::Peekable +#[rustc_diagnostic_item = "IterPeekable"] #[diagnostic_item("IterPeekable")] pub opaque type Peekable where @@ -499,6 +519,7 @@ pub trait Product } // Full name: core::iter::traits::collect::FromIterator +#[rustc_diagnostic_item = "FromIterator"] #[diagnostic_item("FromIterator")] pub trait FromIterator { @@ -509,6 +530,7 @@ pub trait FromIterator } // Full name: core::iter::traits::collect::IntoIterator +#[rustc_diagnostic_item = "IntoIterator"] #[diagnostic_item("IntoIterator")] pub trait IntoIterator where @@ -537,6 +559,7 @@ pub trait Extend } // Full name: core::iter::traits::double_ended::DoubleEndedIterator +#[rustc_diagnostic_item = "DoubleEndedIterator"] #[diagnostic_item("DoubleEndedIterator")] pub trait DoubleEndedIterator { @@ -563,6 +586,7 @@ pub trait ExactSizeIterator } // Full name: core::iter::traits::iterator::Iterator +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator @@ -881,6 +905,7 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::array_chunks +#[track_caller] pub fn impl_Iterator_for_IntoIter::array_chunks(_1: IntoIter[TraitClause0]) -> ArrayChunks[TraitClause0], N>[TraitClause1, impl_Iterator_for_IntoIter[TraitClause0]] where TraitClause0: (T: Sized), @@ -896,6 +921,7 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::cloned +#[rustc_diagnostic_item = "iter_cloned"] #[diagnostic_item("iter_cloned")] pub fn impl_Iterator_for_IntoIter::cloned<'a, T, T, const N : usize>(_1: IntoIter[TraitClause0]) -> Cloned[TraitClause0]>[TraitClause3] where @@ -909,6 +935,7 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::copied +#[rustc_diagnostic_item = "iter_copied"] #[diagnostic_item("iter_copied")] pub fn impl_Iterator_for_IntoIter::copied<'a, T, T, const N : usize>(_1: IntoIter[TraitClause0]) -> Copied[TraitClause0]>[TraitClause3] where @@ -1192,6 +1219,7 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::collect +#[rustc_diagnostic_item = "iterator_collect_fn"] #[diagnostic_item("iterator_collect_fn")] pub fn impl_Iterator_for_IntoIter::collect(_1: IntoIter[TraitClause0]) -> B where @@ -1322,6 +1350,7 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::enumerate +#[rustc_diagnostic_item = "enumerate_method"] #[diagnostic_item("enumerate_method")] pub fn impl_Iterator_for_IntoIter::enumerate(_1: IntoIter[TraitClause0]) -> Enumerate[TraitClause0]>[TraitClause1] where @@ -1341,6 +1370,7 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::filter +#[rustc_diagnostic_item = "iter_filter"] #[diagnostic_item("iter_filter")] pub fn impl_Iterator_for_IntoIter::filter(_1: IntoIter[TraitClause0], _2: P) -> Filter[TraitClause0], P>[TraitClause2, TraitClause1] where @@ -1362,6 +1392,7 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::map +#[rustc_diagnostic_item = "IteratorMap"] #[diagnostic_item("IteratorMap")] pub fn impl_Iterator_for_IntoIter::map(_1: IntoIter[TraitClause0], _2: F) -> Map[TraitClause0], F>[TraitClause3, TraitClause2] where @@ -1528,6 +1559,7 @@ where TypeOutlives1: Self: '_1, = +#[rustc_diagnostic_item = "cmp_partialeq_ne"] #[diagnostic_item("cmp_partialeq_ne")] pub fn core::cmp::PartialEq::ne<'_0, '_1, Self, Rhs>(_1: &'_0 Self, _2: &'_1 Rhs) -> bool where @@ -1537,6 +1569,8 @@ where = // Full name: core::cmp::Eq::assert_receiver_is_total_eq +#[rustc_diagnostic_item = "assert_receiver_is_total_eq"] +#[deprecated(since = "1.95.0", note = "implementation detail of `#[derive(Eq)]`")] #[diagnostic_item("assert_receiver_is_total_eq")] pub fn assert_receiver_is_total_eq<'_0, Self>(_1: &'_0 Self) where @@ -1551,6 +1585,7 @@ where TypeOutlives0: Self: '_0, = +#[rustc_diagnostic_item = "cmp_ord_max"] #[diagnostic_item("cmp_ord_max")] pub fn core::cmp::Ord::max(_1: Self, _2: Self) -> Self where @@ -1559,6 +1594,7 @@ where TraitClause2: (Self: Destruct), = +#[rustc_diagnostic_item = "cmp_ord_min"] #[diagnostic_item("cmp_ord_min")] pub fn core::cmp::Ord::min(_1: Self, _2: Self) -> Self where @@ -1575,6 +1611,7 @@ where TraitClause2: (Self: Destruct), = +#[rustc_diagnostic_item = "cmp_partialord_lt"] #[diagnostic_item("cmp_partialord_lt")] pub fn core::cmp::PartialOrd::lt<'_0, '_1, Self, Rhs>(_1: &'_0 Self, _2: &'_1 Rhs) -> bool where @@ -1583,6 +1620,7 @@ where TypeOutlives1: Rhs: '_1, = +#[rustc_diagnostic_item = "cmp_partialord_le"] #[diagnostic_item("cmp_partialord_le")] pub fn core::cmp::PartialOrd::le<'_0, '_1, Self, Rhs>(_1: &'_0 Self, _2: &'_1 Rhs) -> bool where @@ -1591,6 +1629,7 @@ where TypeOutlives1: Rhs: '_1, = +#[rustc_diagnostic_item = "cmp_partialord_gt"] #[diagnostic_item("cmp_partialord_gt")] pub fn core::cmp::PartialOrd::gt<'_0, '_1, Self, Rhs>(_1: &'_0 Self, _2: &'_1 Rhs) -> bool where @@ -1599,6 +1638,7 @@ where TypeOutlives1: Rhs: '_1, = +#[rustc_diagnostic_item = "cmp_partialord_ge"] #[diagnostic_item("cmp_partialord_ge")] pub fn core::cmp::PartialOrd::ge<'_0, '_1, Self, Rhs>(_1: &'_0 Self, _2: &'_1 Rhs) -> bool where @@ -1640,6 +1680,7 @@ where = // Full name: core::ops::arith::{impl AddAssign<&'_0 i32> for i32}::add_assign +#[track_caller] pub fn add_assign<'_0, '_1>(_1: &'_1 mut i32, _2: &'_0 i32) = @@ -1836,6 +1877,7 @@ where TypeConstraint0: TraitClause3::ImpliedClause1::Output = TraitClause0::Item, = +#[rustc_diagnostic_item = "IteratorMap"] #[diagnostic_item("IteratorMap")] pub fn core::iter::traits::iterator::Iterator::map(_1: Self, _2: F) -> Map[TraitClause3, TraitClause2] where @@ -1856,6 +1898,7 @@ where TypeConstraint0: TraitClause3::ImpliedClause1::Output = (), = +#[rustc_diagnostic_item = "iter_filter"] #[diagnostic_item("iter_filter")] pub fn core::iter::traits::iterator::Iterator::filter(_1: Self, _2: P) -> Filter[TraitClause2, TraitClause1] where @@ -1876,6 +1919,7 @@ where TypeConstraint0: TraitClause4::ImpliedClause1::Output = Option[TraitClause1], = +#[rustc_diagnostic_item = "enumerate_method"] #[diagnostic_item("enumerate_method")] pub fn core::iter::traits::iterator::Iterator::enumerate(_1: Self) -> Enumerate[TraitClause1] where @@ -1990,6 +2034,7 @@ where TypeOutlives0: Self: '_0, = +#[rustc_diagnostic_item = "iterator_collect_fn"] #[diagnostic_item("iterator_collect_fn")] pub fn core::iter::traits::iterator::Iterator::collect(_1: Self) -> B where @@ -2273,6 +2318,7 @@ where TypeConstraint0: TraitClause0::Item = (A, B), = +#[rustc_diagnostic_item = "iter_copied"] #[diagnostic_item("iter_copied")] pub fn core::iter::traits::iterator::Iterator::copied<'a, Self, T>(_1: Self) -> Copied[TraitClause3] where @@ -2285,6 +2331,7 @@ where TypeConstraint0: TraitClause0::Item = &'a T, = +#[rustc_diagnostic_item = "iter_cloned"] #[diagnostic_item("iter_cloned")] pub fn core::iter::traits::iterator::Iterator::cloned<'a, Self, T>(_1: Self) -> Cloned[TraitClause3] where @@ -2304,6 +2351,7 @@ where TraitClause2: (Self: Clone), = +#[track_caller] pub fn core::iter::traits::iterator::Iterator::array_chunks(_1: Self) -> ArrayChunks[TraitClause1, TraitClause0] where TraitClause0: (Self: Iterator), @@ -2474,6 +2522,7 @@ pub enum AssertKind { } // Full name: core::slice::iter::Iter +#[rustc_diagnostic_item = "SliceIter"] #[diagnostic_item("SliceIter")] pub opaque type Iter<'a, T> where @@ -2834,6 +2883,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::array_chunks +#[track_caller] pub fn impl_Iterator_for_Iter::array_chunks<'a, T, const N : usize>(_1: Iter<'a, T>[TraitClause0]) -> ArrayChunks[TraitClause0], N>[TraitClause1, impl_Iterator_for_Iter<'a, T>[TraitClause0]] where TraitClause0: (T: Sized), @@ -2851,6 +2901,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::cloned +#[rustc_diagnostic_item = "iter_cloned"] #[diagnostic_item("iter_cloned")] pub fn impl_Iterator_for_Iter::cloned<'a, 'a, T, T>(_1: Iter<'a, T>[TraitClause0]) -> Cloned[TraitClause0]>[TraitClause3] where @@ -2865,6 +2916,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::copied +#[rustc_diagnostic_item = "iter_copied"] #[diagnostic_item("iter_copied")] pub fn impl_Iterator_for_Iter::copied<'a, 'a, T, T>(_1: Iter<'a, T>[TraitClause0]) -> Copied[TraitClause0]>[TraitClause3] where @@ -3119,6 +3171,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::collect +#[rustc_diagnostic_item = "iterator_collect_fn"] #[diagnostic_item("iterator_collect_fn")] pub fn impl_Iterator_for_Iter::collect<'a, T, B>(_1: Iter<'a, T>[TraitClause0]) -> B where @@ -3264,6 +3317,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::enumerate +#[rustc_diagnostic_item = "enumerate_method"] #[diagnostic_item("enumerate_method")] pub fn impl_Iterator_for_Iter::enumerate<'a, T>(_1: Iter<'a, T>[TraitClause0]) -> Enumerate[TraitClause0]>[TraitClause1] where @@ -3285,6 +3339,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::filter +#[rustc_diagnostic_item = "iter_filter"] #[diagnostic_item("iter_filter")] pub fn impl_Iterator_for_Iter::filter<'a, T, P>(_1: Iter<'a, T>[TraitClause0], _2: P) -> Filter[TraitClause0], P>[TraitClause2, TraitClause1] where @@ -3297,6 +3352,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::map +#[rustc_diagnostic_item = "IteratorMap"] #[diagnostic_item("IteratorMap")] pub fn impl_Iterator_for_Iter::map<'a, T, B, F>(_1: Iter<'a, T>[TraitClause0], _2: F) -> Map[TraitClause0], F>[TraitClause3, TraitClause2] where @@ -3686,6 +3742,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::array_chunks +#[track_caller] pub fn impl_Iterator_for_Chunks::array_chunks<'a, T, const N : usize>(_1: Chunks<'a, T>[TraitClause0]) -> ArrayChunks[TraitClause0], N>[TraitClause1, impl_Iterator_for_Chunks<'a, T>[TraitClause0]] where TraitClause0: (T: Sized), @@ -3703,6 +3760,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::cloned +#[rustc_diagnostic_item = "iter_cloned"] #[diagnostic_item("iter_cloned")] pub fn impl_Iterator_for_Chunks::cloned<'a, 'a, T, T>(_1: Chunks<'a, T>[TraitClause0]) -> Cloned[TraitClause0]>[TraitClause3] where @@ -3717,6 +3775,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::copied +#[rustc_diagnostic_item = "iter_copied"] #[diagnostic_item("iter_copied")] pub fn impl_Iterator_for_Chunks::copied<'a, 'a, T, T>(_1: Chunks<'a, T>[TraitClause0]) -> Copied[TraitClause0]>[TraitClause3] where @@ -4066,6 +4125,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::collect +#[rustc_diagnostic_item = "iterator_collect_fn"] #[diagnostic_item("iterator_collect_fn")] pub fn impl_Iterator_for_Chunks::collect<'a, T, B>(_1: Chunks<'a, T>[TraitClause0]) -> B where @@ -4211,6 +4271,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::enumerate +#[rustc_diagnostic_item = "enumerate_method"] #[diagnostic_item("enumerate_method")] pub fn impl_Iterator_for_Chunks::enumerate<'a, T>(_1: Chunks<'a, T>[TraitClause0]) -> Enumerate[TraitClause0]>[TraitClause1] where @@ -4232,6 +4293,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::filter +#[rustc_diagnostic_item = "iter_filter"] #[diagnostic_item("iter_filter")] pub fn impl_Iterator_for_Chunks::filter<'a, T, P>(_1: Chunks<'a, T>[TraitClause0], _2: P) -> Filter[TraitClause0], P>[TraitClause2, TraitClause1] where @@ -4255,6 +4317,7 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::map +#[rustc_diagnostic_item = "IteratorMap"] #[diagnostic_item("IteratorMap")] pub fn impl_Iterator_for_Chunks::map<'a, T, B, F>(_1: Chunks<'a, T>[TraitClause0], _2: F) -> Map[TraitClause0], F>[TraitClause3, TraitClause2] where @@ -4663,6 +4726,7 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::array_chunks +#[track_caller] pub fn impl_Iterator_for_ChunksExact::array_chunks<'a, T, const N : usize>(_1: ChunksExact<'a, T>[TraitClause0]) -> ArrayChunks[TraitClause0], N>[TraitClause1, impl_Iterator_for_ChunksExact<'a, T>[TraitClause0]] where TraitClause0: (T: Sized), @@ -4680,6 +4744,7 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::cloned +#[rustc_diagnostic_item = "iter_cloned"] #[diagnostic_item("iter_cloned")] pub fn impl_Iterator_for_ChunksExact::cloned<'a, 'a, T, T>(_1: ChunksExact<'a, T>[TraitClause0]) -> Cloned[TraitClause0]>[TraitClause3] where @@ -4694,6 +4759,7 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::copied +#[rustc_diagnostic_item = "iter_copied"] #[diagnostic_item("iter_copied")] pub fn impl_Iterator_for_ChunksExact::copied<'a, 'a, T, T>(_1: ChunksExact<'a, T>[TraitClause0]) -> Copied[TraitClause0]>[TraitClause3] where @@ -5043,6 +5109,7 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::collect +#[rustc_diagnostic_item = "iterator_collect_fn"] #[diagnostic_item("iterator_collect_fn")] pub fn impl_Iterator_for_ChunksExact::collect<'a, T, B>(_1: ChunksExact<'a, T>[TraitClause0]) -> B where @@ -5188,6 +5255,7 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::enumerate +#[rustc_diagnostic_item = "enumerate_method"] #[diagnostic_item("enumerate_method")] pub fn impl_Iterator_for_ChunksExact::enumerate<'a, T>(_1: ChunksExact<'a, T>[TraitClause0]) -> Enumerate[TraitClause0]>[TraitClause1] where @@ -5209,6 +5277,7 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::filter +#[rustc_diagnostic_item = "iter_filter"] #[diagnostic_item("iter_filter")] pub fn impl_Iterator_for_ChunksExact::filter<'a, T, P>(_1: ChunksExact<'a, T>[TraitClause0], _2: P) -> Filter[TraitClause0], P>[TraitClause2, TraitClause1] where @@ -5232,6 +5301,7 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::map +#[rustc_diagnostic_item = "IteratorMap"] #[diagnostic_item("IteratorMap")] pub fn impl_Iterator_for_ChunksExact::map<'a, T, B, F>(_1: ChunksExact<'a, T>[TraitClause0], _2: F) -> Map[TraitClause0], F>[TraitClause3, TraitClause2] where @@ -5402,6 +5472,7 @@ where } // Full name: core::slice::{[T]}::iter +#[rustc_diagnostic_item = "slice_iter"] #[diagnostic_item("slice_iter")] pub fn iter<'_0, T>(_1: &'_0 [T]) -> Iter<'_0, T>[TraitClause0] where @@ -5410,6 +5481,7 @@ where = // Full name: core::slice::{[T]}::chunks +#[track_caller] pub fn chunks<'_0, T>(_1: &'_0 [T], _2: usize) -> Chunks<'_0, T>[TraitClause0] where TraitClause0: (T: Sized), @@ -5417,6 +5489,7 @@ where = // Full name: core::slice::{[T]}::chunks_exact +#[track_caller] pub fn chunks_exact<'_0, T>(_1: &'_0 [T], _2: usize) -> ChunksExact<'_0, T>[TraitClause0] where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/lifetime-mutability.out b/charon/tests/ui/lifetime-mutability.out index b3e6a15f4..64894628b 100644 --- a/charon/tests/ui/lifetime-mutability.out +++ b/charon/tests/ui/lifetime-mutability.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/matches.out b/charon/tests/ui/matches.out index 93bda3c27..f4e7d8ea9 100644 --- a/charon/tests/ui/matches.out +++ b/charon/tests/ui/matches.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/max_char.out b/charon/tests/ui/max_char.out index 946a24785..cca5c8480 100644 --- a/charon/tests/ui/max_char.out +++ b/charon/tests/ui/max_char.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::char::MAX +#[deprecated(since = "future", note = "replaced by the `MAX` associated constant on `char`")] pub fn MAX() -> char { let _0: char; // return @@ -11,6 +12,7 @@ pub fn MAX() -> char } // Full name: core::char::MAX +#[deprecated(since = "future", note = "replaced by the `MAX` associated constant on `char`")] pub const MAX: char = MAX() // Full name: test_crate::main diff --git a/charon/tests/ui/method-impl-generalization.out b/charon/tests/ui/method-impl-generalization.out index a3ced4c65..21a338db4 100644 --- a/charon/tests/ui/method-impl-generalization.out +++ b/charon/tests/ui/method-impl-generalization.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/method-ref.out b/charon/tests/ui/method-ref.out index 553d4df62..0a964b7a8 100644 --- a/charon/tests/ui/method-ref.out +++ b/charon/tests/ui/method-ref.out @@ -9,10 +9,12 @@ pub enum Ordering { } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/ml-mono-name-matcher-tests.out b/charon/tests/ui/ml-mono-name-matcher-tests.out index 6d789ea8a..900870fc8 100644 --- a/charon/tests/ui/ml-mono-name-matcher-tests.out +++ b/charon/tests/ui/ml-mono-name-matcher-tests.out @@ -7,6 +7,7 @@ pub struct RangeFrom:: { } // Full name: core::option::Option:: +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option:: { @@ -23,6 +24,9 @@ pub fn index::><'_0>(_1: &'_0 [bool], _2: RangeFrom:: // Full name: test_crate::foo::bar +#[pattern::pass("test_crate::foo::bar")] +#[pattern::fail("crate::foo::bar")] +#[pattern::fail("foo::bar")] fn bar() { let _0: (); // return @@ -34,6 +38,15 @@ fn bar() } // Full name: test_crate::foo +#[pattern::pass(call[0], "core::option::{core::option::Option<@T>}::is_some<'_, i32>")] +#[pattern::fail(call[0], "core::option::{core::option::Option<@T>}::is_some<_, i32>")] +#[pattern::pass(call[0], "core::option::{core::option::Option<@T>}::is_some<'_, @T>")] +#[pattern::pass(call[1], "ArrayToSliceShared<'_, bool, 1>")] +#[pattern::pass(call[2], +"core::ops::index::Index<[bool], core::ops::range::RangeFrom>::index")] +#[pattern::pass(call[2], "core::ops::index::Index<[@T], @I>::index")] +#[pattern::fail(call[2], +"core::slice::index::{core::ops::index::Index<[@T], @I>}::index>")] fn foo() { let _0: (); // return @@ -128,6 +141,12 @@ fn test_crate::funs_with_disambiguator::f() -> u32 } // Full name: test_crate::funs_with_disambiguator +#[pattern::pass(call[0], "test_crate::funs_with_disambiguator::f#1")] +#[pattern::fail(call[0], "test_crate::funs_with_disambiguator::f#0")] +#[pattern::fail(call[0], "test_crate::funs_with_disambiguator::f")] +#[pattern::pass(call[1], "test_crate::funs_with_disambiguator::f")] +#[pattern::pass(call[1], "test_crate::funs_with_disambiguator::f#0")] +#[pattern::fail(call[1], "test_crate::funs_with_disambiguator::f#1")] fn funs_with_disambiguator(b: bool) -> u32 { let _0: u32; // return @@ -160,6 +179,8 @@ struct MonoContainer::<&'_ str> { item: &'_ str, } +#[pattern::pass("test_crate::{test_crate::MonoContainer<@T>}::create<@T>")] +#[pattern::pass("test_crate::_::create<@T>")] fn test_crate::{MonoContainer::}::create::(item: i32) -> MonoContainer:: { let _0: MonoContainer::; // return @@ -174,6 +195,8 @@ fn test_crate::{MonoContainer::}::create::(item: i32) -> MonoContainer return } +#[pattern::pass("test_crate::{test_crate::MonoContainer<@T>}::create<@T>")] +#[pattern::pass("test_crate::_::create<@T>")] fn test_crate::{MonoContainer::<&'_ str>}::create::<&'_ str>(item: &'_ str) -> MonoContainer::<&'_ str> { let _0: MonoContainer::<&'_ str>; // return @@ -189,6 +212,7 @@ fn test_crate::{MonoContainer::<&'_ str>}::create::<&'_ str>(item: &'_ str) -> M } // Full name: test_crate::mono_usage +#[pattern::pass("test_crate::mono_usage")] fn mono_usage() { let _0: (); // return diff --git a/charon/tests/ui/ml-multi-target-name-matcher-tests.out b/charon/tests/ui/ml-multi-target-name-matcher-tests.out index 0585a1240..d8387ef30 100644 --- a/charon/tests/ui/ml-multi-target-name-matcher-tests.out +++ b/charon/tests/ui/ml-multi-target-name-matcher-tests.out @@ -1,3 +1,6 @@ +#[pattern::pass("test_crate::x86_only")] +#[pattern::fail("test_crate::x86_only::aarch64-apple-darwin")] +#[pattern::fail("test_crate::x86_only::x86_64-apple-darwin")] fn test_crate::x86_only() -> u64 { let _0: u64; // return @@ -7,6 +10,9 @@ fn test_crate::x86_only() -> u64 return } +#[pattern::pass("test_crate::arm_only")] +#[pattern::fail("test_crate::arm_only::aarch64-apple-darwin")] +#[pattern::fail("test_crate::arm_only::x86_64-apple-darwin")] fn test_crate::arm_only() -> u64 { let _0: u64; // return @@ -16,6 +22,7 @@ fn test_crate::arm_only() -> u64 return } +#[pattern::pass("test_crate::shared_fn")] fn test_crate::shared_fn() -> u64 { let _0: u64; // return diff --git a/charon/tests/ui/ml-name-matcher-tests.out b/charon/tests/ui/ml-name-matcher-tests.out index 9ece2122e..8c10e2a19 100644 --- a/charon/tests/ui/ml-name-matcher-tests.out +++ b/charon/tests/ui/ml-name-matcher-tests.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -30,6 +32,7 @@ where } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -48,6 +51,7 @@ where = // Full name: core::slice::index::SliceIndex +#[rustc_diagnostic_item = "SliceIndex"] #[diagnostic_item("SliceIndex")] pub trait SliceIndex { @@ -138,6 +142,9 @@ where pub struct Global {} // Full name: test_crate::foo::bar +#[pattern::pass("test_crate::foo::bar")] +#[pattern::fail("crate::foo::bar")] +#[pattern::fail("foo::bar")] fn bar() { let _0: (); // return @@ -158,6 +165,12 @@ trait Trait } // Full name: test_crate::{impl Trait[TraitClause0]> for alloc::boxed::Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}]}::method +#[pattern::pass("test_crate::{test_crate::Trait, core::option::Option<@T>>}::method<@T, @U>")] +#[pattern::pass("test_crate::{test_crate::Trait, core::option::Option<@T>>}::method<@T, @U>")] +#[pattern::fail("test_crate::{test_crate::Trait, Option<@T>>}::method<@T, @U>")] +#[pattern::pass("test_crate::{test_crate::Trait, core::option::Option<@U>>}::method<@T, @U>")] +#[pattern::pass("test_crate::{test_crate::Trait<@T, @U>}::method<@T, @U>")] +#[pattern::fail("test_crate::Trait<@T>::method")] fn impl_Trait_Option_for_Box_Global::method() where TraitClause0: (T: Sized), @@ -183,6 +196,8 @@ where } // Full name: test_crate::{impl Trait[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}]> for Option[TraitClause1]}::method +#[pattern::pass("test_crate::{test_crate::Trait, alloc::boxed::Box<@T>>}::method<@T, @U, @V>")] +#[pattern::pass("test_crate::{test_crate::Trait, alloc::boxed::Box<@T>>}::method<@T, @U, @V>")] fn impl_Trait_Box_for_Option::method() where TraitClause0: (T: Sized), @@ -210,6 +225,16 @@ where } // Full name: test_crate::foo +#[pattern::pass(call[0], "core::option::{core::option::Option<@T>}::is_some<'_, i32>")] +#[pattern::fail(call[0], "core::option::{core::option::Option<@T>}::is_some<_, @T>")] +#[pattern::pass(call[0], "core::option::{core::option::Option<@T>}::is_some<'_, @U>")] +#[pattern::fail(call[0], "core::option::{core::option::Option}::is_some<_, i32>")] +#[pattern::pass(call[1], "ArrayToSliceShared<'_, bool, 1>")] +#[pattern::pass(call[2], +"core::ops::index::Index<[bool], core::ops::range::RangeFrom>::index")] +#[pattern::pass(call[2], "core::ops::index::Index<[@T], @I>::index")] +#[pattern::fail(call[2], +"core::slice::index::{core::ops::index::Index<[@T], @I>}::index>")] fn foo() { let _0: (); // return @@ -304,6 +329,12 @@ fn test_crate::funs_with_disambiguator::f() -> u32 } // Full name: test_crate::funs_with_disambiguator +#[pattern::pass(call[0], "test_crate::funs_with_disambiguator::f#1")] +#[pattern::fail(call[0], "test_crate::funs_with_disambiguator::f#0")] +#[pattern::fail(call[0], "test_crate::funs_with_disambiguator::f")] +#[pattern::pass(call[1], "test_crate::funs_with_disambiguator::f")] +#[pattern::pass(call[1], "test_crate::funs_with_disambiguator::f#0")] +#[pattern::fail(call[1], "test_crate::funs_with_disambiguator::f#1")] fn funs_with_disambiguator(b: bool) -> u32 { let _0: u32; // return @@ -335,6 +366,8 @@ where } // Full name: test_crate::{MonoContainer[TraitClause0]}::create +#[pattern::pass("test_crate::{test_crate::MonoContainer<@T>}::create<@T>")] +#[pattern::pass("test_crate::_::create<@T>")] fn create(item: T) -> MonoContainer[TraitClause0] where TraitClause0: (T: Sized), @@ -358,6 +391,7 @@ where } // Full name: test_crate::mono_usage +#[pattern::pass("test_crate::mono_usage")] fn mono_usage() { let _0: (); // return @@ -390,6 +424,7 @@ trait Get<'a, Self, T> } // Full name: test_crate::{impl Get<'a, T> for &'a MonoContainer[TraitClause0]}::get +#[pattern::to_name("test_cratetest_crateGetASharedAtest_crateMonoContainerTTget")] fn {impl Get<'a, T> for &'a MonoContainer[TraitClause0]}::get<'a, T>(self: &'a MonoContainer[TraitClause0]) -> &'a T where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/ml-partial-mono-name-matcher-tests.out b/charon/tests/ui/ml-partial-mono-name-matcher-tests.out index bacdb252e..d16bff159 100644 --- a/charon/tests/ui/ml-partial-mono-name-matcher-tests.out +++ b/charon/tests/ui/ml-partial-mono-name-matcher-tests.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -12,9 +14,11 @@ pub trait Sized non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::<&_ mut _><'_0, T0> +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::<&_ mut _><'_0, T0> { @@ -22,9 +26,11 @@ pub trait core::marker::Sized::<&_ mut _><'_0, T0> non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::><'_0, T0> +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::><'_0, T0> { @@ -48,6 +54,7 @@ pub trait core::marker::Destruct::<&_ mut _><'_0, T0> } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option { @@ -106,6 +113,10 @@ where } // Full name: test_crate::use_id_mut +#[pattern::pass(call[0], "test_crate::identity<&'_ mut @T>")] +#[pattern::pass(call[0], "test_crate::identity<@T>")] +#[pattern::fail(call[0], "test_crate::identity<&'_ @T>")] +#[pattern::pass(call[1], "test_crate::identity>")] fn use_id_mut(x: A) where TraitClause0: (A: Sized), diff --git a/charon/tests/ui/monomorphization/adt_proj.out b/charon/tests/ui/monomorphization/adt_proj.out index 986c670b9..b32b8a45e 100644 --- a/charon/tests/ui/monomorphization/adt_proj.out +++ b/charon/tests/ui/monomorphization/adt_proj.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::result::Result:: +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result:: { Ok { _0: u32 }, diff --git a/charon/tests/ui/monomorphization/bound_lifetime.out b/charon/tests/ui/monomorphization/bound_lifetime.out index 8b7c16e04..dce58de3a 100644 --- a/charon/tests/ui/monomorphization/bound_lifetime.out +++ b/charon/tests/ui/monomorphization/bound_lifetime.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::option::Option::<&'_ u32> +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option::<&'_ u32> { diff --git a/charon/tests/ui/monomorphization/closure-fn.out b/charon/tests/ui/monomorphization/closure-fn.out index 5f10be3cb..ae8fcd9d1 100644 --- a/charon/tests/ui/monomorphization/closure-fn.out +++ b/charon/tests/ui/monomorphization/closure-fn.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -23,6 +25,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -35,6 +38,7 @@ opaque type core::ops::function::Fn::{vtable} opaque type core::ops::function::FnOnce::{vtable} // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -47,6 +51,7 @@ pub trait FnOnce opaque type core::ops::function::FnMut::{vtable} // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -58,6 +63,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/monomorphization/closure-fnonce.out b/charon/tests/ui/monomorphization/closure-fnonce.out index 61fcd0469..55308754e 100644 --- a/charon/tests/ui/monomorphization/closure-fnonce.out +++ b/charon/tests/ui/monomorphization/closure-fnonce.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -23,6 +25,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -34,6 +37,7 @@ pub trait Tuple struct NotCopy {} // Full name: core::mem::drop:: +#[rustc_diagnostic_item = "mem_drop"] #[diagnostic_item("mem_drop")] pub fn drop::(_1: NotCopy) = @@ -41,6 +45,7 @@ pub fn drop::(_1: NotCopy) opaque type core::ops::function::FnOnce::{vtable} // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { diff --git a/charon/tests/ui/monomorphization/closures.out b/charon/tests/ui/monomorphization/closures.out index 894eaf7ce..35a6062fa 100644 --- a/charon/tests/ui/monomorphization/closures.out +++ b/charon/tests/ui/monomorphization/closures.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -23,6 +25,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -34,6 +37,7 @@ pub trait Tuple struct Thing {} // Full name: core::mem::drop:: +#[rustc_diagnostic_item = "mem_drop"] #[diagnostic_item("mem_drop")] pub fn drop::(_1: Thing) = @@ -43,6 +47,7 @@ opaque type core::ops::function::Fn::{vtable} opaque type core::ops::function::FnOnce::{vtable} // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -55,6 +60,7 @@ pub trait FnOnce opaque type core::ops::function::FnMut::{vtable} // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -66,6 +72,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/monomorphization/fn_ptr_generics.out b/charon/tests/ui/monomorphization/fn_ptr_generics.out index 90b1bae00..4a3781874 100644 --- a/charon/tests/ui/monomorphization/fn_ptr_generics.out +++ b/charon/tests/ui/monomorphization/fn_ptr_generics.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::option::Option:: +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option:: { diff --git a/charon/tests/ui/monomorphization/fndefs-casts.out b/charon/tests/ui/monomorphization/fndefs-casts.out index e58e19e93..1d2bd5906 100644 --- a/charon/tests/ui/monomorphization/fndefs-casts.out +++ b/charon/tests/ui/monomorphization/fndefs-casts.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -15,6 +17,7 @@ pub trait Sized } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -27,6 +30,7 @@ opaque type core::ops::function::Fn::{vtable} opaque type core::ops::function::FnOnce::{vtable} // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -39,6 +43,7 @@ pub trait FnOnce opaque type core::ops::function::FnMut::{vtable} // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -50,6 +55,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/monomorphization/generic-method.out b/charon/tests/ui/monomorphization/generic-method.out index 1d7b6557a..aa039c5de 100644 --- a/charon/tests/ui/monomorphization/generic-method.out +++ b/charon/tests/ui/monomorphization/generic-method.out @@ -4,6 +4,7 @@ opaque type {vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/monomorphization/issue-1159-assoc-const.out b/charon/tests/ui/monomorphization/issue-1159-assoc-const.out index 3b417ada4..320f8aaa1 100644 --- a/charon/tests/ui/monomorphization/issue-1159-assoc-const.out +++ b/charon/tests/ui/monomorphization/issue-1159-assoc-const.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -16,10 +18,12 @@ pub trait Sized opaque type {vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -31,6 +35,7 @@ where } // Full name: core::option::Option::<&'_ [u64]> +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option::<&'_ [u64]> { diff --git a/charon/tests/ui/monomorphization/issue-1262-defaulted-method-indirection.out b/charon/tests/ui/monomorphization/issue-1262-defaulted-method-indirection.out index 1939c1cd8..4a5f295d9 100644 --- a/charon/tests/ui/monomorphization/issue-1262-defaulted-method-indirection.out +++ b/charon/tests/ui/monomorphization/issue-1262-defaulted-method-indirection.out @@ -4,6 +4,7 @@ opaque type {vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/monomorphization/issue-917-inline-const-with-poly-type.out b/charon/tests/ui/monomorphization/issue-917-inline-const-with-poly-type.out index f30804fa9..f98c22697 100644 --- a/charon/tests/ui/monomorphization/issue-917-inline-const-with-poly-type.out +++ b/charon/tests/ui/monomorphization/issue-917-inline-const-with-poly-type.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -23,6 +25,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -35,6 +38,7 @@ opaque type core::ops::function::Fn::{vtable} opaque type core::ops::function::FnOnce::{vtable} // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -47,6 +51,7 @@ pub trait FnOnce opaque type core::ops::function::FnMut::{vtable} // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -58,6 +63,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/monomorphization/issue-922-assoc-const-with-default.out b/charon/tests/ui/monomorphization/issue-922-assoc-const-with-default.out index 27ae7dfc8..754499326 100644 --- a/charon/tests/ui/monomorphization/issue-922-assoc-const-with-default.out +++ b/charon/tests/ui/monomorphization/issue-922-assoc-const-with-default.out @@ -4,10 +4,12 @@ opaque type {vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -16,6 +18,7 @@ pub trait Sized } // Full name: core::mem::size_of::<()> +#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn size_of::<()>() -> usize = diff --git a/charon/tests/ui/monomorphization/rec-adt.out b/charon/tests/ui/monomorphization/rec-adt.out index ff916d3c5..f333fa1c1 100644 --- a/charon/tests/ui/monomorphization/rec-adt.out +++ b/charon/tests/ui/monomorphization/rec-adt.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::ptr::non_null::NonNull::> +#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub opaque type NonNull::> // Full name: core::option::Option::>> +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option::>> { diff --git a/charon/tests/ui/monomorphization/simpl-trait-assoc-types-2.out b/charon/tests/ui/monomorphization/simpl-trait-assoc-types-2.out index 6eaf49528..cfb7b4939 100644 --- a/charon/tests/ui/monomorphization/simpl-trait-assoc-types-2.out +++ b/charon/tests/ui/monomorphization/simpl-trait-assoc-types-2.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/monomorphization/simple-trait-assoc-types-3.out b/charon/tests/ui/monomorphization/simple-trait-assoc-types-3.out index d39767b72..7acb2628b 100644 --- a/charon/tests/ui/monomorphization/simple-trait-assoc-types-3.out +++ b/charon/tests/ui/monomorphization/simple-trait-assoc-types-3.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/monomorphization/simple-trait-assoc-types.out b/charon/tests/ui/monomorphization/simple-trait-assoc-types.out index 42e0b960d..d42423622 100644 --- a/charon/tests/ui/monomorphization/simple-trait-assoc-types.out +++ b/charon/tests/ui/monomorphization/simple-trait-assoc-types.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/monomorphization/simple-trait-generics-2.out b/charon/tests/ui/monomorphization/simple-trait-generics-2.out index 949692e32..786bc60ee 100644 --- a/charon/tests/ui/monomorphization/simple-trait-generics-2.out +++ b/charon/tests/ui/monomorphization/simple-trait-generics-2.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/monomorphization/simple-trait-generics-assoc-2.out b/charon/tests/ui/monomorphization/simple-trait-generics-assoc-2.out index d499824b8..5570d03c1 100644 --- a/charon/tests/ui/monomorphization/simple-trait-generics-assoc-2.out +++ b/charon/tests/ui/monomorphization/simple-trait-generics-assoc-2.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/monomorphization/simple-trait-generics-assoc.out b/charon/tests/ui/monomorphization/simple-trait-generics-assoc.out index 1e2ece14a..98c180e5f 100644 --- a/charon/tests/ui/monomorphization/simple-trait-generics-assoc.out +++ b/charon/tests/ui/monomorphization/simple-trait-generics-assoc.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/monomorphization/simple-trait-generics.out b/charon/tests/ui/monomorphization/simple-trait-generics.out index 23ef04de8..29cc2ff85 100644 --- a/charon/tests/ui/monomorphization/simple-trait-generics.out +++ b/charon/tests/ui/monomorphization/simple-trait-generics.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/monomorphization/simple-trait-two-methods.out b/charon/tests/ui/monomorphization/simple-trait-two-methods.out index 2b0cc8521..3c4122dfd 100644 --- a/charon/tests/ui/monomorphization/simple-trait-two-methods.out +++ b/charon/tests/ui/monomorphization/simple-trait-two-methods.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/monomorphization/simple_trait.out b/charon/tests/ui/monomorphization/simple_trait.out index deb6ce92f..35e8be24a 100644 --- a/charon/tests/ui/monomorphization/simple_trait.out +++ b/charon/tests/ui/monomorphization/simple_trait.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/monomorphization/simple_trait_with_trait_alias.out b/charon/tests/ui/monomorphization/simple_trait_with_trait_alias.out index ebfe9f4a6..c5f21dbbd 100644 --- a/charon/tests/ui/monomorphization/simple_trait_with_trait_alias.out +++ b/charon/tests/ui/monomorphization/simple_trait_with_trait_alias.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/monomorphization/simple_trait_with_trait_alias_generics.out b/charon/tests/ui/monomorphization/simple_trait_with_trait_alias_generics.out index 66abc14d2..f1a62a611 100644 --- a/charon/tests/ui/monomorphization/simple_trait_with_trait_alias_generics.out +++ b/charon/tests/ui/monomorphization/simple_trait_with_trait_alias_generics.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/monomorphization/unsatisfied-method-bounds.out b/charon/tests/ui/monomorphization/unsatisfied-method-bounds.out index 071b628bf..f2c22ebf5 100644 --- a/charon/tests/ui/monomorphization/unsatisfied-method-bounds.out +++ b/charon/tests/ui/monomorphization/unsatisfied-method-bounds.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/monomorphization/vtable-blanket-impl.out b/charon/tests/ui/monomorphization/vtable-blanket-impl.out index d332fa84e..938f0a36a 100644 --- a/charon/tests/ui/monomorphization/vtable-blanket-impl.out +++ b/charon/tests/ui/monomorphization/vtable-blanket-impl.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/monomorphization/vtable-lifetime-impl.out b/charon/tests/ui/monomorphization/vtable-lifetime-impl.out index 8a9b11ea4..3d3728196 100644 --- a/charon/tests/ui/monomorphization/vtable-lifetime-impl.out +++ b/charon/tests/ui/monomorphization/vtable-lifetime-impl.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/monomorphization/vtable-ref-impl.out b/charon/tests/ui/monomorphization/vtable-ref-impl.out index f70a4d548..adeecab36 100644 --- a/charon/tests/ui/monomorphization/vtable-ref-impl.out +++ b/charon/tests/ui/monomorphization/vtable-ref-impl.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/monomorphize-mut-no-types.out b/charon/tests/ui/monomorphize-mut-no-types.out index 8dfa108ec..c41bd7891 100644 --- a/charon/tests/ui/monomorphize-mut-no-types.out +++ b/charon/tests/ui/monomorphize-mut-no-types.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -12,9 +14,11 @@ pub trait Sized non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::<&_ mut _><'_0, T0> +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::<&_ mut _><'_0, T0> { @@ -22,9 +26,11 @@ pub trait core::marker::Sized::<&_ mut _><'_0, T0> non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::><'_0, T0> +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::><'_0, T0> { @@ -32,9 +38,11 @@ pub trait core::marker::Sized::><'_0, T0> non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::>><'_0, T0> +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::>><'_0, T0> { @@ -58,6 +66,7 @@ pub trait core::marker::Destruct::<&_ mut _><'_0, T0> } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option { diff --git a/charon/tests/ui/monomorphize-mut.out b/charon/tests/ui/monomorphize-mut.out index 74a7b7c59..116841738 100644 --- a/charon/tests/ui/monomorphize-mut.out +++ b/charon/tests/ui/monomorphize-mut.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -12,9 +14,11 @@ pub trait Sized non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::<&_ mut _><'_0, T0> +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::<&_ mut _><'_0, T0> { @@ -22,9 +26,11 @@ pub trait core::marker::Sized::<&_ mut _><'_0, T0> non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::<&_ mut &_ mut _><'_0, '_1, T0> +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::<&_ mut &_ mut _><'_0, '_1, T0> { @@ -32,11 +38,13 @@ pub trait core::marker::Sized::<&_ mut &_ mut _><'_0, '_1, T0> non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::<_, _>[TraitClause0]><'_0, T0> where TraitClause0: (T0: core::marker::Sized::<&_ mut _><'_0>), +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::<_, _>[TraitClause0]><'_0, T0> where @@ -46,12 +54,14 @@ where non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::<_, _>[TraitClause1]><_, _>[TraitClause0, TraitClause1]><'_0, T0> where TraitClause0: (T0: core::marker::Sized::<_, _>[TraitClause0]><'_0>[TraitClause1]), TraitClause1: (T0: core::marker::Sized::<&_ mut _><'_0>), +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::<_, _>[TraitClause1]><_, _>[TraitClause0, TraitClause1]><'_0, T0> where @@ -62,12 +72,14 @@ where non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::[TraitClause0]><'_0, T0> where TraitClause0: (T0: Sized), TypeOutlives0: T0: '_0, +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::[TraitClause0]><'_0, T0> where @@ -78,12 +90,14 @@ where non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::[TraitClause0]><'_0, T0> where TraitClause0: (T0: Sized), TypeOutlives0: T0: '_0, +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::[TraitClause0]><'_0, T0> where @@ -94,6 +108,7 @@ where non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::[TraitClause0]><'_0, T0> where @@ -101,6 +116,7 @@ where TypeOutlives0: T0: '_0, TypeOutlives1: T0: '_0, +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::[TraitClause0]><'_0, T0> where @@ -112,6 +128,7 @@ where non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::<_, _>[TraitClause0]><'_0, T0> where @@ -132,6 +149,7 @@ pub trait core::marker::Destruct::<&_ mut _><'_0, T0> non-dyn-compatible } +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option::<&_ mut _><'_0, T0> @@ -151,6 +169,7 @@ where non-dyn-compatible } +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option::<_, _>[TraitClause1]><'_0, T0> @@ -191,6 +210,7 @@ where } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -199,6 +219,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -212,6 +233,7 @@ pub trait FnOnce } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -222,6 +244,7 @@ where Some { _0: T }, } +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option::<&_ mut &_ mut _><'_0, '_1, T0> @@ -242,6 +265,7 @@ where tail: core::option::Option::<&_ mut _><'a, T>[{built_in impl core::marker::Sized::<&_ mut _><'a> for T}], } +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option::[TraitClause1]><'_0, T0> @@ -263,6 +287,7 @@ where _0: Iter<'a, T>[TraitClause0], } +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option::[TraitClause1]><'_0, T0> diff --git a/charon/tests/ui/multi-target/cstr.out b/charon/tests/ui/multi-target/cstr.out index ddc0ff2e7..ea0ddef69 100644 --- a/charon/tests/ui/multi-target/cstr.out +++ b/charon/tests/ui/multi-target/cstr.out @@ -1,9 +1,11 @@ +#[rustc_diagnostic_item = "cstr_type"] #[lang_item(CStr)] #[diagnostic_item("cstr_type")] pub struct core::ffi::c_str::CStr::x86_64-unknown-linux-gnu { inner: [i8], } +#[rustc_diagnostic_item = "cstr_type"] #[lang_item(CStr)] #[diagnostic_item("cstr_type")] pub struct core::ffi::c_str::CStr::powerpc64-unknown-linux-gnu { diff --git a/charon/tests/ui/multi-target/default-trait-assoc-const.out b/charon/tests/ui/multi-target/default-trait-assoc-const.out index 8a1f3c7e5..bf543345b 100644 --- a/charon/tests/ui/multi-target/default-trait-assoc-const.out +++ b/charon/tests/ui/multi-target/default-trait-assoc-const.out @@ -1,3 +1,4 @@ +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized diff --git a/charon/tests/ui/multi-target/evaluate-consts-size-of.out b/charon/tests/ui/multi-target/evaluate-consts-size-of.out index 44a7cac47..9759e04b5 100644 --- a/charon/tests/ui/multi-target/evaluate-consts-size-of.out +++ b/charon/tests/ui/multi-target/evaluate-consts-size-of.out @@ -1,5 +1,6 @@ opaque type core::marker::MetaSized::{vtable} +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized diff --git a/charon/tests/ui/multi-target/issue-1182-dedup-impls.out b/charon/tests/ui/multi-target/issue-1182-dedup-impls.out index 1bec5fb22..8d827da44 100644 --- a/charon/tests/ui/multi-target/issue-1182-dedup-impls.out +++ b/charon/tests/ui/multi-target/issue-1182-dedup-impls.out @@ -1,3 +1,4 @@ +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized diff --git a/charon/tests/ui/multi-target/issue-1213-merge-methods-when-missing-simple.out b/charon/tests/ui/multi-target/issue-1213-merge-methods-when-missing-simple.out index 21a673f24..07642b87d 100644 --- a/charon/tests/ui/multi-target/issue-1213-merge-methods-when-missing-simple.out +++ b/charon/tests/ui/multi-target/issue-1213-merge-methods-when-missing-simple.out @@ -1,6 +1,8 @@ +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized { @@ -8,6 +10,7 @@ pub trait core::marker::Sized non-dyn-compatible } +#[charon::opaque] trait test_crate::Trait { proof ImpliedClause0: (Self: core::marker::MetaSized) diff --git a/charon/tests/ui/multi-target/issue-1213-merge-methods-when-missing.out b/charon/tests/ui/multi-target/issue-1213-merge-methods-when-missing.out index 22ad233f2..66c198dd7 100644 --- a/charon/tests/ui/multi-target/issue-1213-merge-methods-when-missing.out +++ b/charon/tests/ui/multi-target/issue-1213-merge-methods-when-missing.out @@ -1,6 +1,8 @@ +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized { @@ -13,6 +15,7 @@ where TraitClause0: (A: core::marker::Sized), TraitClause1: (B: core::marker::Sized), +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option @@ -23,6 +26,7 @@ where Some { _0: T }, } +#[rustc_diagnostic_item = "IntoIterator"] #[diagnostic_item("IntoIterator")] pub trait core::iter::traits::collect::IntoIterator where @@ -38,6 +42,7 @@ where vtable: core::iter::traits::collect::IntoIterator::{vtable} } +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait core::iter::traits::iterator::Iterator @@ -154,6 +159,7 @@ where vtable: core::slice::iter::{impl core::iter::traits::iterator::Iterator for core::slice::iter::IterMut<'a, T>[TraitClause0]}::{vtable}<'a, T>[TraitClause0] } +#[rustc_diagnostic_item = "SliceIter"] #[diagnostic_item("SliceIter")] pub opaque type core::slice::iter::Iter<'a, T> where @@ -192,6 +198,7 @@ where vtable: core::slice::iter::{impl core::iter::traits::iterator::Iterator for core::slice::iter::Iter<'a, T>[TraitClause0]}::{vtable}<'a, T>[TraitClause0] } +#[rustc_diagnostic_item = "slice_iter"] #[diagnostic_item("slice_iter")] pub fn core::slice::{[T]}::iter<'_0, T>(_1: &'_0 [T]) -> core::slice::iter::Iter<'_0, T>[TraitClause0] where diff --git a/charon/tests/ui/multi-target/issue-1307-required-method.out b/charon/tests/ui/multi-target/issue-1307-required-method.out index 06d0dc5fe..7efe7a951 100644 --- a/charon/tests/ui/multi-target/issue-1307-required-method.out +++ b/charon/tests/ui/multi-target/issue-1307-required-method.out @@ -1,6 +1,8 @@ +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized { @@ -8,6 +10,7 @@ pub trait core::marker::Sized non-dyn-compatible } +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait core::clone::Clone diff --git a/charon/tests/ui/multi-target/multi-target-from-symcrypt.out b/charon/tests/ui/multi-target/multi-target-from-symcrypt.out index da8850e14..96f6b39e4 100644 --- a/charon/tests/ui/multi-target/multi-target-from-symcrypt.out +++ b/charon/tests/ui/multi-target/multi-target-from-symcrypt.out @@ -9,9 +9,11 @@ pub unsafe fn core::core_arch::aarch64::neon::generated::vst1q_u16(_1: *mut u16, pub unsafe fn core::core_arch::arm_shared::neon::generated::vaddq_u16(_1: core::core_arch::arm_shared::neon::uint16x8_t, _2: core::core_arch::arm_shared::neon::uint16x8_t) -> core::core_arch::arm_shared::neon::uint16x8_t = +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized { @@ -19,6 +21,7 @@ pub trait core::marker::Sized non-dyn-compatible } +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait core::clone::Clone @@ -28,6 +31,7 @@ pub trait core::clone::Clone non-dyn-compatible } +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait core::marker::Copy @@ -92,6 +96,7 @@ impl core::clone::Clone for usize { non-dyn-compatible } +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait core::cmp::PartialEq @@ -107,6 +112,7 @@ pub enum core::cmp::Ordering { Greater, } +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option @@ -117,6 +123,7 @@ where Some { _0: T }, } +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait core::cmp::PartialOrd @@ -145,6 +152,7 @@ impl core::cmp::PartialOrd for usize { vtable: core::cmp::impls::{impl core::cmp::PartialOrd for usize}::{vtable} } +#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait core::iter::range::Step { @@ -196,6 +204,7 @@ where end: Idx, } +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait core::iter::traits::iterator::Iterator::x86_64-apple-darwin @@ -227,6 +236,7 @@ where vtable: core::iter::range::{impl core::iter::traits::iterator::Iterator::x86_64-apple-darwin for core::ops::range::Range[TraitClause0]}::{vtable}[TraitClause0, TraitClause1] } +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait core::iter::traits::iterator::Iterator::aarch64-apple-darwin diff --git a/charon/tests/ui/multi-target/multi-targets-file-ids.out b/charon/tests/ui/multi-target/multi-targets-file-ids.out index 91af2266a..fcd6d302d 100644 --- a/charon/tests/ui/multi-target/multi-targets-file-ids.out +++ b/charon/tests/ui/multi-target/multi-targets-file-ids.out @@ -9,9 +9,11 @@ pub unsafe fn core::core_arch::aarch64::neon::generated::vst1q_u16(_1: *mut u16, pub unsafe fn core::core_arch::arm_shared::neon::generated::vaddq_u16(_1: core::core_arch::arm_shared::neon::uint16x8_t, _2: core::core_arch::arm_shared::neon::uint16x8_t) -> core::core_arch::arm_shared::neon::uint16x8_t = +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized { @@ -19,6 +21,7 @@ pub trait core::marker::Sized non-dyn-compatible } +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait core::clone::Clone @@ -28,6 +31,7 @@ pub trait core::clone::Clone non-dyn-compatible } +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait core::marker::Copy @@ -92,6 +96,7 @@ impl core::clone::Clone for usize { non-dyn-compatible } +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait core::cmp::PartialEq @@ -107,6 +112,7 @@ pub enum core::cmp::Ordering { Greater, } +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option @@ -117,6 +123,7 @@ where Some { _0: T }, } +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait core::cmp::PartialOrd @@ -145,6 +152,7 @@ impl core::cmp::PartialOrd for usize { vtable: core::cmp::impls::{impl core::cmp::PartialOrd for usize}::{vtable} } +#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait core::iter::range::Step { @@ -196,6 +204,7 @@ where end: Idx, } +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait core::iter::traits::iterator::Iterator::x86_64-apple-darwin @@ -227,6 +236,7 @@ where vtable: core::iter::range::{impl core::iter::traits::iterator::Iterator::x86_64-apple-darwin for core::ops::range::Range[TraitClause0]}::{vtable}[TraitClause0, TraitClause1] } +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait core::iter::traits::iterator::Iterator::aarch64-apple-darwin diff --git a/charon/tests/ui/no_nested_borrows.out b/charon/tests/ui/no_nested_borrows.out index 0ad0c4c61..357fa500f 100644 --- a/charon/tests/ui/no_nested_borrows.out +++ b/charon/tests/ui/no_nested_borrows.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -335,6 +337,7 @@ pub fn cast_bool_to_bool(x: bool) -> bool } // Full name: test_crate::test2 +#[allow(unused_variables)] pub fn test2() { let _0: (); // return @@ -452,6 +455,7 @@ pub fn get_max(x: u32, y: u32) -> u32 } // Full name: test_crate::test_list1 +#[allow(unused_variables)] pub fn test_list1() { let _0: (); // return diff --git a/charon/tests/ui/nondiverging-intrinsics.out b/charon/tests/ui/nondiverging-intrinsics.out index 3cb5fcfcb..02d761f75 100644 --- a/charon/tests/ui/nondiverging-intrinsics.out +++ b/charon/tests/ui/nondiverging-intrinsics.out @@ -1,14 +1,17 @@ # Final LLBC before serialization: // Full name: core::intrinsics::assume +#[rustc_intrinsic] pub unsafe fn assume(b_1: bool) = // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -17,6 +20,7 @@ pub trait Sized } // Full name: core::intrinsics::copy_nonoverlapping +#[rustc_intrinsic] pub unsafe fn copy_nonoverlapping(src_1: *const T, dst_2: *mut T, count_3: usize) where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/params.out b/charon/tests/ui/params.out index badb37c07..d627b916e 100644 --- a/charon/tests/ui/params.out +++ b/charon/tests/ui/params.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/partial-monomorphization/issue-1204-partial-mono-tuples.out b/charon/tests/ui/partial-monomorphization/issue-1204-partial-mono-tuples.out index db7f6cb78..63025ac53 100644 --- a/charon/tests/ui/partial-monomorphization/issue-1204-partial-mono-tuples.out +++ b/charon/tests/ui/partial-monomorphization/issue-1204-partial-mono-tuples.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -12,9 +14,11 @@ pub trait Sized non-dyn-compatible } +#[fundamental] #[lang_item(MetaSized)] pub trait core::marker::MetaSized::<(&_ mut _, &_ mut _)><'_0, '_1, T0, T1> +#[fundamental] #[lang_item(Sized)] pub trait core::marker::Sized::<(&_ mut _, &_ mut _)><'_0, '_1, T0, T1> { diff --git a/charon/tests/ui/polonius_map.out b/charon/tests/ui/polonius_map.out index aba2c4b0c..64ae457ff 100644 --- a/charon/tests/ui/polonius_map.out +++ b/charon/tests/ui/polonius_map.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::borrow::Borrow +#[rustc_diagnostic_item = "Borrow"] #[diagnostic_item("Borrow")] pub trait Borrow { @@ -15,6 +17,7 @@ pub trait Borrow } // Full name: core::borrow::{impl Borrow for T}::borrow +#[rustc_diagnostic_item = "noop_method_borrow"] #[diagnostic_item("noop_method_borrow")] pub fn borrow<'_0, T>(_1: &'_0 T) -> &'_0 T where @@ -34,6 +37,7 @@ where } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -43,6 +47,7 @@ pub trait PartialEq } // Full name: core::cmp::Eq +#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -67,6 +72,7 @@ impl "impl_Eq_for_u32" Eq for u32 { } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -84,6 +90,7 @@ pub trait Hasher } // Full name: core::hash::Hash +#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -92,6 +99,7 @@ pub trait Hash } // Full name: core::hash::BuildHasher +#[rustc_diagnostic_item = "BuildHasher"] #[diagnostic_item("BuildHasher")] pub trait BuildHasher { @@ -118,6 +126,7 @@ impl "impl_Hash_for_u32" Hash for u32 { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -129,6 +138,7 @@ where } // Full name: std::collections::hash::map::HashMap +#[rustc_diagnostic_item = "HashMap"] #[diagnostic_item("HashMap")] pub opaque type HashMap where @@ -159,6 +169,7 @@ where = // Full name: std::collections::hash::map::{HashMap[TraitClause0, TraitClause1, TraitClause2, TraitClause3]}::insert +#[rustc_diagnostic_item = "hashmap_insert"] #[diagnostic_item("hashmap_insert")] pub fn insert<'_0, K, V, S, A>(_1: &'_0 mut HashMap[TraitClause0, TraitClause1, TraitClause2, TraitClause3], _2: K, _3: V) -> Option[TraitClause1] where diff --git a/charon/tests/ui/predicates-on-late-bound-vars.out b/charon/tests/ui/predicates-on-late-bound-vars.out index dbbc7a02e..518b492b7 100644 --- a/charon/tests/ui/predicates-on-late-bound-vars.out +++ b/charon/tests/ui/predicates-on-late-bound-vars.out @@ -1,19 +1,23 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::cell::RefCell +#[rustc_diagnostic_item = "RefCell"] #[diagnostic_item("RefCell")] pub opaque type RefCell where TraitClause0: (T: MetaSized), // Full name: core::cell::BorrowError +#[non_exhaustive] pub struct BorrowError {} // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -28,6 +32,7 @@ where = // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -39,6 +44,7 @@ where } // Full name: core::cell::Ref +#[rustc_diagnostic_item = "RefCellRef"] #[diagnostic_item("RefCellRef")] pub opaque type Ref<'b, T> where @@ -53,6 +59,7 @@ where = // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -63,6 +70,7 @@ pub trait Clone } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/ptr-offset.out b/charon/tests/ui/ptr-offset.out index f244fa2f9..e472c8352 100644 --- a/charon/tests/ui/ptr-offset.out +++ b/charon/tests/ui/ptr-offset.out @@ -5,10 +5,12 @@ pub fn addr(_1: *const T) -> usize = // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -17,6 +19,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -120,6 +123,7 @@ fn runtime(this: *const (), count: isize, size: usize) -> bool } // Full name: core::mem::size_of +#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn size_of() -> usize where @@ -127,6 +131,7 @@ where = // Full name: core::panicking::panic_nounwind_fmt +#[track_caller] pub fn panic_nounwind_fmt<'_0>(_1: Arguments<'_0>, _2: bool) -> ! = @@ -171,6 +176,7 @@ fn runtime_offset_nowrap(this: *const (), count: isize, size: usize) -> bool } // Full name: core::ptr::const_ptr::{*const T}::offset::precondition_check +#[track_caller] fn precondition_check(this: *const (), count: isize, size: usize) { let _0: (); // return @@ -241,6 +247,7 @@ fn precondition_check(this: *const (), count: isize, size: usize) } // Full name: core::ptr::const_ptr::{*const T}::offset +#[track_caller] pub unsafe fn offset(self: *const T, count: isize) -> *const T where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/ptr_no_provenance.out b/charon/tests/ui/ptr_no_provenance.out index 1ba6be5fa..960856c88 100644 --- a/charon/tests/ui/ptr_no_provenance.out +++ b/charon/tests/ui/ptr_no_provenance.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -32,6 +36,7 @@ pub trait PartialEq } // Full name: core::cmp::Eq +#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -48,6 +53,7 @@ pub enum Ordering { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -59,6 +65,7 @@ where } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -69,6 +76,7 @@ pub trait PartialOrd } // Full name: core::cmp::Ord +#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -127,6 +135,7 @@ pub trait Hasher } // Full name: core::hash::Hash +#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -149,10 +158,12 @@ impl "impl_Hash_for_unit" Hash for () { } // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -163,6 +174,7 @@ pub trait Copy } // Full name: core::marker::Sync +#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync @@ -219,6 +231,7 @@ where = // Full name: core::ptr::without_provenance +#[rustc_diagnostic_item = "ptr_without_provenance"] #[diagnostic_item("ptr_without_provenance")] pub fn without_provenance(_1: usize) -> *const T where @@ -226,6 +239,7 @@ where = // Full name: core::ptr::null +#[rustc_diagnostic_item = "ptr_null"] #[diagnostic_item("ptr_null")] pub fn null() -> *const T where diff --git a/charon/tests/ui/quantified-clause.out b/charon/tests/ui/quantified-clause.out index 012d22411..d04b028f0 100644 --- a/charon/tests/ui/quantified-clause.out +++ b/charon/tests/ui/quantified-clause.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -34,6 +38,7 @@ where } // Full name: core::iter::traits::iterator::Iterator +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator @@ -46,6 +51,7 @@ pub trait Iterator } // Full name: core::iter::traits::collect::IntoIterator +#[rustc_diagnostic_item = "IntoIterator"] #[diagnostic_item("IntoIterator")] pub trait IntoIterator where @@ -62,6 +68,7 @@ where } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -80,6 +87,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -88,6 +96,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -101,6 +110,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -113,6 +123,7 @@ pub trait FnMut } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/raw-boxes.out b/charon/tests/ui/raw-boxes.out index 67eb760db..15009e8d7 100644 --- a/charon/tests/ui/raw-boxes.out +++ b/charon/tests/ui/raw-boxes.out @@ -4,6 +4,7 @@ pub struct AllocError {} // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -15,6 +16,7 @@ where } // Full name: core::ptr::non_null::NonNull +#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub struct NonNull { pointer: *const T is !null, @@ -168,6 +170,7 @@ where return } +#[track_caller] fn core::ptr::write_bytes::precondition_check(addr: *const (), align: usize, zero_size: bool) { let _0: (); // return @@ -391,6 +394,7 @@ where = IS_ZST[TraitClause0]() // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -401,6 +405,7 @@ where Some { _0: T }, } +#[track_caller] fn core::mem::alignment::{Alignment}::new_unchecked::precondition_check(align: usize) { let _0: (); // return @@ -440,6 +445,7 @@ fn core::mem::alignment::{Alignment}::new_unchecked::precondition_check(align: u return } +#[track_caller] pub unsafe fn core::mem::alignment::{Alignment}::new_unchecked(align: usize) -> Alignment { let _0: Alignment; // return @@ -587,6 +593,7 @@ where non-dyn-compatible } +#[rustc_diagnostic_item = "mem_align_of"] #[diagnostic_item("mem_align_of")] pub fn core::mem::align_of() -> usize where @@ -599,6 +606,8 @@ where return } +#[track_caller] +#[rustc_diagnostic_item = "ptr_write_bytes"] #[diagnostic_item("ptr_write_bytes")] pub unsafe fn core::ptr::write_bytes(dst: *mut T, val: u8, count: usize) where @@ -670,6 +679,7 @@ where return } +#[track_caller] pub unsafe fn core::ptr::mut_ptr::{*mut T}::write_bytes(self: *mut T, val: u8, count: usize) where TraitClause0: (T: Sized), @@ -699,6 +709,7 @@ where } // Full name: core::ops::control_flow::ControlFlow +#[rustc_diagnostic_item = "ControlFlow"] #[diagnostic_item("ControlFlow")] pub enum ControlFlow where @@ -824,6 +835,7 @@ where return } +#[track_caller] fn core::ptr::copy_nonoverlapping::precondition_check(src: *const (), dst: *mut (), size: usize, align: usize, count: usize) { let _0: (); // return @@ -955,6 +967,7 @@ fn core::ptr::copy_nonoverlapping::precondition_check(src: *const (), dst: *mut return } +#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn core::mem::size_of() -> usize where @@ -967,6 +980,8 @@ where return } +#[track_caller] +#[rustc_diagnostic_item = "ptr_copy_nonoverlapping"] #[diagnostic_item("ptr_copy_nonoverlapping")] pub unsafe fn core::ptr::copy_nonoverlapping(src: *const T, dst: *mut T, count: usize) where @@ -1515,6 +1530,7 @@ where return } +#[rustc_diagnostic_item = "const_ptr_cast"] #[diagnostic_item("const_ptr_cast")] pub fn core::ptr::const_ptr::{*const T}::cast(self: *const T) -> *const U where @@ -1731,6 +1747,7 @@ where } // Full name: core::mem::forget +#[rustc_diagnostic_item = "mem_forget"] #[diagnostic_item("mem_forget")] pub fn forget(t: T) where @@ -1754,6 +1771,7 @@ where return } +#[rustc_diagnostic_item = "ptr_const_is_null"] #[diagnostic_item("ptr_const_is_null")] pub fn core::ptr::const_ptr::{*const T}::is_null(self: *const T) -> bool { @@ -1783,6 +1801,8 @@ pub fn core::ptr::const_ptr::{*const T}::is_null(self: *const T) -> bool } // Full name: core::ptr::read +#[track_caller] +#[rustc_diagnostic_item = "ptr_read"] #[diagnostic_item("ptr_read")] pub unsafe fn read(src: *const T) -> T where @@ -1801,6 +1821,7 @@ where } // Full name: core::ptr::mut_ptr::{*mut T}::cast_const +#[rustc_diagnostic_item = "ptr_cast_const"] #[diagnostic_item("ptr_cast_const")] pub fn cast_const(self: *mut T) -> *const T { @@ -1824,6 +1845,7 @@ pub fn cast_const(self: *mut T) -> *const T return } +#[rustc_diagnostic_item = "ptr_is_null"] #[diagnostic_item("ptr_is_null")] pub fn core::ptr::mut_ptr::{*mut T}::is_null(self: *mut T) -> bool { @@ -1845,6 +1867,7 @@ pub fn core::ptr::mut_ptr::{*mut T}::is_null(self: *mut T) -> bool return } +#[track_caller] fn core::ptr::non_null::{NonNull}::new_unchecked::precondition_check(ptr: *mut ()) { let _0: (); // return @@ -1884,6 +1907,7 @@ fn core::ptr::non_null::{NonNull}::new_unchecked::precondition_check(ptr: *mu ↳⚡ undefined_behavior } +#[track_caller] pub unsafe fn core::ptr::non_null::{NonNull}::new_unchecked(ptr: *mut T) -> NonNull { let _0: NonNull; // return @@ -2015,6 +2039,7 @@ where } // Full name: alloc::boxed::Box +#[fundamental] #[lang_item(OwnedBox)] pub struct Box where @@ -2158,6 +2183,7 @@ where } // Full name: alloc::boxed::box_new_uninit +#[track_caller] fn box_new_uninit(layout: Layout) -> *mut u8 { let _0: *mut u8; // return @@ -2215,6 +2241,8 @@ fn box_new_uninit(layout: Layout) -> *mut u8 return } +#[rustc_diagnostic_item = "box_new"] +#[track_caller] #[diagnostic_item("box_new")] pub fn alloc::boxed::{Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}, {impl#0}]}::new(x: T) -> Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}, {impl#0}] where diff --git a/charon/tests/ui/region-inference-vars.out b/charon/tests/ui/region-inference-vars.out index 6f0f71d2d..9a73677cd 100644 --- a/charon/tests/ui/region-inference-vars.out +++ b/charon/tests/ui/region-inference-vars.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/regressions/invalid-reconstruct-assert.out b/charon/tests/ui/regressions/invalid-reconstruct-assert.out index e18f88384..66729153f 100644 --- a/charon/tests/ui/regressions/invalid-reconstruct-assert.out +++ b/charon/tests/ui/regressions/invalid-reconstruct-assert.out @@ -21,10 +21,12 @@ pub trait Destruct } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -40,10 +42,12 @@ where = // Full name: core::intrinsics::assume +#[rustc_intrinsic] pub unsafe fn assume(b_1: bool) = // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -52,6 +56,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -65,6 +70,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -77,6 +83,7 @@ pub trait FnMut } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -87,10 +94,12 @@ where Err { _0: E }, } +#[track_caller] fn core::hint::assert_unchecked::precondition_check(_1: bool) = // Full name: core::slice::index::{impl SliceIndex<[T]> for usize}::get_unchecked::precondition_check +#[track_caller] fn impl_SliceIndex_slice_for_usize::get_unchecked::precondition_check(_1: usize, _2: usize) = diff --git a/charon/tests/ui/regressions/issue-1010-missing-lifetime.out b/charon/tests/ui/regressions/issue-1010-missing-lifetime.out index 196f456fc..f7d8cf05b 100644 --- a/charon/tests/ui/regressions/issue-1010-missing-lifetime.out +++ b/charon/tests/ui/regressions/issue-1010-missing-lifetime.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/regressions/issue-1067-filename-ice.out b/charon/tests/ui/regressions/issue-1067-filename-ice.out index 072d3cdf7..83adadf5e 100644 --- a/charon/tests/ui/regressions/issue-1067-filename-ice.out +++ b/charon/tests/ui/regressions/issue-1067-filename-ice.out @@ -9,10 +9,12 @@ impl "impl_Debug_for_Error" Debug for Error { } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Sized } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -41,6 +44,7 @@ where = // Full name: core::result::{Result[TraitClause0, TraitClause1]}::unwrap +#[track_caller] pub fn unwrap(_1: Result[TraitClause0, TraitClause1]) -> T where TraitClause0: (T: Sized), @@ -53,6 +57,7 @@ where pub struct Global {} // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -76,6 +81,7 @@ where = // Full name: alloc::vec::{Vec[TraitClause0, {built_in impl Sized for Global}]}::new +#[rustc_diagnostic_item = "vec_new"] #[diagnostic_item("vec_new")] pub fn new() -> Vec[TraitClause0, {built_in impl Sized for Global}] where diff --git a/charon/tests/ui/regressions/issue-1074-vtable-supertrait.out b/charon/tests/ui/regressions/issue-1074-vtable-supertrait.out index fe44485c6..0d23d7694 100644 --- a/charon/tests/ui/regressions/issue-1074-vtable-supertrait.out +++ b/charon/tests/ui/regressions/issue-1074-vtable-supertrait.out @@ -3,12 +3,14 @@ opaque type core::marker::Send::{vtable} // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/regressions/issue-1089-inline-const-precise-drops.out b/charon/tests/ui/regressions/issue-1089-inline-const-precise-drops.out index 6a9cfe83b..5451dff20 100644 --- a/charon/tests/ui/regressions/issue-1089-inline-const-precise-drops.out +++ b/charon/tests/ui/regressions/issue-1089-inline-const-precise-drops.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/regressions/issue-1236-vtable-fn-ptr.out b/charon/tests/ui/regressions/issue-1236-vtable-fn-ptr.out index 0ea4b7c40..b1c651c73 100644 --- a/charon/tests/ui/regressions/issue-1236-vtable-fn-ptr.out +++ b/charon/tests/ui/regressions/issue-1236-vtable-fn-ptr.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/regressions/issue-1294-remove-clause-underflow.out b/charon/tests/ui/regressions/issue-1294-remove-clause-underflow.out index 58090356c..29d6a3c2a 100644 --- a/charon/tests/ui/regressions/issue-1294-remove-clause-underflow.out +++ b/charon/tests/ui/regressions/issue-1294-remove-clause-underflow.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone diff --git a/charon/tests/ui/regressions/issue-1297-box-new-allocator-ty.out b/charon/tests/ui/regressions/issue-1297-box-new-allocator-ty.out index 7bc1eaa98..7f31d460b 100644 --- a/charon/tests/ui/regressions/issue-1297-box-new-allocator-ty.out +++ b/charon/tests/ui/regressions/issue-1297-box-new-allocator-ty.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -32,6 +34,7 @@ where = // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/regressions/issue-393-vec-with-control-flow.out b/charon/tests/ui/regressions/issue-393-vec-with-control-flow.out index 73cc52c31..3a9459c1a 100644 --- a/charon/tests/ui/regressions/issue-393-vec-with-control-flow.out +++ b/charon/tests/ui/regressions/issue-393-vec-with-control-flow.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -19,6 +21,7 @@ where TraitClause0: (T: Sized), // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -43,6 +46,7 @@ where = // Full name: alloc::boxed::{alloc::boxed::Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}]}::new_uninit +#[track_caller] pub fn new_uninit() -> alloc::boxed::Box[TraitClause0]>[{built_in impl MetaSized for MaybeUninit[TraitClause0]}, {built_in impl Sized for Global}] where TraitClause0: (T: Sized), @@ -56,6 +60,7 @@ where = // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/regressions/issue-792-trait-ref-panic-when-tracing.out b/charon/tests/ui/regressions/issue-792-trait-ref-panic-when-tracing.out index 89ca56074..982ecd398 100644 --- a/charon/tests/ui/regressions/issue-792-trait-ref-panic-when-tracing.out +++ b/charon/tests/ui/regressions/issue-792-trait-ref-panic-when-tracing.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/regressions/issue-967-assoc-type-coherence.out b/charon/tests/ui/regressions/issue-967-assoc-type-coherence.out index 89711f7ed..f9a369454 100644 --- a/charon/tests/ui/regressions/issue-967-assoc-type-coherence.out +++ b/charon/tests/ui/regressions/issue-967-assoc-type-coherence.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/rename_attribute.out b/charon/tests/ui/rename_attribute.out index 78cdf9043..bf1911e63 100644 --- a/charon/tests/ui/rename_attribute.out +++ b/charon/tests/ui/rename_attribute.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: test_crate::BoolTrait +#[charon::rename("BoolTest")] pub trait BoolTrait { proof ImpliedClause0: (Self: MetaSized) @@ -21,6 +24,7 @@ pub trait BoolTrait vtable: test_crate::BoolTrait::{vtable} } +#[charon::rename("retTest")] pub fn test_crate::BoolTrait::ret_true<'_0, Self>(self: &'_0 Self) -> bool where TraitClause0: (Self: BoolTrait), @@ -48,6 +52,7 @@ pub fn get_bool<'_0>(self: &'_0 bool) -> bool } // Full name: test_crate::{impl BoolTrait for bool}::ret_true +#[charon::rename("retTest")] pub fn impl_BoolTrait_for_bool::ret_true<'_0>(self: &'_0 bool) -> bool { let _0: bool; // return @@ -68,6 +73,7 @@ impl "impl_BoolTrait_for_bool" BoolTrait for bool { } // Full name: test_crate::test_bool_trait +#[charon::rename("BoolFn")] pub fn test_bool_trait(x: bool) -> bool where TraitClause0: (T: Sized), @@ -106,9 +112,11 @@ where } // Full name: test_crate::Test +#[charon::rename("TypeTest")] type Test = i32 // Full name: test_crate::SimpleEnum +#[charon::rename("VariantsTest")] enum SimpleEnum { FirstVariant, SecondVariant, @@ -116,11 +124,13 @@ enum SimpleEnum { } // Full name: test_crate::Foo +#[charon::rename("StructTest")] struct Foo { field1: u32, } // Full name: test_crate::C +#[charon::rename("Const_Test")] fn C() -> u32 { let _0: u32; // return @@ -141,9 +151,11 @@ fn C() -> u32 } // Full name: test_crate::C +#[charon::rename("Const_Test")] const C: u32 = C() // Full name: test_crate::Test2 +#[charon::rename("_TypeAeneas36")] type Test2 = u32 diff --git a/charon/tests/ui/result-unwrap.out b/charon/tests/ui/result-unwrap.out index 7492cc30d..5e911ef1e 100644 --- a/charon/tests/ui/result-unwrap.out +++ b/charon/tests/ui/result-unwrap.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -32,9 +35,11 @@ where } // Full name: core::result::unwrap_failed +#[track_caller] fn unwrap_failed<'_0, '_1>(_1: &'_0 str, _2: &'_1 (dyn Debug + '_1)) -> ! = +#[track_caller] pub fn core::result::{Result[TraitClause0, TraitClause1]}::unwrap(self: Result[TraitClause0, TraitClause1]) -> T where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/rust-name-matcher-tests.out b/charon/tests/ui/rust-name-matcher-tests.out index 34521376c..fa79c0e71 100644 --- a/charon/tests/ui/rust-name-matcher-tests.out +++ b/charon/tests/ui/rust-name-matcher-tests.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -36,6 +39,16 @@ where pub struct Global {} // Full name: test_crate::foo::bar +#[pattern::fail("test_crate::foo::bar::_")] +#[pattern::pass("test_crate::foo::bar")] +#[pattern::pass("test_crate::foo::_")] +#[pattern::pass("test_crate::foo")] +#[pattern::pass("test_crate")] +#[pattern::pass("test_crate::_")] +#[pattern::pass("test_crate::_::bar")] +#[pattern::fail("test_crate::_::lsdkfjs")] +#[pattern::pass("crate::foo::bar")] +#[pattern::fail("foo::bar")] fn bar() { let _0: (); // return @@ -47,6 +60,9 @@ fn bar() } // Full name: test_crate::Trait +#[pattern::pass("test_crate::Trait")] +#[pattern::fail("test_crate::Trait<_>")] +#[pattern::pass("test_crate::Trait<_, _>")] trait Trait { proof ImpliedClause0: (Self: MetaSized) @@ -56,6 +72,12 @@ trait Trait } // Full name: test_crate::{impl Trait[TraitClause0]> for alloc::boxed::Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}]}::method +#[pattern::pass("test_crate::{impl test_crate::Trait<_> for _}::method")] +#[pattern::pass("{impl test_crate::Trait<_> for _}::method")] +#[pattern::pass("test_crate::{impl test_crate::Trait<_> for _}::_")] +#[pattern::pass("test_crate::{impl test_crate::Trait<_> for _}")] +#[pattern::pass("test_crate::{impl test_crate::Trait<_, _>}"::method)] +#[pattern::fail("test_crate::Trait<_>::method")] fn impl_Trait_Option_for_Box_Global::method() where TraitClause0: (T: Sized), @@ -140,6 +162,8 @@ where } // Full name: test_crate::{Generic[TraitClause0]}::new +#[pattern::pass("test_crate::_::new")] +#[pattern::pass("_::_::new")] fn new(value: T) -> Generic[TraitClause0] where TraitClause0: (T: Sized), @@ -163,6 +187,7 @@ where } // Full name: test_crate::{Generic[TraitClause0]}::get +#[pattern::pass("test_crate::_::get")] fn get<'_0, T>(self: &'_0 Generic[TraitClause0]) -> &'_0 T where TraitClause0: (T: Sized), @@ -181,6 +206,7 @@ where } // Full name: test_crate::use_generic +#[pattern::pass("test_crate::use_generic")] fn use_generic() { let _0: (); // return diff --git a/charon/tests/ui/rvalues.out b/charon/tests/ui/rvalues.out index a7e232e0b..27d93f896 100644 --- a/charon/tests/ui/rvalues.out +++ b/charon/tests/ui/rvalues.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::mem::size_of +#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn size_of() -> usize where @@ -36,6 +40,7 @@ where = // Full name: core::mem::align_of +#[rustc_diagnostic_item = "mem_align_of"] #[diagnostic_item("mem_align_of")] pub fn align_of() -> usize where @@ -57,6 +62,7 @@ pub fn MIN() -> f64 pub const MIN: f64 = MIN() // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -70,6 +76,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -82,6 +89,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/scopes.out b/charon/tests/ui/scopes.out index 83c627ab5..74d7fb911 100644 --- a/charon/tests/ui/scopes.out +++ b/charon/tests/ui/scopes.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized @@ -13,6 +14,7 @@ trait Trait<'a, Self> } // Full name: test_crate::{impl Trait<'a> for &'a ()}::method +#[charon::opaque] fn method<'a, 'b>(_1: &'b &'a ()) -> &'b () where RegionOutlives0: 'a: 'b, @@ -26,21 +28,26 @@ impl<'a> Trait<'a> for &'a () { } // Full name: test_crate::Foo +#[charon::opaque] opaque type Foo<'a> +#[charon::opaque] fn test_crate::{Foo<'_0>}::bar<'_0, '_1>(_1: &'_1 Foo<'_0>) -> &'_1 () where RegionOutlives0: '_0: '_1, = // Full name: test_crate::foo +#[charon::opaque] fn foo<'_0>(_1: &'_0 fn<'_0_1>(&'_0_1 u32) -> u32) = +#[charon::opaque] fn test_crate::bar<'_0>(_1: &'_0 fn<'_0_1>(&'_0_1 fn<'_0_2>(&'_0_2 u32) -> u32)) = // Full name: test_crate::baz +#[charon::opaque] fn baz<'a>(_1: &'a fn<'b>(&'a u32, &'b fn<'c>(&'a u32, &'b u32, &'c u32) -> u32)) = diff --git a/charon/tests/ui/send_bound.out b/charon/tests/ui/send_bound.out index 692f4f74f..6703aed55 100644 --- a/charon/tests/ui/send_bound.out +++ b/charon/tests/ui/send_bound.out @@ -1,14 +1,17 @@ # Final LLBC before serialization: // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/additions.out b/charon/tests/ui/simple/additions.out index 29d0d3111..33bb01ac2 100644 --- a/charon/tests/ui/simple/additions.out +++ b/charon/tests/ui/simple/additions.out @@ -9,10 +9,12 @@ pub trait Destruct } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -122,6 +125,7 @@ impl "impl_Clone_for_u8" Clone for u8 { } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -131,6 +135,7 @@ pub trait Copy non-dyn-compatible } +#[rustc_intrinsic] pub fn core::intrinsics::saturating_add(a_1: T, b_2: T) -> T where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/simple/alias-ty-missing-hrtb.out b/charon/tests/ui/simple/alias-ty-missing-hrtb.out index c96264550..d8bedbaa5 100644 --- a/charon/tests/ui/simple/alias-ty-missing-hrtb.out +++ b/charon/tests/ui/simple/alias-ty-missing-hrtb.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/assoc-const-with-self-clause.out b/charon/tests/ui/simple/assoc-const-with-self-clause.out index 5bbdadf88..ca9950359 100644 --- a/charon/tests/ui/simple/assoc-const-with-self-clause.out +++ b/charon/tests/ui/simple/assoc-const-with-self-clause.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/simple/box-deref-elaborated.out b/charon/tests/ui/simple/box-deref-elaborated.out index 92b1df770..232f09417 100644 --- a/charon/tests/ui/simple/box-deref-elaborated.out +++ b/charon/tests/ui/simple/box-deref-elaborated.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/box-deref-optimized.out b/charon/tests/ui/simple/box-deref-optimized.out index 92b1df770..232f09417 100644 --- a/charon/tests/ui/simple/box-deref-optimized.out +++ b/charon/tests/ui/simple/box-deref-optimized.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/box-dyn-fnonce-raw.out b/charon/tests/ui/simple/box-dyn-fnonce-raw.out index 6f0b0916a..f19d0c8e6 100644 --- a/charon/tests/ui/simple/box-dyn-fnonce-raw.out +++ b/charon/tests/ui/simple/box-dyn-fnonce-raw.out @@ -11,6 +11,7 @@ pub fn size<'_0>(_1: &'_0 Layout) -> usize opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized @@ -24,6 +25,7 @@ where pub struct AllocError {} // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -32,6 +34,7 @@ pub trait Sized } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -43,6 +46,7 @@ where } // Full name: core::ptr::non_null::NonNull +#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub opaque type NonNull @@ -64,6 +68,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -187,6 +192,7 @@ struct core::ops::function::FnOnce::{vtable} { } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -227,10 +233,12 @@ where pub struct Global {} // Full name: alloc::alloc::{impl Allocator for Global}::deallocate +#[track_caller] pub unsafe fn deallocate<'_0>(_1: &'_0 Global, _2: NonNull, _3: Layout) = // Full name: alloc::alloc::{impl Allocator for Global}::allocate +#[track_caller] pub fn allocate<'_0>(_1: &'_0 Global, _2: Layout) -> Result, AllocError>[{built_in impl Sized for NonNull<[u8]>}, {built_in impl Sized for AllocError}] = @@ -247,6 +255,7 @@ pub fn handle_alloc_error(_1: Layout) -> ! = // Full name: alloc::boxed::Box +#[fundamental] #[lang_item(OwnedBox)] pub struct Box where @@ -390,6 +399,7 @@ where } // Full name: alloc::boxed::box_new_uninit +#[track_caller] fn box_new_uninit(layout: Layout) -> *mut u8 { let _0: *mut u8; // return @@ -448,6 +458,8 @@ fn box_new_uninit(layout: Layout) -> *mut u8 } // Full name: alloc::boxed::{Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}, impl_Allocator_for_Global]}::new +#[rustc_diagnostic_item = "box_new"] +#[track_caller] #[diagnostic_item("box_new")] pub fn new(x: T) -> Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}, impl_Allocator_for_Global] where diff --git a/charon/tests/ui/simple/box-new.out b/charon/tests/ui/simple/box-new.out index 7509374a4..6061792e1 100644 --- a/charon/tests/ui/simple/box-new.out +++ b/charon/tests/ui/simple/box-new.out @@ -8,10 +8,12 @@ pub opaque type Layout pub struct AllocError {} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -20,6 +22,7 @@ pub trait Sized } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -31,6 +34,7 @@ where } // Full name: core::ptr::non_null::NonNull +#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub opaque type NonNull @@ -48,10 +52,12 @@ pub trait Allocator pub struct Global {} // Full name: alloc::alloc::{impl Allocator for Global}::deallocate +#[track_caller] pub unsafe fn deallocate<'_0>(_1: &'_0 Global, _2: NonNull, _3: Layout) = // Full name: alloc::alloc::{impl Allocator for Global}::allocate +#[track_caller] pub fn allocate<'_0>(_1: &'_0 Global, _2: Layout) -> Result, AllocError>[{built_in impl Sized for NonNull<[u8]>}, {built_in impl Sized for AllocError}] = @@ -64,6 +70,7 @@ impl "impl_Allocator_for_Global" Allocator for Global { } // Full name: alloc::boxed::Box +#[fundamental] #[lang_item(OwnedBox)] pub opaque type Box where @@ -82,6 +89,8 @@ where = // Full name: alloc::boxed::{Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}, impl_Allocator_for_Global]}::new +#[rustc_diagnostic_item = "box_new"] +#[track_caller] #[diagnostic_item("box_new")] pub fn new(_1: T) -> Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}, impl_Allocator_for_Global] where diff --git a/charon/tests/ui/simple/builtin-drop-mono.out b/charon/tests/ui/simple/builtin-drop-mono.out index 2530e231c..936cd7264 100644 --- a/charon/tests/ui/simple/builtin-drop-mono.out +++ b/charon/tests/ui/simple/builtin-drop-mono.out @@ -4,10 +4,12 @@ opaque type {vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/builtin-drop.out b/charon/tests/ui/simple/builtin-drop.out index eeb5fd65d..a360ec45a 100644 --- a/charon/tests/ui/simple/builtin-drop.out +++ b/charon/tests/ui/simple/builtin-drop.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/call-foreign-defaulted-method.out b/charon/tests/ui/simple/call-foreign-defaulted-method.out index 235cba7f8..10b3a6f5d 100644 --- a/charon/tests/ui/simple/call-foreign-defaulted-method.out +++ b/charon/tests/ui/simple/call-foreign-defaulted-method.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/simple/call-inherent-method-with-trait-bound.out b/charon/tests/ui/simple/call-inherent-method-with-trait-bound.out index a482b1bfb..d5830f456 100644 --- a/charon/tests/ui/simple/call-inherent-method-with-trait-bound.out +++ b/charon/tests/ui/simple/call-inherent-method-with-trait-bound.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/call-method-via-supertrait-bound.out b/charon/tests/ui/simple/call-method-via-supertrait-bound.out index 36d04f118..4cd605578 100644 --- a/charon/tests/ui/simple/call-method-via-supertrait-bound.out +++ b/charon/tests/ui/simple/call-method-via-supertrait-bound.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/catch-unwind.out b/charon/tests/ui/simple/catch-unwind.out index bf2fda3b2..ed61a2990 100644 --- a/charon/tests/ui/simple/catch-unwind.out +++ b/charon/tests/ui/simple/catch-unwind.out @@ -3,6 +3,7 @@ opaque type core::any::Any::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized @@ -11,6 +12,7 @@ pub trait MetaSized pub opaque type TypeId // Full name: core::any::Any +#[rustc_diagnostic_item = "Any"] #[diagnostic_item("Any")] pub trait Any where @@ -22,10 +24,12 @@ where } // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -34,6 +38,7 @@ pub trait Sized } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -42,6 +47,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -55,10 +61,12 @@ pub trait FnOnce } // Full name: core::panic::unwind_safe::UnwindSafe +#[rustc_diagnostic_item = "unwind_safe_trait"] #[diagnostic_item("unwind_safe_trait")] pub trait UnwindSafe // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/simple/closure-capture-ref-by-move.out b/charon/tests/ui/simple/closure-capture-ref-by-move.out index 03c1be153..3ac69d5cb 100644 --- a/charon/tests/ui/simple/closure-capture-ref-by-move.out +++ b/charon/tests/ui/simple/closure-capture-ref-by-move.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { diff --git a/charon/tests/ui/simple/closure-fn.out b/charon/tests/ui/simple/closure-fn.out index 53fac6b37..ef1aae4eb 100644 --- a/charon/tests/ui/simple/closure-fn.out +++ b/charon/tests/ui/simple/closure-fn.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/closure-fnmut.out b/charon/tests/ui/simple/closure-fnmut.out index 809dd1dfe..fb1572f95 100644 --- a/charon/tests/ui/simple/closure-fnmut.out +++ b/charon/tests/ui/simple/closure-fnmut.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { diff --git a/charon/tests/ui/simple/closure-fnonce.out b/charon/tests/ui/simple/closure-fnonce.out index b92313561..9f63c411d 100644 --- a/charon/tests/ui/simple/closure-fnonce.out +++ b/charon/tests/ui/simple/closure-fnonce.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::mem::drop +#[rustc_diagnostic_item = "mem_drop"] #[diagnostic_item("mem_drop")] pub fn drop(_1: T) where @@ -37,6 +41,7 @@ where = // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { diff --git a/charon/tests/ui/simple/closure-inside-impl.out b/charon/tests/ui/simple/closure-inside-impl.out index 5db200a89..dde298bbf 100644 --- a/charon/tests/ui/simple/closure-inside-impl.out +++ b/charon/tests/ui/simple/closure-inside-impl.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/closure-inside-inline-const.out b/charon/tests/ui/simple/closure-inside-inline-const.out index 4038cdaa4..a36da7860 100644 --- a/charon/tests/ui/simple/closure-inside-inline-const.out +++ b/charon/tests/ui/simple/closure-inside-inline-const.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::mem::size_of +#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn size_of() -> usize where @@ -36,6 +40,7 @@ where = // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -49,6 +54,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -61,6 +67,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/closure-uses-ambient-self-clause.out b/charon/tests/ui/simple/closure-uses-ambient-self-clause.out index 41c28971d..ad0d7e79c 100644 --- a/charon/tests/ui/simple/closure-uses-ambient-self-clause.out +++ b/charon/tests/ui/simple/closure-uses-ambient-self-clause.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/closure-with-drops.out b/charon/tests/ui/simple/closure-with-drops.out index ab5dd99da..b63e7263c 100644 --- a/charon/tests/ui/simple/closure-with-drops.out +++ b/charon/tests/ui/simple/closure-with-drops.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::mem::drop +#[rustc_diagnostic_item = "mem_drop"] #[diagnostic_item("mem_drop")] pub fn drop(_1: T) where @@ -38,6 +42,7 @@ where = // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -54,6 +59,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -68,6 +74,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/closure-with-non-upvar-lifetime.out b/charon/tests/ui/simple/closure-with-non-upvar-lifetime.out index e1102959e..02de89f84 100644 --- a/charon/tests/ui/simple/closure-with-non-upvar-lifetime.out +++ b/charon/tests/ui/simple/closure-with-non-upvar-lifetime.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/closure-with-remove-adt-clauses.out b/charon/tests/ui/simple/closure-with-remove-adt-clauses.out index d421c9e13..98bd158d5 100644 --- a/charon/tests/ui/simple/closure-with-remove-adt-clauses.out +++ b/charon/tests/ui/simple/closure-with-remove-adt-clauses.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -41,6 +45,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -49,6 +54,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -61,6 +67,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -73,6 +80,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/conditional-drop.out b/charon/tests/ui/simple/conditional-drop.out index 81d4d1e9c..50db11e6b 100644 --- a/charon/tests/ui/simple/conditional-drop.out +++ b/charon/tests/ui/simple/conditional-drop.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/defaulted-rpitit.2.out b/charon/tests/ui/simple/defaulted-rpitit.2.out index c58e33374..fcd40a981 100644 --- a/charon/tests/ui/simple/defaulted-rpitit.2.out +++ b/charon/tests/ui/simple/defaulted-rpitit.2.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/defaulted-rpitit.3.out b/charon/tests/ui/simple/defaulted-rpitit.3.out index 5f854c328..dbbddfbba 100644 --- a/charon/tests/ui/simple/defaulted-rpitit.3.out +++ b/charon/tests/ui/simple/defaulted-rpitit.3.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::iter::sources::empty::Empty +#[rustc_diagnostic_item = "IterEmpty"] #[diagnostic_item("IterEmpty")] pub opaque type Empty where @@ -25,6 +28,7 @@ where = // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -36,6 +40,7 @@ where } // Full name: core::iter::traits::iterator::Iterator +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/simple/defaulted-rpitit.out b/charon/tests/ui/simple/defaulted-rpitit.out index 4e090f728..eaef9386f 100644 --- a/charon/tests/ui/simple/defaulted-rpitit.out +++ b/charon/tests/ui/simple/defaulted-rpitit.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/double-promotion.out b/charon/tests/ui/simple/double-promotion.out index 69ea1166c..0f2247602 100644 --- a/charon/tests/ui/simple/double-promotion.out +++ b/charon/tests/ui/simple/double-promotion.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/drop-cow.out b/charon/tests/ui/simple/drop-cow.out index 5467197a8..dea4aba8b 100644 --- a/charon/tests/ui/simple/drop-cow.out +++ b/charon/tests/ui/simple/drop-cow.out @@ -9,10 +9,12 @@ pub trait Destruct } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::borrow::Borrow +#[rustc_diagnostic_item = "Borrow"] #[diagnostic_item("Borrow")] pub trait Borrow { @@ -25,6 +27,7 @@ pub trait Borrow } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -33,6 +36,7 @@ pub trait Sized } // Full name: alloc::borrow::ToOwned +#[rustc_diagnostic_item = "ToOwned"] #[diagnostic_item("ToOwned")] pub trait ToOwned { diff --git a/charon/tests/ui/simple/drop-glue-with-const-generic-silenced.out b/charon/tests/ui/simple/drop-glue-with-const-generic-silenced.out index 890904b19..8f024ac6b 100644 --- a/charon/tests/ui/simple/drop-glue-with-const-generic-silenced.out +++ b/charon/tests/ui/simple/drop-glue-with-const-generic-silenced.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/drop-glue-with-const-generic.out b/charon/tests/ui/simple/drop-glue-with-const-generic.out index 64d2cab21..174d1060d 100644 --- a/charon/tests/ui/simple/drop-glue-with-const-generic.out +++ b/charon/tests/ui/simple/drop-glue-with-const-generic.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/drop-string-desugar.out b/charon/tests/ui/simple/drop-string-desugar.out index 1e9d61153..318156b90 100644 --- a/charon/tests/ui/simple/drop-string-desugar.out +++ b/charon/tests/ui/simple/drop-string-desugar.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -35,6 +37,7 @@ impl "impl_Destruct_for_Global" Destruct for Global { } // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -83,6 +86,7 @@ unsafe fn impl_Destruct_for_String::drop_glue<'_0>(_1: &'_0 mut String) } // Full name: alloc::string::{String}::new +#[rustc_diagnostic_item = "string_new"] #[diagnostic_item("string_new")] pub fn new() -> String = diff --git a/charon/tests/ui/simple/drop-string.out b/charon/tests/ui/simple/drop-string.out index ef5428f4d..9bdc70b45 100644 --- a/charon/tests/ui/simple/drop-string.out +++ b/charon/tests/ui/simple/drop-string.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -35,6 +37,7 @@ impl "impl_Destruct_for_Global" Destruct for Global { } // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -76,6 +79,7 @@ unsafe fn impl_Destruct_for_String::drop_glue<'_0>(_1: &'_0 mut String) } // Full name: alloc::string::{String}::new +#[rustc_diagnostic_item = "string_new"] #[diagnostic_item("string_new")] pub fn new() -> String = diff --git a/charon/tests/ui/simple/dyn-broken-assoc-type-constraint.out b/charon/tests/ui/simple/dyn-broken-assoc-type-constraint.out index 96c6916a8..8a3d11063 100644 --- a/charon/tests/ui/simple/dyn-broken-assoc-type-constraint.out +++ b/charon/tests/ui/simple/dyn-broken-assoc-type-constraint.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/dyn-cast-to-supertrait.out b/charon/tests/ui/simple/dyn-cast-to-supertrait.out index c6fd43b31..a5b85ba0d 100644 --- a/charon/tests/ui/simple/dyn-cast-to-supertrait.out +++ b/charon/tests/ui/simple/dyn-cast-to-supertrait.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/simple/dyn-fn.out b/charon/tests/ui/simple/dyn-fn.out index 0526ce958..ae8e3063f 100644 --- a/charon/tests/ui/simple/dyn-fn.out +++ b/charon/tests/ui/simple/dyn-fn.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -23,6 +25,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -31,6 +34,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -46,6 +50,7 @@ pub trait FnOnce opaque type core::ops::function::FnMut::{vtable} // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -67,6 +72,7 @@ struct core::ops::function::Fn::{vtable} { } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/dyn-method-with-early-bound-lifetimes.out b/charon/tests/ui/simple/dyn-method-with-early-bound-lifetimes.out index 1d66b9be0..875dbcc5d 100644 --- a/charon/tests/ui/simple/dyn-method-with-early-bound-lifetimes.out +++ b/charon/tests/ui/simple/dyn-method-with-early-bound-lifetimes.out @@ -3,6 +3,7 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/simple/fewer-clauses-in-method-impl.2.out b/charon/tests/ui/simple/fewer-clauses-in-method-impl.2.out index 11d628c9f..38c1ec0bb 100644 --- a/charon/tests/ui/simple/fewer-clauses-in-method-impl.2.out +++ b/charon/tests/ui/simple/fewer-clauses-in-method-impl.2.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/fewer-clauses-in-method-impl.out b/charon/tests/ui/simple/fewer-clauses-in-method-impl.out index 56ed6083a..dcfbf4e0f 100644 --- a/charon/tests/ui/simple/fewer-clauses-in-method-impl.out +++ b/charon/tests/ui/simple/fewer-clauses-in-method-impl.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/simple/fn_ptr_trait.out b/charon/tests/ui/simple/fn_ptr_trait.out index 2af3e15a6..f9570c691 100644 --- a/charon/tests/ui/simple/fn_ptr_trait.out +++ b/charon/tests/ui/simple/fn_ptr_trait.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -33,6 +37,7 @@ pub trait Copy } // Full name: core::marker::FnPtr +#[fundamental] #[lang_item(FnPtrTrait)] pub trait FnPtr { diff --git a/charon/tests/ui/simple/foreign-inline-const.out b/charon/tests/ui/simple/foreign-inline-const.out index 50fd5019f..4af5d8e43 100644 --- a/charon/tests/ui/simple/foreign-inline-const.out +++ b/charon/tests/ui/simple/foreign-inline-const.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::mem::size_of +#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn size_of() -> usize where diff --git a/charon/tests/ui/simple/gat-check-binder-levels.out b/charon/tests/ui/simple/gat-check-binder-levels.out index 4e42612f3..89615012b 100644 --- a/charon/tests/ui/simple/gat-check-binder-levels.out +++ b/charon/tests/ui/simple/gat-check-binder-levels.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/simple/gat-complex-lifetimes.out b/charon/tests/ui/simple/gat-complex-lifetimes.out index 94c712dee..70bffd63d 100644 --- a/charon/tests/ui/simple/gat-complex-lifetimes.out +++ b/charon/tests/ui/simple/gat-complex-lifetimes.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/gat-default.out b/charon/tests/ui/simple/gat-default.out index 097e2bdf9..4b0ac3f61 100644 --- a/charon/tests/ui/simple/gat-default.out +++ b/charon/tests/ui/simple/gat-default.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -17,6 +19,7 @@ pub trait Sized pub struct Global {} // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/simple/gat-implied-clause.out b/charon/tests/ui/simple/gat-implied-clause.out index ceb34024a..9f3b36ff2 100644 --- a/charon/tests/ui/simple/gat-implied-clause.out +++ b/charon/tests/ui/simple/gat-implied-clause.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone diff --git a/charon/tests/ui/simple/generic-cast-to-dyn.out b/charon/tests/ui/simple/generic-cast-to-dyn.out index c1a55208b..5217105eb 100644 --- a/charon/tests/ui/simple/generic-cast-to-dyn.out +++ b/charon/tests/ui/simple/generic-cast-to-dyn.out @@ -3,6 +3,7 @@ opaque type core::any::Any::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized @@ -11,6 +12,7 @@ pub trait MetaSized pub opaque type TypeId // Full name: core::any::Any +#[rustc_diagnostic_item = "Any"] #[diagnostic_item("Any")] pub trait Any where @@ -22,6 +24,7 @@ where } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/generic-discriminant.out b/charon/tests/ui/simple/generic-discriminant.out index 7d1dcb678..018264637 100644 --- a/charon/tests/ui/simple/generic-discriminant.out +++ b/charon/tests/ui/simple/generic-discriminant.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -32,6 +36,7 @@ pub trait PartialEq } // Full name: core::cmp::Eq +#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -49,6 +54,7 @@ pub trait Hasher } // Full name: core::hash::Hash +#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -57,10 +63,12 @@ pub trait Hash } // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -71,6 +79,7 @@ pub trait Copy } // Full name: core::marker::Sync +#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync @@ -104,6 +113,8 @@ where TraitClause0: (T: Sized), // Full name: core::mem::discriminant +#[rustc_diagnostic_item = "mem_discriminant"] +#[track_caller] #[diagnostic_item("mem_discriminant")] pub fn discriminant<'_0, T>(v: &'_0 T) -> Discriminant[TraitClause0] where diff --git a/charon/tests/ui/simple/generic-impl-with-defaulted-method.out b/charon/tests/ui/simple/generic-impl-with-defaulted-method.out index 2c96fac2f..d0f8e34a1 100644 --- a/charon/tests/ui/simple/generic-impl-with-defaulted-method.out +++ b/charon/tests/ui/simple/generic-impl-with-defaulted-method.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/simple/generic-impl-with-method.out b/charon/tests/ui/simple/generic-impl-with-method.out index 72c0e27d3..ded2d771a 100644 --- a/charon/tests/ui/simple/generic-impl-with-method.out +++ b/charon/tests/ui/simple/generic-impl-with-method.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/generic-offset-of.out b/charon/tests/ui/simple/generic-offset-of.out index d5d5fba7f..0348c4dce 100644 --- a/charon/tests/ui/simple/generic-offset-of.out +++ b/charon/tests/ui/simple/generic-offset-of.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/hide-drops.out b/charon/tests/ui/simple/hide-drops.out index 0b419a877..6eb3103eb 100644 --- a/charon/tests/ui/simple/hide-drops.out +++ b/charon/tests/ui/simple/hide-drops.out @@ -9,6 +9,7 @@ unsafe fn drop_glue<'_0>(_1: &'_0 mut String) = // Full name: alloc::string::{String}::new +#[rustc_diagnostic_item = "string_new"] #[diagnostic_item("string_new")] pub fn new() -> String = diff --git a/charon/tests/ui/simple/impl-trait-in-arg.out b/charon/tests/ui/simple/impl-trait-in-arg.out index 49117b8f4..fe18605cc 100644 --- a/charon/tests/ui/simple/impl-trait-in-arg.out +++ b/charon/tests/ui/simple/impl-trait-in-arg.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/intrinsic-same-name-across-modules.out b/charon/tests/ui/simple/intrinsic-same-name-across-modules.out index 23b2b511f..7322bf9eb 100644 --- a/charon/tests/ui/simple/intrinsic-same-name-across-modules.out +++ b/charon/tests/ui/simple/intrinsic-same-name-across-modules.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -34,6 +37,7 @@ impl "impl_Clone_for_u8" Clone for u8 { } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -43,6 +47,7 @@ pub trait Copy non-dyn-compatible } +#[rustc_intrinsic] pub fn core::intrinsics::wrapping_add(a_1: T, b_2: T) -> T where TraitClause0: (T: Sized), @@ -56,6 +61,8 @@ impl "impl_Copy_for_u8" Copy for u8 { non-dyn-compatible } +#[rustc_intrinsic] +#[inline(hint)] pub fn test_crate::first::nested::wrapping_add(lhs_1: T, rhs_2: T) -> T where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/simple/issue-1040-closure-upvar-lifetime.out b/charon/tests/ui/simple/issue-1040-closure-upvar-lifetime.out index 4563d1045..9eadfbeca 100644 --- a/charon/tests/ui/simple/issue-1040-closure-upvar-lifetime.out +++ b/charon/tests/ui/simple/issue-1040-closure-upvar-lifetime.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/issue-988-closure-outlives.out b/charon/tests/ui/simple/issue-988-closure-outlives.out index aa9244352..c7c11c6fb 100644 --- a/charon/tests/ui/simple/issue-988-closure-outlives.out +++ b/charon/tests/ui/simple/issue-988-closure-outlives.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/lending-iterator-gat.out b/charon/tests/ui/simple/lending-iterator-gat.out index ad2687933..26cc274b1 100644 --- a/charon/tests/ui/simple/lending-iterator-gat.out +++ b/charon/tests/ui/simple/lending-iterator-gat.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/simple/lifetime-unification-from-trait-impl.out b/charon/tests/ui/simple/lifetime-unification-from-trait-impl.out index 03554fd0f..4f17464a9 100644 --- a/charon/tests/ui/simple/lifetime-unification-from-trait-impl.out +++ b/charon/tests/ui/simple/lifetime-unification-from-trait-impl.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::ptr::const_ptr::{*const T}::cast +#[rustc_diagnostic_item = "const_ptr_cast"] #[diagnostic_item("const_ptr_cast")] pub fn cast(_1: *const T) -> *const U where diff --git a/charon/tests/ui/simple/manual-drop-impl.out b/charon/tests/ui/simple/manual-drop-impl.out index 95c17234b..a58836a8c 100644 --- a/charon/tests/ui/simple/manual-drop-impl.out +++ b/charon/tests/ui/simple/manual-drop-impl.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -40,6 +42,7 @@ where pub struct Global {} // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/simple/metadata-without-marker-trait.out b/charon/tests/ui/simple/metadata-without-marker-trait.out index 079b9c2ed..2e9c5fa92 100644 --- a/charon/tests/ui/simple/metadata-without-marker-trait.out +++ b/charon/tests/ui/simple/metadata-without-marker-trait.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option { diff --git a/charon/tests/ui/simple/min.out b/charon/tests/ui/simple/min.out index 43f4488ee..bfd64dbf4 100644 --- a/charon/tests/ui/simple/min.out +++ b/charon/tests/ui/simple/min.out @@ -9,10 +9,12 @@ pub trait Destruct } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Sized } // Full name: core::cmp::impls::{impl Ord for u64}::min +#[rustc_diagnostic_item = "cmp_ord_min"] #[diagnostic_item("cmp_ord_min")] pub fn impl_Ord_for_u64::min(_1: u64, _2: u64) -> u64 where diff --git a/charon/tests/ui/simple/multiple-promoteds.out b/charon/tests/ui/simple/multiple-promoteds.out index 18691d33c..e4e917606 100644 --- a/charon/tests/ui/simple/multiple-promoteds.out +++ b/charon/tests/ui/simple/multiple-promoteds.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::ops::arith::{impl Add<&'_0 u32> for &'_1 u32}::add +#[track_caller] pub fn add<'_0, '_1>(_1: &'_1 u32, _2: &'_0 u32) -> u32 = diff --git a/charon/tests/ui/simple/nested-closure-lifetime.out b/charon/tests/ui/simple/nested-closure-lifetime.out index 2623f959f..fcdcf7e7c 100644 --- a/charon/tests/ui/simple/nested-closure-lifetime.out +++ b/charon/tests/ui/simple/nested-closure-lifetime.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -31,6 +34,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -39,6 +43,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -52,6 +57,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -64,6 +70,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/nested-closure-trait-ref.out b/charon/tests/ui/simple/nested-closure-trait-ref.out index 667acb9f6..d9afdd451 100644 --- a/charon/tests/ui/simple/nested-closure-trait-ref.out +++ b/charon/tests/ui/simple/nested-closure-trait-ref.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -31,6 +34,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -39,6 +43,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -52,6 +57,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -64,6 +70,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/nested-closure.out b/charon/tests/ui/simple/nested-closure.out index af25dd8fb..a45388fa9 100644 --- a/charon/tests/ui/simple/nested-closure.out +++ b/charon/tests/ui/simple/nested-closure.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -31,6 +34,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -39,6 +43,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -52,6 +57,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -64,6 +70,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/non-lifetime-gats.out b/charon/tests/ui/simple/non-lifetime-gats.out index 666caaa77..e6f1747b8 100644 --- a/charon/tests/ui/simple/non-lifetime-gats.out +++ b/charon/tests/ui/simple/non-lifetime-gats.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::ops::deref::Deref +#[rustc_diagnostic_item = "Deref"] #[lang_item(Deref)] #[diagnostic_item("Deref")] pub trait Deref diff --git a/charon/tests/ui/simple/opaque-trait-with-clause-in-method.out b/charon/tests/ui/simple/opaque-trait-with-clause-in-method.out index c6d34b6ab..8edb4aa0c 100644 --- a/charon/tests/ui/simple/opaque-trait-with-clause-in-method.out +++ b/charon/tests/ui/simple/opaque-trait-with-clause-in-method.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/opaque-vtable.out b/charon/tests/ui/simple/opaque-vtable.out index b99a582a6..c57fc4507 100644 --- a/charon/tests/ui/simple/opaque-vtable.out +++ b/charon/tests/ui/simple/opaque-vtable.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/simple/partial-drop.out b/charon/tests/ui/simple/partial-drop.out index 08a5b53aa..858dfdf12 100644 --- a/charon/tests/ui/simple/partial-drop.out +++ b/charon/tests/ui/simple/partial-drop.out @@ -9,6 +9,7 @@ pub trait Destruct } // Full name: core::mem::drop +#[rustc_diagnostic_item = "mem_drop"] #[diagnostic_item("mem_drop")] pub fn drop(_1: T) where diff --git a/charon/tests/ui/simple/pass-higher-kinded-fn-item-as-closure.out b/charon/tests/ui/simple/pass-higher-kinded-fn-item-as-closure.out index 2801f73f5..aca7f8f6d 100644 --- a/charon/tests/ui/simple/pass-higher-kinded-fn-item-as-closure.out +++ b/charon/tests/ui/simple/pass-higher-kinded-fn-item-as-closure.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -41,6 +45,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -53,6 +58,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/promoted-closure-no-warns.out b/charon/tests/ui/simple/promoted-closure-no-warns.out index 1d0bf86c0..64a59aa42 100644 --- a/charon/tests/ui/simple/promoted-closure-no-warns.out +++ b/charon/tests/ui/simple/promoted-closure-no-warns.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/promoted-closure.out b/charon/tests/ui/simple/promoted-closure.out index 1d0bf86c0..64a59aa42 100644 --- a/charon/tests/ui/simple/promoted-closure.out +++ b/charon/tests/ui/simple/promoted-closure.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/promoted-in-generic-fn.out b/charon/tests/ui/simple/promoted-in-generic-fn.out index 82986f462..e289eb116 100644 --- a/charon/tests/ui/simple/promoted-in-generic-fn.out +++ b/charon/tests/ui/simple/promoted-in-generic-fn.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::mem::size_of +#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn size_of() -> usize where diff --git a/charon/tests/ui/simple/promoted-inside-impl.out b/charon/tests/ui/simple/promoted-inside-impl.out index 3d3d01e48..44f984829 100644 --- a/charon/tests/ui/simple/promoted-inside-impl.out +++ b/charon/tests/ui/simple/promoted-inside-impl.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/promoted-literal-addition-overflow.out b/charon/tests/ui/simple/promoted-literal-addition-overflow.out index 9a8f57f51..d442cb06d 100644 --- a/charon/tests/ui/simple/promoted-literal-addition-overflow.out +++ b/charon/tests/ui/simple/promoted-literal-addition-overflow.out @@ -8,6 +8,7 @@ pub fn MAX() -> u32 pub const MAX: u32 = MAX() // Full name: test_crate::overflow +#[allow(arithmetic_overflow)] fn overflow() -> &'static u32 { let _0: &'1 u32; // return diff --git a/charon/tests/ui/simple/promoted_in_closure.out b/charon/tests/ui/simple/promoted_in_closure.out index 53032b558..03a2e1a8b 100644 --- a/charon/tests/ui/simple/promoted_in_closure.out +++ b/charon/tests/ui/simple/promoted_in_closure.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/simple/promoted_in_default_method.out b/charon/tests/ui/simple/promoted_in_default_method.out index 39f7253c3..afb494570 100644 --- a/charon/tests/ui/simple/promoted_in_default_method.out +++ b/charon/tests/ui/simple/promoted_in_default_method.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/simple/ptr-from-raw-parts.out b/charon/tests/ui/simple/ptr-from-raw-parts.out index 7fe0b2fb1..92421786c 100644 --- a/charon/tests/ui/simple/ptr-from-raw-parts.out +++ b/charon/tests/ui/simple/ptr-from-raw-parts.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -32,6 +36,7 @@ pub trait PartialEq } // Full name: core::cmp::Eq +#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -48,6 +53,7 @@ pub enum Ordering { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -59,6 +65,7 @@ where } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -69,6 +76,7 @@ pub trait PartialOrd } // Full name: core::cmp::Ord +#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -127,6 +135,7 @@ pub trait Hasher } // Full name: core::hash::Hash +#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -149,10 +158,12 @@ impl "impl_Hash_for_unit" Hash for () { } // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -163,6 +174,7 @@ pub trait Copy } // Full name: core::marker::Sync +#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync diff --git a/charon/tests/ui/simple/ptr_metadata.out b/charon/tests/ui/simple/ptr_metadata.out index 553e16cc4..336617035 100644 --- a/charon/tests/ui/simple/ptr_metadata.out +++ b/charon/tests/ui/simple/ptr_metadata.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -32,6 +36,7 @@ pub trait PartialEq } // Full name: core::cmp::Eq +#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -48,6 +53,7 @@ pub enum Ordering { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -59,6 +65,7 @@ where } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -69,6 +76,7 @@ pub trait PartialOrd } // Full name: core::cmp::Ord +#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -127,6 +135,7 @@ pub trait Hasher } // Full name: core::hash::Hash +#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -149,10 +158,12 @@ impl "impl_Hash_for_unit" Hash for () { } // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -163,6 +174,7 @@ pub trait Copy } // Full name: core::marker::Sync +#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync @@ -212,6 +224,7 @@ where } // Full name: core::ptr::null +#[rustc_diagnostic_item = "ptr_null"] #[diagnostic_item("ptr_null")] pub fn null() -> *const T where diff --git a/charon/tests/ui/simple/range-iter.out b/charon/tests/ui/simple/range-iter.out index 21d6497fb..35aee5cab 100644 --- a/charon/tests/ui/simple/range-iter.out +++ b/charon/tests/ui/simple/range-iter.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -20,6 +21,7 @@ impl "impl_Clone_for_usize" Clone for usize { } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -37,6 +39,7 @@ pub enum Ordering { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option { @@ -45,6 +48,7 @@ pub enum Option { } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -76,6 +80,7 @@ impl "impl_PartialOrd_usize_for_usize" PartialOrd for usize { } // Full name: core::iter::range::Step +#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait Step { @@ -129,6 +134,7 @@ pub struct Range { } // Full name: core::iter::traits::iterator::Iterator +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/simple/remove-adt-clauses-closure-keep-assoc.out b/charon/tests/ui/simple/remove-adt-clauses-closure-keep-assoc.out index f13808589..bdae744fa 100644 --- a/charon/tests/ui/simple/remove-adt-clauses-closure-keep-assoc.out +++ b/charon/tests/ui/simple/remove-adt-clauses-closure-keep-assoc.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { diff --git a/charon/tests/ui/simple/remove-adt-clauses-keep-assoc.out b/charon/tests/ui/simple/remove-adt-clauses-keep-assoc.out index 94813e78f..9f481e440 100644 --- a/charon/tests/ui/simple/remove-adt-clauses-keep-assoc.out +++ b/charon/tests/ui/simple/remove-adt-clauses-keep-assoc.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/remove-adt-clauses-supertrait.out b/charon/tests/ui/simple/remove-adt-clauses-supertrait.out index 64c64d110..ef67c24f4 100644 --- a/charon/tests/ui/simple/remove-adt-clauses-supertrait.out +++ b/charon/tests/ui/simple/remove-adt-clauses-supertrait.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { diff --git a/charon/tests/ui/simple/remove-adt-clauses.out b/charon/tests/ui/simple/remove-adt-clauses.out index 44152c497..7387b1eaf 100644 --- a/charon/tests/ui/simple/remove-adt-clauses.out +++ b/charon/tests/ui/simple/remove-adt-clauses.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/rpitit-with-const-generic.out b/charon/tests/ui/simple/rpitit-with-const-generic.out index 706f01164..148a04595 100644 --- a/charon/tests/ui/simple/rpitit-with-const-generic.out +++ b/charon/tests/ui/simple/rpitit-with-const-generic.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/rpitit-with-lifetime-bound.out b/charon/tests/ui/simple/rpitit-with-lifetime-bound.out index 90fa8d0c7..8d4e4b6c4 100644 --- a/charon/tests/ui/simple/rpitit-with-lifetime-bound.out +++ b/charon/tests/ui/simple/rpitit-with-lifetime-bound.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/rpitit-with-lifetime.out b/charon/tests/ui/simple/rpitit-with-lifetime.out index 088c19c95..38bc42e27 100644 --- a/charon/tests/ui/simple/rpitit-with-lifetime.out +++ b/charon/tests/ui/simple/rpitit-with-lifetime.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -24,6 +27,7 @@ where } // Full name: core::iter::traits::iterator::Iterator +#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/simple/rpitit.out b/charon/tests/ui/simple/rpitit.out index 7c00962d4..a07bf69ce 100644 --- a/charon/tests/ui/simple/rpitit.out +++ b/charon/tests/ui/simple/rpitit.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/single-variant-enum-drop-glue.out b/charon/tests/ui/simple/single-variant-enum-drop-glue.out index fd6c337d9..bee82a57d 100644 --- a/charon/tests/ui/simple/single-variant-enum-drop-glue.out +++ b/charon/tests/ui/simple/single-variant-enum-drop-glue.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/slice_index_range.out b/charon/tests/ui/simple/slice_index_range.out index 66e3efe14..0ba9bbf74 100644 --- a/charon/tests/ui/simple/slice_index_range.out +++ b/charon/tests/ui/simple/slice_index_range.out @@ -1,5 +1,6 @@ # Final LLBC before serialization: +#[track_caller] fn core::slice::index::slice_index_fail::do_panic::runtime(start: usize, len: usize) -> ! { let _0: !; // return @@ -104,6 +105,7 @@ fn core::slice::index::slice_index_fail::do_panic::runtime(start: usize, len: us panic(core::panicking::panic_fmt) } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic#1::runtime(end: usize, len: usize) -> ! { let _0: !; // return @@ -208,6 +210,7 @@ fn core::slice::index::slice_index_fail::do_panic#1::runtime(end: usize, len: us panic(core::panicking::panic_fmt) } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic#2::runtime(start: usize, end: usize) -> ! { let _0: !; // return @@ -312,6 +315,7 @@ fn core::slice::index::slice_index_fail::do_panic#2::runtime(start: usize, end: panic(core::panicking::panic_fmt) } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic#3::runtime(end: usize, len: usize) -> ! { let _0: !; // return @@ -417,6 +421,7 @@ fn core::slice::index::slice_index_fail::do_panic#3::runtime(end: usize, len: us } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -427,6 +432,7 @@ where Some { _0: T }, } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic(start: usize, len: usize) -> ! { let _0: !; // return @@ -452,6 +458,7 @@ fn core::slice::index::slice_index_fail::do_panic(start: usize, len: usize) -> ! unwind_continue } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic#1(end: usize, len: usize) -> ! { let _0: !; // return @@ -477,6 +484,7 @@ fn core::slice::index::slice_index_fail::do_panic#1(end: usize, len: usize) -> ! unwind_continue } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic#2(start: usize, end: usize) -> ! { let _0: !; // return @@ -502,6 +510,7 @@ fn core::slice::index::slice_index_fail::do_panic#2(start: usize, end: usize) -> unwind_continue } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic#3(end: usize, len: usize) -> ! { let _0: !; // return @@ -528,6 +537,7 @@ fn core::slice::index::slice_index_fail::do_panic#3(end: usize, len: usize) -> ! } // Full name: core::slice::index::SliceIndex +#[rustc_diagnostic_item = "SliceIndex"] #[diagnostic_item("SliceIndex")] pub trait SliceIndex { @@ -581,6 +591,7 @@ where } // Full name: core::slice::index::slice_index_fail +#[track_caller] fn slice_index_fail(start: usize, end: usize, len: usize) -> ! { let _0: !; // return @@ -1060,6 +1071,7 @@ where } // Full name: core::slice::index::{impl SliceIndex<[T]> for Range[{built_in impl Sized for usize}]}::get_unchecked::precondition_check +#[track_caller] fn impl_SliceIndex_slice_for_Range_usize::get_unchecked::precondition_check(start: usize, end: usize, len: usize) { let _0: (); // return @@ -1135,6 +1147,7 @@ fn impl_SliceIndex_slice_for_Range_usize::get_unchecked::precondition_check(star } // Full name: core::slice::index::{impl SliceIndex<[T]> for Range[{built_in impl Sized for usize}]}::get_unchecked +#[track_caller] pub unsafe fn impl_SliceIndex_slice_for_Range_usize::get_unchecked(self: Range[{built_in impl Sized for usize}], slice: *const [T]) -> *const [T] where TraitClause0: (T: Sized), @@ -1215,6 +1228,7 @@ where } // Full name: core::slice::index::{impl SliceIndex<[T]> for Range[{built_in impl Sized for usize}]}::get_unchecked_mut::precondition_check +#[track_caller] fn impl_SliceIndex_slice_for_Range_usize::get_unchecked_mut::precondition_check(start: usize, end: usize, len: usize) { let _0: (); // return @@ -1290,6 +1304,7 @@ fn impl_SliceIndex_slice_for_Range_usize::get_unchecked_mut::precondition_check( } // Full name: core::slice::index::{impl SliceIndex<[T]> for Range[{built_in impl Sized for usize}]}::get_unchecked_mut +#[track_caller] pub unsafe fn impl_SliceIndex_slice_for_Range_usize::get_unchecked_mut(self: Range[{built_in impl Sized for usize}], slice: *mut [T]) -> *mut [T] where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/simple/struct-with-drops.out b/charon/tests/ui/simple/struct-with-drops.out index f74f45ab5..675ae48a7 100644 --- a/charon/tests/ui/simple/struct-with-drops.out +++ b/charon/tests/ui/simple/struct-with-drops.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/supertrait-impl-with-assoc-type-constraint.out b/charon/tests/ui/simple/supertrait-impl-with-assoc-type-constraint.out index eed7a8c64..f6f55f6bc 100644 --- a/charon/tests/ui/simple/supertrait-impl-with-assoc-type-constraint.out +++ b/charon/tests/ui/simple/supertrait-impl-with-assoc-type-constraint.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/thread-local.out b/charon/tests/ui/simple/thread-local.out index bd249d103..c8afa643c 100644 --- a/charon/tests/ui/simple/thread-local.out +++ b/charon/tests/ui/simple/thread-local.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -34,6 +37,7 @@ impl Clone for ! { } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -59,6 +63,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -67,6 +72,7 @@ pub trait Tuple } // Full name: core::mem::needs_drop +#[rustc_diagnostic_item = "needs_drop"] #[diagnostic_item("needs_drop")] pub fn needs_drop() -> bool where @@ -74,6 +80,7 @@ where = // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -87,6 +94,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -99,6 +107,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { @@ -111,6 +120,7 @@ pub trait Fn } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -188,6 +198,7 @@ where = // Full name: std::thread::local::LocalKey +#[rustc_diagnostic_item = "LocalKey"] #[diagnostic_item("LocalKey")] pub opaque type LocalKey where @@ -201,6 +212,7 @@ where = // Full name: test_crate::FOO::__rust_std_internal_init_fn +#[inline(hint)] fn __rust_std_internal_init_fn() -> u32 { let _0: u32; // return diff --git a/charon/tests/ui/simple/trait-alias.out b/charon/tests/ui/simple/trait-alias.out index 616435ac1..511ce68ba 100644 --- a/charon/tests/ui/simple/trait-alias.out +++ b/charon/tests/ui/simple/trait-alias.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -31,6 +34,7 @@ pub trait Destruct } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -54,6 +58,7 @@ trait Trait struct Struct {} // Full name: test_crate::{impl Clone for Struct}::clone +#[inline(hint)] pub fn clone<'_0>(self: &'_0 Struct) -> Struct { let _0: Struct; // return diff --git a/charon/tests/ui/simple/trait-default-const-cross-crate.out b/charon/tests/ui/simple/trait-default-const-cross-crate.out index bf6a0aee4..92571cef4 100644 --- a/charon/tests/ui/simple/trait-default-const-cross-crate.out +++ b/charon/tests/ui/simple/trait-default-const-cross-crate.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/trait-default-const.out b/charon/tests/ui/simple/trait-default-const.out index 4e117d3b4..a4ba9fbf0 100644 --- a/charon/tests/ui/simple/trait-default-const.out +++ b/charon/tests/ui/simple/trait-default-const.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/trivial_generic_function.out b/charon/tests/ui/simple/trivial_generic_function.out index 5a80bc998..d33446c7f 100644 --- a/charon/tests/ui/simple/trivial_generic_function.out +++ b/charon/tests/ui/simple/trivial_generic_function.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/simple/vec-push.out b/charon/tests/ui/simple/vec-push.out index e46f70ad1..86801b9af 100644 --- a/charon/tests/ui/simple/vec-push.out +++ b/charon/tests/ui/simple/vec-push.out @@ -5,10 +5,12 @@ pub opaque type Layout // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -135,6 +137,7 @@ where pub opaque type UsizeNoHighBit // Full name: core::ptr::non_null::NonNull +#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub opaque type NonNull @@ -177,6 +180,7 @@ where = // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub struct Vec where diff --git a/charon/tests/ui/simple/vec-with-capacity.out b/charon/tests/ui/simple/vec-with-capacity.out index 38b0881d6..767e73641 100644 --- a/charon/tests/ui/simple/vec-with-capacity.out +++ b/charon/tests/ui/simple/vec-with-capacity.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -78,6 +80,7 @@ where = // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub struct Vec where @@ -329,6 +332,7 @@ where } // Full name: alloc::vec::{Vec[TraitClause0, {built_in impl Sized for Global}]}::with_capacity +#[rustc_diagnostic_item = "vec_with_capacity"] #[diagnostic_item("vec_with_capacity")] pub fn with_capacity(capacity: usize) -> Vec[TraitClause0, {built_in impl Sized for Global}] where diff --git a/charon/tests/ui/simple/well-formedness-bound.out b/charon/tests/ui/simple/well-formedness-bound.out index a70b64028..d693fdf03 100644 --- a/charon/tests/ui/simple/well-formedness-bound.out +++ b/charon/tests/ui/simple/well-formedness-bound.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/skip-borrowck.out b/charon/tests/ui/skip-borrowck.out index 41452b682..775ceb08b 100644 --- a/charon/tests/ui/skip-borrowck.out +++ b/charon/tests/ui/skip-borrowck.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/slice-index-range.out b/charon/tests/ui/slice-index-range.out index d8fe651d3..be3489de0 100644 --- a/charon/tests/ui/slice-index-range.out +++ b/charon/tests/ui/slice-index-range.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized @@ -17,6 +18,7 @@ pub trait Index } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -35,6 +37,7 @@ where TypeOutlives2: I: '_0, = +#[track_caller] fn core::slice::index::slice_index_fail::do_panic::runtime(start: usize, len: usize) -> ! { let _0: !; // return @@ -139,6 +142,7 @@ fn core::slice::index::slice_index_fail::do_panic::runtime(start: usize, len: us panic(core::panicking::panic_fmt) } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic#1::runtime(end: usize, len: usize) -> ! { let _0: !; // return @@ -243,6 +247,7 @@ fn core::slice::index::slice_index_fail::do_panic#1::runtime(end: usize, len: us panic(core::panicking::panic_fmt) } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic#2::runtime(start: usize, end: usize) -> ! { let _0: !; // return @@ -347,6 +352,7 @@ fn core::slice::index::slice_index_fail::do_panic#2::runtime(start: usize, end: panic(core::panicking::panic_fmt) } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic#3::runtime(end: usize, len: usize) -> ! { let _0: !; // return @@ -452,6 +458,7 @@ fn core::slice::index::slice_index_fail::do_panic#3::runtime(end: usize, len: us } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -476,6 +483,7 @@ where end: Idx, } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic(start: usize, len: usize) -> ! { let _0: !; // return @@ -501,6 +509,7 @@ fn core::slice::index::slice_index_fail::do_panic(start: usize, len: usize) -> ! unwind_continue } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic#1(end: usize, len: usize) -> ! { let _0: !; // return @@ -526,6 +535,7 @@ fn core::slice::index::slice_index_fail::do_panic#1(end: usize, len: usize) -> ! unwind_continue } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic#2(start: usize, end: usize) -> ! { let _0: !; // return @@ -551,6 +561,7 @@ fn core::slice::index::slice_index_fail::do_panic#2(start: usize, end: usize) -> unwind_continue } +#[track_caller] fn core::slice::index::slice_index_fail::do_panic#3(end: usize, len: usize) -> ! { let _0: !; // return @@ -577,6 +588,7 @@ fn core::slice::index::slice_index_fail::do_panic#3(end: usize, len: usize) -> ! } // Full name: core::panicking::panic_nounwind_fmt +#[track_caller] pub fn panic_nounwind_fmt<'_0>(_1: Arguments<'_0>, _2: bool) -> ! = @@ -591,6 +603,7 @@ where = // Full name: core::slice::index::SliceIndex +#[rustc_diagnostic_item = "SliceIndex"] #[diagnostic_item("SliceIndex")] pub trait SliceIndex { @@ -659,6 +672,7 @@ where } // Full name: core::slice::index::slice_index_fail +#[track_caller] fn slice_index_fail(start: usize, end: usize, len: usize) -> ! { let _0: !; // return @@ -1214,6 +1228,7 @@ where } // Full name: core::slice::index::{impl SliceIndex<[T]> for Range[{built_in impl Sized for usize}]}::get_unchecked_mut::precondition_check +#[track_caller] fn impl_SliceIndex_slice_for_Range_usize::get_unchecked_mut::precondition_check(start: usize, end: usize, len: usize) { let _0: (); // return @@ -1289,6 +1304,7 @@ fn impl_SliceIndex_slice_for_Range_usize::get_unchecked_mut::precondition_check( } // Full name: core::slice::index::{impl SliceIndex<[T]> for Range[{built_in impl Sized for usize}]}::get_unchecked_mut +#[track_caller] pub unsafe fn get_unchecked_mut(self: Range[{built_in impl Sized for usize}], slice: *mut [T]) -> *mut [T] where TraitClause0: (T: Sized), @@ -1369,6 +1385,7 @@ where } // Full name: core::slice::index::{impl SliceIndex<[T]> for Range[{built_in impl Sized for usize}]}::get_unchecked::precondition_check +#[track_caller] fn impl_SliceIndex_slice_for_Range_usize::get_unchecked::precondition_check(start: usize, end: usize, len: usize) { let _0: (); // return @@ -1444,6 +1461,7 @@ fn impl_SliceIndex_slice_for_Range_usize::get_unchecked::precondition_check(star } // Full name: core::slice::index::{impl SliceIndex<[T]> for Range[{built_in impl Sized for usize}]}::get_unchecked +#[track_caller] pub unsafe fn get_unchecked(self: Range[{built_in impl Sized for usize}], slice: *const [T]) -> *const [T] where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/string-literal.out b/charon/tests/ui/string-literal.out index 937db748f..9855fbf00 100644 --- a/charon/tests/ui/string-literal.out +++ b/charon/tests/ui/string-literal.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/traits.out b/charon/tests/ui/traits.out index 8ab6e137c..d61dd4982 100644 --- a/charon/tests/ui/traits.out +++ b/charon/tests/ui/traits.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -42,6 +46,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -54,6 +59,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { @@ -66,6 +72,7 @@ pub trait Fn } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -84,6 +91,7 @@ where = // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/traits/default-method-with-item-bound.2.out b/charon/tests/ui/traits/default-method-with-item-bound.2.out index c24c9ddcc..b7b7861a5 100644 --- a/charon/tests/ui/traits/default-method-with-item-bound.2.out +++ b/charon/tests/ui/traits/default-method-with-item-bound.2.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/traits/default-method-with-item-bound.3.out b/charon/tests/ui/traits/default-method-with-item-bound.3.out index d39804573..1b47f78af 100644 --- a/charon/tests/ui/traits/default-method-with-item-bound.3.out +++ b/charon/tests/ui/traits/default-method-with-item-bound.3.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/traits/default-method-with-item-bound.4.out b/charon/tests/ui/traits/default-method-with-item-bound.4.out index 2959b086e..3460374b5 100644 --- a/charon/tests/ui/traits/default-method-with-item-bound.4.out +++ b/charon/tests/ui/traits/default-method-with-item-bound.4.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/traits/default-method-with-item-bound.5.out b/charon/tests/ui/traits/default-method-with-item-bound.5.out index b18d6d4a0..f46bfda7d 100644 --- a/charon/tests/ui/traits/default-method-with-item-bound.5.out +++ b/charon/tests/ui/traits/default-method-with-item-bound.5.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -21,6 +24,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -34,6 +38,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { diff --git a/charon/tests/ui/traits/default-method-with-item-bound.6.out b/charon/tests/ui/traits/default-method-with-item-bound.6.out index 8a13b7197..730efacc7 100644 --- a/charon/tests/ui/traits/default-method-with-item-bound.6.out +++ b/charon/tests/ui/traits/default-method-with-item-bound.6.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/traits/default-method-with-item-bound.out b/charon/tests/ui/traits/default-method-with-item-bound.out index bb1fe7ec6..de533045b 100644 --- a/charon/tests/ui/traits/default-method-with-item-bound.out +++ b/charon/tests/ui/traits/default-method-with-item-bound.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -33,6 +37,7 @@ pub trait Copy } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/traits/issue-1242-dyn-send-supertrait.out b/charon/tests/ui/traits/issue-1242-dyn-send-supertrait.out index 4ee47a311..b9928cb64 100644 --- a/charon/tests/ui/traits/issue-1242-dyn-send-supertrait.out +++ b/charon/tests/ui/traits/issue-1242-dyn-send-supertrait.out @@ -3,12 +3,14 @@ opaque type core::marker::Send::{vtable} // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/traits/issue-513-gat-clause-mismatch-use-clause.out b/charon/tests/ui/traits/issue-513-gat-clause-mismatch-use-clause.out index e007b0f33..f620bb32a 100644 --- a/charon/tests/ui/traits/issue-513-gat-clause-mismatch-use-clause.out +++ b/charon/tests/ui/traits/issue-513-gat-clause-mismatch-use-clause.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -20,10 +21,12 @@ impl "impl_PartialEq_u32_for_u32" PartialEq for u32 { } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/traits/issue-513-gat-clause-mismatch.out b/charon/tests/ui/traits/issue-513-gat-clause-mismatch.out index 54a4e5516..16feb800e 100644 --- a/charon/tests/ui/traits/issue-513-gat-clause-mismatch.out +++ b/charon/tests/ui/traits/issue-513-gat-clause-mismatch.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/traits/issue-513-method-clause-mismatch-and-default-call.out b/charon/tests/ui/traits/issue-513-method-clause-mismatch-and-default-call.out index 56b03835e..be6c57912 100644 --- a/charon/tests/ui/traits/issue-513-method-clause-mismatch-and-default-call.out +++ b/charon/tests/ui/traits/issue-513-method-clause-mismatch-and-default-call.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/traits/issue-513-method-clause-mismatch.out b/charon/tests/ui/traits/issue-513-method-clause-mismatch.out index b58f43334..354af88bf 100644 --- a/charon/tests/ui/traits/issue-513-method-clause-mismatch.out +++ b/charon/tests/ui/traits/issue-513-method-clause-mismatch.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/traits/issue-513-method-late-bound-mismatch.out b/charon/tests/ui/traits/issue-513-method-late-bound-mismatch.out index c07809016..a1c9f71a4 100644 --- a/charon/tests/ui/traits/issue-513-method-late-bound-mismatch.out +++ b/charon/tests/ui/traits/issue-513-method-late-bound-mismatch.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/traits/pointee-metadata-bounds.out b/charon/tests/ui/traits/pointee-metadata-bounds.out index 5dd62900b..e162a94db 100644 --- a/charon/tests/ui/traits/pointee-metadata-bounds.out +++ b/charon/tests/ui/traits/pointee-metadata-bounds.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -32,6 +36,7 @@ pub trait PartialEq } // Full name: core::cmp::Eq +#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -48,6 +53,7 @@ pub enum Ordering { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -59,6 +65,7 @@ where } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -69,6 +76,7 @@ pub trait PartialOrd } // Full name: core::cmp::Ord +#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -88,6 +96,7 @@ pub trait Hasher } // Full name: core::hash::Hash +#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -96,10 +105,12 @@ pub trait Hash } // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -110,6 +121,7 @@ pub trait Copy } // Full name: core::marker::Sync +#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync diff --git a/charon/tests/ui/traits/remove-self-clause-on-closure.out b/charon/tests/ui/traits/remove-self-clause-on-closure.out index b55edbbaa..29c4ab891 100644 --- a/charon/tests/ui/traits/remove-self-clause-on-closure.out +++ b/charon/tests/ui/traits/remove-self-clause-on-closure.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -21,6 +23,7 @@ pub trait Destruct } // Full name: core::marker::Tuple +#[fundamental] #[lang_item(Tuple)] pub trait Tuple { @@ -29,6 +32,7 @@ pub trait Tuple } // Full name: core::ops::function::FnOnce +#[fundamental] #[lang_item(FnOnce)] pub trait FnOnce { @@ -41,6 +45,7 @@ pub trait FnOnce } // Full name: core::ops::function::FnMut +#[fundamental] #[lang_item(FnMut)] pub trait FnMut { @@ -53,6 +58,7 @@ pub trait FnMut } // Full name: core::ops::function::Fn +#[fundamental] #[lang_item(Fn)] pub trait Fn { diff --git a/charon/tests/ui/traits/remove-unused-clauses.out b/charon/tests/ui/traits/remove-unused-clauses.out index 38f877a31..f7329bd08 100644 --- a/charon/tests/ui/traits/remove-unused-clauses.out +++ b/charon/tests/ui/traits/remove-unused-clauses.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/traits_special.out b/charon/tests/ui/traits_special.out index d3c3ff95a..48f2d3f4b 100644 --- a/charon/tests/ui/traits_special.out +++ b/charon/tests/ui/traits_special.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::result::Result +#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/type-id.out b/charon/tests/ui/type-id.out index d77d437ff..2372db526 100644 --- a/charon/tests/ui/type-id.out +++ b/charon/tests/ui/type-id.out @@ -7,10 +7,12 @@ pub struct TypeId { } // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::intrinsics::type_id +#[rustc_intrinsic] pub fn type_id() -> TypeId where TraitClause0: (T: MetaSized), @@ -45,6 +47,7 @@ where } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { diff --git a/charon/tests/ui/type_alias.out b/charon/tests/ui/type_alias.out index c7b14746b..0c22e3607 100644 --- a/charon/tests/ui/type_alias.out +++ b/charon/tests/ui/type_alias.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::borrow::Borrow +#[rustc_diagnostic_item = "Borrow"] #[diagnostic_item("Borrow")] pub trait Borrow { @@ -15,6 +17,7 @@ pub trait Borrow } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -23,6 +26,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -37,6 +41,7 @@ pub trait Clone pub struct Global {} // Full name: alloc::borrow::ToOwned +#[rustc_diagnostic_item = "ToOwned"] #[diagnostic_item("ToOwned")] pub trait ToOwned { @@ -49,6 +54,7 @@ pub trait ToOwned } // Full name: alloc::borrow::Cow +#[rustc_diagnostic_item = "Cow"] #[diagnostic_item("Cow")] pub enum Cow<'a, B> where @@ -62,6 +68,7 @@ where } // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/type_inference_is_order_dependent.out b/charon/tests/ui/type_inference_is_order_dependent.out index eaee40c25..d6c202f8c 100644 --- a/charon/tests/ui/type_inference_is_order_dependent.out +++ b/charon/tests/ui/type_inference_is_order_dependent.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::default::Default +#[rustc_diagnostic_item = "Default"] #[diagnostic_item("Default")] pub trait Default { diff --git a/charon/tests/ui/unsafe-impl-send.out b/charon/tests/ui/unsafe-impl-send.out index 14f95f9e0..a5be50e8f 100644 --- a/charon/tests/ui/unsafe-impl-send.out +++ b/charon/tests/ui/unsafe-impl-send.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send diff --git a/charon/tests/ui/unsafe.out b/charon/tests/ui/unsafe.out index 02f1ecaaa..8164f9544 100644 --- a/charon/tests/ui/unsafe.out +++ b/charon/tests/ui/unsafe.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -23,6 +26,7 @@ pub trait Clone } // Full name: core::cmp::PartialEq +#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -32,6 +36,7 @@ pub trait PartialEq } // Full name: core::cmp::Eq +#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -48,6 +53,7 @@ pub enum Ordering { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -59,6 +65,7 @@ where } // Full name: core::cmp::PartialOrd +#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -69,6 +76,7 @@ pub trait PartialOrd } // Full name: core::cmp::Ord +#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -127,6 +135,7 @@ pub trait Hasher } // Full name: core::hash::Hash +#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -148,14 +157,17 @@ impl "impl_Hash_for_unit" Hash for () { non-dyn-compatible } +#[rustc_intrinsic] pub unsafe fn core::intrinsics::assume(b_1: bool) = // Full name: core::marker::Send +#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy +#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -166,6 +178,7 @@ pub trait Copy } // Full name: core::marker::Sync +#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync @@ -179,6 +192,7 @@ pub trait Freeze pub trait Unpin // Full name: core::ptr::const_ptr::{*const T}::read +#[track_caller] pub unsafe fn read(_1: *const T) -> T where TraitClause0: (T: Sized), @@ -202,6 +216,7 @@ pub trait Pointee } // Full name: core::ptr::null +#[rustc_diagnostic_item = "ptr_null"] #[diagnostic_item("ptr_null")] pub fn null() -> *const T where diff --git a/charon/tests/ui/unsize.out b/charon/tests/ui/unsize.out index b57f5fe7d..be07afdb5 100644 --- a/charon/tests/ui/unsize.out +++ b/charon/tests/ui/unsize.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -26,6 +28,7 @@ where = // Full name: alloc::rc::Rc +#[rustc_diagnostic_item = "Rc"] #[diagnostic_item("Rc")] pub opaque type Rc where @@ -54,6 +57,7 @@ pub opaque type String unsafe fn impl_Destruct_for_String::drop_glue<'_0>(_1: &'_0 mut String) = +#[rustc_diagnostic_item = "string_new"] #[diagnostic_item("string_new")] pub fn alloc::string::{String}::new() -> String = diff --git a/charon/tests/ui/unsized-string-consts.out b/charon/tests/ui/unsized-string-consts.out index f6210eda7..22671f330 100644 --- a/charon/tests/ui/unsized-string-consts.out +++ b/charon/tests/ui/unsized-string-consts.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/unsupported/issue-79-bound-regions.out b/charon/tests/ui/unsupported/issue-79-bound-regions.out index 6482fafc4..4082afa5b 100644 --- a/charon/tests/ui/unsupported/issue-79-bound-regions.out +++ b/charon/tests/ui/unsupported/issue-79-bound-regions.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -24,6 +27,7 @@ where } // Full name: core::slice::iter::Iter +#[rustc_diagnostic_item = "SliceIter"] #[diagnostic_item("SliceIter")] pub opaque type Iter<'a, T> where @@ -41,6 +45,7 @@ where = // Full name: core::slice::{[T]}::iter +#[rustc_diagnostic_item = "slice_iter"] #[diagnostic_item("slice_iter")] pub fn iter<'_0, T>(_1: &'_0 [T]) -> Iter<'_0, T>[TraitClause0] where diff --git a/charon/tests/ui/unwind-llbc.out b/charon/tests/ui/unwind-llbc.out index 996785f6f..df7ba34bd 100644 --- a/charon/tests/ui/unwind-llbc.out +++ b/charon/tests/ui/unwind-llbc.out @@ -1,6 +1,7 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized diff --git a/charon/tests/ui/variadics.out b/charon/tests/ui/variadics.out index 49d336b8d..f418d24f1 100644 --- a/charon/tests/ui/variadics.out +++ b/charon/tests/ui/variadics.out @@ -11,6 +11,7 @@ where = // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized @@ -29,6 +30,7 @@ impl "impl_VaArgSafe_for_i32" VaArgSafe for i32 { } // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -37,6 +39,7 @@ pub trait Sized } // Full name: core::ffi::va_list::{VaList<'f>}::next_arg +#[track_caller] pub unsafe fn next_arg<'f, '_1, T>(_1: &'_1 mut VaList<'f>) -> T where TraitClause0: (T: Sized), diff --git a/charon/tests/ui/vec-reconstruct-move-values.out b/charon/tests/ui/vec-reconstruct-move-values.out index 934429062..16273733d 100644 --- a/charon/tests/ui/vec-reconstruct-move-values.out +++ b/charon/tests/ui/vec-reconstruct-move-values.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -32,6 +34,7 @@ where = // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/vec-reconstruct-multiple-adjacent.out b/charon/tests/ui/vec-reconstruct-multiple-adjacent.out index 4ec89c62c..c22841757 100644 --- a/charon/tests/ui/vec-reconstruct-multiple-adjacent.out +++ b/charon/tests/ui/vec-reconstruct-multiple-adjacent.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -13,6 +15,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -53,6 +56,7 @@ where = // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -76,6 +80,7 @@ where = // Full name: alloc::vec::from_elem +#[rustc_diagnostic_item = "vec_from_elem"] #[diagnostic_item("vec_from_elem")] pub fn from_elem(_1: T, _2: usize) -> Vec[TraitClause0, {built_in impl Sized for Global}] where diff --git a/charon/tests/ui/vec-reconstruct-nested.out b/charon/tests/ui/vec-reconstruct-nested.out index 351407e5d..9781ea68f 100644 --- a/charon/tests/ui/vec-reconstruct-nested.out +++ b/charon/tests/ui/vec-reconstruct-nested.out @@ -1,10 +1,12 @@ # Final LLBC before serialization: // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -32,6 +34,7 @@ where = // Full name: alloc::vec::Vec +#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/vtable-simple.out b/charon/tests/ui/vtable-simple.out index 7e4d4086c..4188dc810 100644 --- a/charon/tests/ui/vtable-simple.out +++ b/charon/tests/ui/vtable-simple.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -15,6 +17,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone diff --git a/charon/tests/ui/vtable_drop.out b/charon/tests/ui/vtable_drop.out index 4437e83d5..bcd961c4f 100644 --- a/charon/tests/ui/vtable_drop.out +++ b/charon/tests/ui/vtable_drop.out @@ -11,10 +11,12 @@ pub trait Destruct opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -23,6 +25,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone diff --git a/charon/tests/ui/vtables.out b/charon/tests/ui/vtables.out index 4f50a8ca5..9463703d6 100644 --- a/charon/tests/ui/vtables.out +++ b/charon/tests/ui/vtables.out @@ -3,10 +3,12 @@ opaque type core::marker::MetaSized::{vtable} // Full name: core::marker::MetaSized +#[fundamental] #[lang_item(MetaSized)] pub trait MetaSized // Full name: core::marker::Sized +#[fundamental] #[lang_item(Sized)] pub trait Sized { @@ -15,6 +17,7 @@ pub trait Sized } // Full name: core::clone::Clone +#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -36,6 +39,7 @@ impl "impl_Clone_for_i32" Clone for i32 { } // Full name: core::option::Option +#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option From e272794d4306d1be267dc796c240f04ae2abd8dc Mon Sep 17 00:00:00 2001 From: N1ark Date: Thu, 20 Aug 2026 17:11:12 +0200 Subject: [PATCH 3/3] Translate RustcTestEntrypointMarker, remove diag --- charon-ml/src/CharonVersion.ml | 2 +- charon-ml/src/generated/Generated_Meta.ml | 4 +- charon-ml/src/generated/Generated_OfJson.ml | 5 +- .../src/generated/Generated_OfPostcard.ml | 6 +- charon/Cargo.lock | 2 +- charon/Cargo.toml | 2 +- charon/src/ast/from_rustc.rs | 2 - .../translate/translate_from_rustc.rs | 3 - charon/src/bin/generate-asts/generate_rust.rs | 1 - charon/src/pretty/fmt_with_ctx.rs | 3 - charon/tests/cargo/dependencies.out | 1 - charon/tests/cargo/issue-396-lib-bin.out | 3 - charon/tests/cargo/issue-412-dup-deps.out | 1 - charon/tests/cargo/test-attributes.out | 7 --- charon/tests/cargo/toml.out | 1 - charon/tests/ui/advanced-const-generics.out | 3 - charon/tests/ui/arrays.out | 2 - .../ui/associated_types/associated-types.out | 6 -- .../dictionary_passing_style_woes.out | 2 - ...ulted-method-with-clause-with-assoc-ty.out | 1 - ...-1078-default-assoc-ty-self-ref-clause.out | 1 - .../mem-discriminant-from-derive.out | 1 - .../ui/associated_types/pointee_metadata.out | 10 ---- charon/tests/ui/borrowck-statements.out | 3 - .../tests/ui/call-to-known-trait-method.out | 3 - charon/tests/ui/closures.out | 2 - charon/tests/ui/comments.out | 2 - .../evaluate-consts-recursive-static.out | 2 - .../tests/ui/consts/ptr-null-constevalval.out | 3 - .../ui/consts/string-new-constevalval.out | 3 - .../issue-1051-missing-loop-jump.out | 6 -- .../tests/ui/control-flow/issue-297-cfg.out | 2 - charon/tests/ui/control-flow/loops.out | 8 --- .../ui/control-flow/simple-fallthrough.out | 1 - .../ui/control-flow/ullbc-control-flow.out | 6 -- charon/tests/ui/copy_nonoverlapping.out | 8 --- charon/tests/ui/cross_compile_32_bit.out | 1 - charon/tests/ui/desugar_drops_to_calls.out | 1 - .../tests/ui/desugar_drops_to_calls_mono.out | 1 - charon/tests/ui/dyn-trait.out | 2 - charon/tests/ui/external.out | 9 --- ...e-1270-start-from-pub-skip-foreign-pub.out | 3 - charon/tests/ui/filtering/opacity.out | 2 - .../tests/ui/filtering/opaque_attribute.out | 1 - charon/tests/ui/find-sized-clause.out | 1 - charon/tests/ui/foreign-type-alias.out | 5 -- charon/tests/ui/gosim-demo.out | 2 - charon/tests/ui/impl-trait.out | 2 - charon/tests/ui/issue-114-opaque-bodies.out | 5 -- charon/tests/ui/issue-118-generic-copy.out | 2 - .../ui/issue-120-bare-discriminant-read.out | 1 - charon/tests/ui/issue-165-vec-macro.out | 3 - .../ui/issue-369-mismatched-genericparams.out | 1 - charon/tests/ui/issue-378-ctor-as-fn.out | 2 - .../tests/ui/issue-394-rpit-with-lifetime.out | 1 - .../ui/issue-395-failed-to-normalize.out | 2 - .../tests/ui/issue-4-slice-try-into-array.out | 4 -- charon/tests/ui/issue-4-traits.out | 4 -- charon/tests/ui/issue-45-misc.out | 6 -- .../issue-70-override-provided-method.3.out | 4 -- .../ui/issue-70-override-provided-method.out | 3 - .../ui/issue-91-enum-to-discriminant-cast.out | 2 - charon/tests/ui/iterator.out | 59 ------------------- .../tests/ui/method-impl-generalization.out | 2 - .../tests/ui/ml-mono-name-matcher-tests.out | 1 - charon/tests/ui/ml-name-matcher-tests.out | 2 - .../ui/ml-partial-mono-name-matcher-tests.out | 1 - charon/tests/ui/monomorphization/adt_proj.out | 1 - .../ui/monomorphization/bound_lifetime.out | 1 - .../ui/monomorphization/closure-fnonce.out | 1 - charon/tests/ui/monomorphization/closures.out | 1 - .../ui/monomorphization/fn_ptr_generics.out | 1 - .../issue-1159-assoc-const.out | 2 - .../issue-922-assoc-const-with-default.out | 1 - charon/tests/ui/monomorphization/rec-adt.out | 2 - charon/tests/ui/monomorphize-mut-no-types.out | 1 - charon/tests/ui/monomorphize-mut.out | 6 -- charon/tests/ui/multi-target/cstr.out | 2 - .../issue-1213-merge-methods-when-missing.out | 5 -- .../issue-1307-required-method.out | 1 - .../multi-target-from-symcrypt.out | 8 --- .../multi-target/multi-targets-file-ids.out | 8 --- charon/tests/ui/polonius_map.out | 9 --- .../ui/predicates-on-late-bound-vars.out | 5 -- charon/tests/ui/ptr-offset.out | 2 - charon/tests/ui/ptr_no_provenance.out | 12 ---- charon/tests/ui/quantified-clause.out | 6 -- charon/tests/ui/raw-boxes.out | 15 ----- charon/tests/ui/region-inference-vars.out | 1 - .../invalid-reconstruct-assert.out | 1 - .../regressions/issue-1067-filename-ice.out | 3 - .../issue-1074-vtable-supertrait.out | 1 - .../issue-1294-remove-clause-underflow.out | 1 - .../issue-1297-box-new-allocator-ty.out | 1 - .../issue-393-vec-with-control-flow.out | 2 - charon/tests/ui/result-unwrap.out | 1 - charon/tests/ui/rust-name-matcher-tests.out | 1 - charon/tests/ui/rvalues.out | 2 - charon/tests/ui/send_bound.out | 1 - charon/tests/ui/simple/additions.out | 2 - .../simple/assoc-const-with-self-clause.out | 1 - charon/tests/ui/simple/box-dyn-fnonce-raw.out | 3 - charon/tests/ui/simple/box-new.out | 3 - charon/tests/ui/simple/catch-unwind.out | 4 -- charon/tests/ui/simple/closure-fnonce.out | 1 - .../ui/simple/closure-inside-inline-const.out | 1 - charon/tests/ui/simple/closure-with-drops.out | 1 - .../closure-with-remove-adt-clauses.out | 2 - charon/tests/ui/simple/defaulted-rpitit.3.out | 3 - charon/tests/ui/simple/drop-cow.out | 2 - .../tests/ui/simple/drop-string-desugar.out | 2 - charon/tests/ui/simple/drop-string.out | 2 - .../simple/fewer-clauses-in-method-impl.out | 2 - charon/tests/ui/simple/fn_ptr_trait.out | 2 - .../tests/ui/simple/foreign-inline-const.out | 1 - .../ui/simple/gat-check-binder-levels.out | 1 - charon/tests/ui/simple/gat-default.out | 1 - charon/tests/ui/simple/gat-implied-clause.out | 1 - .../tests/ui/simple/generic-cast-to-dyn.out | 1 - .../tests/ui/simple/generic-discriminant.out | 8 --- .../generic-impl-with-defaulted-method.out | 1 - charon/tests/ui/simple/hide-drops.out | 1 - .../intrinsic-same-name-across-modules.out | 2 - .../tests/ui/simple/lending-iterator-gat.out | 1 - .../lifetime-unification-from-trait-impl.out | 1 - charon/tests/ui/simple/manual-drop-impl.out | 1 - .../simple/metadata-without-marker-trait.out | 1 - charon/tests/ui/simple/min.out | 1 - .../ui/simple/nested-closure-lifetime.out | 1 - .../ui/simple/nested-closure-trait-ref.out | 1 - charon/tests/ui/simple/nested-closure.out | 1 - charon/tests/ui/simple/non-lifetime-gats.out | 1 - charon/tests/ui/simple/partial-drop.out | 1 - .../ui/simple/promoted-in-generic-fn.out | 1 - charon/tests/ui/simple/ptr-from-raw-parts.out | 10 ---- charon/tests/ui/simple/ptr_metadata.out | 11 ---- charon/tests/ui/simple/range-iter.out | 6 -- .../tests/ui/simple/rpitit-with-lifetime.out | 2 - charon/tests/ui/simple/slice_index_range.out | 2 - charon/tests/ui/simple/thread-local.out | 5 -- charon/tests/ui/simple/trait-alias.out | 2 - charon/tests/ui/simple/vec-push.out | 2 - charon/tests/ui/simple/vec-with-capacity.out | 2 - .../tests/ui/simple/well-formedness-bound.out | 1 - charon/tests/ui/slice-index-range.out | 2 - charon/tests/ui/traits.out | 2 - .../traits/default-method-with-item-bound.out | 3 - .../traits/issue-1242-dyn-send-supertrait.out | 1 - ...sue-513-gat-clause-mismatch-use-clause.out | 1 - .../traits/issue-513-gat-clause-mismatch.out | 2 - ...ethod-clause-mismatch-and-default-call.out | 2 - .../issue-513-method-clause-mismatch.out | 2 - .../ui/traits/pointee-metadata-bounds.out | 10 ---- charon/tests/ui/traits_special.out | 1 - charon/tests/ui/type_alias.out | 5 -- .../ui/type_inference_is_order_dependent.out | 1 - charon/tests/ui/unsafe-impl-send.out | 1 - charon/tests/ui/unsafe.out | 11 ---- charon/tests/ui/unsize.out | 2 - .../ui/unsupported/issue-79-bound-regions.out | 3 - .../tests/ui/vec-reconstruct-move-values.out | 1 - .../ui/vec-reconstruct-multiple-adjacent.out | 3 - charon/tests/ui/vec-reconstruct-nested.out | 1 - charon/tests/ui/vtable-simple.out | 1 - charon/tests/ui/vtable_drop.out | 1 - charon/tests/ui/vtables.out | 2 - 166 files changed, 9 insertions(+), 509 deletions(-) diff --git a/charon-ml/src/CharonVersion.ml b/charon-ml/src/CharonVersion.ml index 9adcfa763..bee0ea833 100644 --- a/charon-ml/src/CharonVersion.ml +++ b/charon-ml/src/CharonVersion.ml @@ -1,3 +1,3 @@ (* This is an automatically generated file, generated from `charon/Cargo.toml`. *) (* To re-generate this file, rune `make` in the root directory *) -let supported_charon_version = "0.1.236" +let supported_charon_version = "0.1.237" diff --git a/charon-ml/src/generated/Generated_Meta.ml b/charon-ml/src/generated/Generated_Meta.ml index 002e5fc43..c503fc4b2 100644 --- a/charon-ml/src/generated/Generated_Meta.ml +++ b/charon-ml/src/generated/Generated_Meta.ml @@ -205,9 +205,9 @@ and rustc_attribute_kind = Fields: - [align] - [span] *) - | RustcAttributeKindRustcDiagnosticItem of string - (** Represents [#[rustc_diagnostic_item]] *) | RustcAttributeKindRustcIntrinsic (** Represents [#[rustc_intrinsic]] *) + | RustcAttributeKindRustcTestEntrypointMarker + (** Represents [#[rustc_test_entrypoint_marker]] *) | RustcAttributeKindShouldPanic of string option (** Represents [#[should_panic]] diff --git a/charon-ml/src/generated/Generated_OfJson.ml b/charon-ml/src/generated/Generated_OfJson.ml index 1ef9bc298..8977bd40d 100644 --- a/charon-ml/src/generated/Generated_OfJson.ml +++ b/charon-ml/src/generated/Generated_OfJson.ml @@ -2079,10 +2079,9 @@ and rustc_attribute_kind_of_json (ctx : of_json_ctx) (js : json) : let* align = int_of_json ctx align in let* span = span_of_json ctx span in Ok (RustcAttributeKindRustcAlign (align, span)) - | `Assoc [ ("RustcDiagnosticItem", _0) ] -> - let* _0 = string_of_json ctx _0 in - Ok (RustcAttributeKindRustcDiagnosticItem _0) | `String "RustcIntrinsic" -> Ok RustcAttributeKindRustcIntrinsic + | `String "RustcTestEntrypointMarker" -> + Ok RustcAttributeKindRustcTestEntrypointMarker | `Assoc [ ("ShouldPanic", `Assoc [ ("reason", reason) ]) ] -> let* reason = option_of_json string_of_json ctx reason in Ok (RustcAttributeKindShouldPanic reason) diff --git a/charon-ml/src/generated/Generated_OfPostcard.ml b/charon-ml/src/generated/Generated_OfPostcard.ml index 6970626b5..b09396682 100644 --- a/charon-ml/src/generated/Generated_OfPostcard.ml +++ b/charon-ml/src/generated/Generated_OfPostcard.ml @@ -1818,10 +1818,8 @@ and rustc_attribute_kind_of_postcard (ctx : of_postcard_ctx) let* align = u64_of_postcard ctx st in let* span = span_of_postcard ctx st in Ok (RustcAttributeKindRustcAlign (align, span)) - | 13 -> - let* _0 = string_of_postcard ctx st in - Ok (RustcAttributeKindRustcDiagnosticItem _0) - | 14 -> Ok RustcAttributeKindRustcIntrinsic + | 13 -> Ok RustcAttributeKindRustcIntrinsic + | 14 -> Ok RustcAttributeKindRustcTestEntrypointMarker | 15 -> let* reason = option_of_postcard string_of_postcard ctx st in Ok (RustcAttributeKindShouldPanic reason) diff --git a/charon/Cargo.lock b/charon/Cargo.lock index 57ccc7146..d9ccee84b 100644 --- a/charon/Cargo.lock +++ b/charon/Cargo.lock @@ -237,7 +237,7 @@ checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "charon" -version = "0.1.236" +version = "0.1.237" dependencies = [ "annotate-snippets", "anstream", diff --git a/charon/Cargo.toml b/charon/Cargo.toml index 87f6214ce..ca0854422 100644 --- a/charon/Cargo.toml +++ b/charon/Cargo.toml @@ -26,7 +26,7 @@ tracing = { version = "0.1", features = ["max_level_trace"] } [package] name = "charon" -version = "0.1.236" +version = "0.1.237" authors.workspace = true edition.workspace = true license.workspace = true diff --git a/charon/src/ast/from_rustc.rs b/charon/src/ast/from_rustc.rs index 7907f1e61..a679bc6c4 100644 --- a/charon/src/ast/from_rustc.rs +++ b/charon/src/ast/from_rustc.rs @@ -104,8 +104,6 @@ pub enum AttributeKind { Optimize(OptimizeAttr, Span), /// Represents `#[align(N)]`. RustcAlign { align: u64, span: Span }, - /// Represents `#[rustc_diagnostic_item]` - RustcDiagnosticItem(Ustr), /// Represents `#[rustc_intrinsic]` RustcIntrinsic, /// Represents `#[rustc_test_entrypoint_marker]` diff --git a/charon/src/bin/charon-driver/translate/translate_from_rustc.rs b/charon/src/bin/charon-driver/translate/translate_from_rustc.rs index d96db44a5..2e26c9f69 100644 --- a/charon/src/bin/charon-driver/translate/translate_from_rustc.rs +++ b/charon/src/bin/charon-driver/translate/translate_from_rustc.rs @@ -82,9 +82,6 @@ impl<'tcx> TranslateCtx<'tcx> { span: self.translate_span(span), }) } - AttributeKind::RustcDiagnosticItem(_0) => Ok( - from_rustc::AttributeKind::RustcDiagnosticItem((_0).to_string().into()), - ), AttributeKind::RustcIntrinsic => Ok(from_rustc::AttributeKind::RustcIntrinsic), AttributeKind::RustcTestEntrypointMarker => { Ok(from_rustc::AttributeKind::RustcTestEntrypointMarker) diff --git a/charon/src/bin/generate-asts/generate_rust.rs b/charon/src/bin/generate-asts/generate_rust.rs index b6a485bb8..c445d8616 100644 --- a/charon/src/bin/generate-asts/generate_rust.rs +++ b/charon/src/bin/generate-asts/generate_rust.rs @@ -73,7 +73,6 @@ impl RustcDatatypes { "NonExhaustive", "Optimize", "RustcAlign", - "RustcDiagnosticItem", "RustcIntrinsic", "RustcTestEntrypointMarker", "ShouldPanic", diff --git a/charon/src/pretty/fmt_with_ctx.rs b/charon/src/pretty/fmt_with_ctx.rs index dd778b981..66f99216d 100644 --- a/charon/src/pretty/fmt_with_ctx.rs +++ b/charon/src/pretty/fmt_with_ctx.rs @@ -1545,9 +1545,6 @@ impl Display for from_rustc::AttributeKind { from_rustc::OptimizeAttr::Size => write!(f, "optimize(size)"), }, AttributeKind::RustcAlign { align, .. } => write!(f, "rustc_align({align})"), - AttributeKind::RustcDiagnosticItem(name) => { - write!(f, "rustc_diagnostic_item = \"{name}\"") - } AttributeKind::RustcIntrinsic => write!(f, "rustc_intrinsic"), AttributeKind::RustcTestEntrypointMarker => write!(f, "rustc_test_entrypoint_marker"), AttributeKind::ShouldPanic { reason } => { diff --git a/charon/tests/cargo/dependencies.out b/charon/tests/cargo/dependencies.out index 991159d41..6f97190f3 100644 --- a/charon/tests/cargo/dependencies.out +++ b/charon/tests/cargo/dependencies.out @@ -42,7 +42,6 @@ pub trait FnOnce } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/cargo/issue-396-lib-bin.out b/charon/tests/cargo/issue-396-lib-bin.out index 05561908d..57def1792 100644 --- a/charon/tests/cargo/issue-396-lib-bin.out +++ b/charon/tests/cargo/issue-396-lib-bin.out @@ -18,7 +18,6 @@ pub fn hello() -> u32 pub struct Error {} // Full name: core::fmt::Formatter -#[rustc_diagnostic_item = "Formatter"] #[diagnostic_item("Formatter")] pub opaque type Formatter where @@ -51,7 +50,6 @@ pub trait Sized } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -63,7 +61,6 @@ where } // Full name: core::fmt::Display -#[rustc_diagnostic_item = "Display"] #[diagnostic_item("Display")] pub trait Display { diff --git a/charon/tests/cargo/issue-412-dup-deps.out b/charon/tests/cargo/issue-412-dup-deps.out index 4232a0687..93303d03b 100644 --- a/charon/tests/cargo/issue-412-dup-deps.out +++ b/charon/tests/cargo/issue-412-dup-deps.out @@ -19,7 +19,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/cargo/test-attributes.out b/charon/tests/cargo/test-attributes.out index 691551483..d96959ec9 100644 --- a/charon/tests/cargo/test-attributes.out +++ b/charon/tests/cargo/test-attributes.out @@ -22,7 +22,6 @@ pub trait Sized } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -34,7 +33,6 @@ where } // Full name: core::ptr::non_null::NonNull -#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub opaque type NonNull @@ -48,7 +46,6 @@ pub trait Allocator } // Full name: core::borrow::Borrow -#[rustc_diagnostic_item = "Borrow"] #[diagnostic_item("Borrow")] pub trait Borrow { @@ -67,7 +64,6 @@ pub fn from_str<'a>(_1: &'static str) -> Arguments<'a> = // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send @@ -133,7 +129,6 @@ pub trait Fn } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -190,7 +185,6 @@ impl "impl_Allocator_for_Global" Allocator for Global { } // Full name: alloc::borrow::ToOwned -#[rustc_diagnostic_item = "ToOwned"] #[diagnostic_item("ToOwned")] pub trait ToOwned { @@ -203,7 +197,6 @@ pub trait ToOwned } // Full name: alloc::borrow::Cow -#[rustc_diagnostic_item = "Cow"] #[diagnostic_item("Cow")] pub enum Cow<'a, B> where diff --git a/charon/tests/cargo/toml.out b/charon/tests/cargo/toml.out index 4036ea9db..f82c30d5e 100644 --- a/charon/tests/cargo/toml.out +++ b/charon/tests/cargo/toml.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/advanced-const-generics.out b/charon/tests/ui/advanced-const-generics.out index 82012810b..20da24f3a 100644 --- a/charon/tests/ui/advanced-const-generics.out +++ b/charon/tests/ui/advanced-const-generics.out @@ -1,7 +1,6 @@ # Final LLBC before serialization: // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -11,7 +10,6 @@ pub trait PartialEq } // Full name: core::cmp::Eq -#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -59,7 +57,6 @@ pub trait ConstParamTy_ } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/arrays.out b/charon/tests/ui/arrays.out index f51511ede..fa182756b 100644 --- a/charon/tests/ui/arrays.out +++ b/charon/tests/ui/arrays.out @@ -77,7 +77,6 @@ where } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -107,7 +106,6 @@ where } // Full name: core::slice::index::SliceIndex -#[rustc_diagnostic_item = "SliceIndex"] #[diagnostic_item("SliceIndex")] pub trait SliceIndex { diff --git a/charon/tests/ui/associated_types/associated-types.out b/charon/tests/ui/associated_types/associated-types.out index 4c3726d37..3437d52be 100644 --- a/charon/tests/ui/associated_types/associated-types.out +++ b/charon/tests/ui/associated_types/associated-types.out @@ -6,7 +6,6 @@ pub trait MetaSized // Full name: core::borrow::Borrow -#[rustc_diagnostic_item = "Borrow"] #[diagnostic_item("Borrow")] pub trait Borrow { @@ -26,7 +25,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -37,7 +35,6 @@ pub trait Clone } // Full name: core::clone::impls::{impl Clone for &'_0 T}::clone -#[rustc_diagnostic_item = "noop_method_clone"] #[diagnostic_item("noop_method_clone")] pub fn {impl Clone for &'_0 T}::clone<'_0, '_1, T>(_1: &'_1 &'_0 T) -> &'_0 T where @@ -56,7 +53,6 @@ where } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -85,7 +81,6 @@ pub trait Destruct } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -129,7 +124,6 @@ where } // Full name: alloc::borrow::ToOwned -#[rustc_diagnostic_item = "ToOwned"] #[diagnostic_item("ToOwned")] pub trait ToOwned { diff --git a/charon/tests/ui/associated_types/dictionary_passing_style_woes.out b/charon/tests/ui/associated_types/dictionary_passing_style_woes.out index 489d62d45..e3b6371e7 100644 --- a/charon/tests/ui/associated_types/dictionary_passing_style_woes.out +++ b/charon/tests/ui/associated_types/dictionary_passing_style_woes.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/associated_types/generic-impl-with-defaulted-method-with-clause-with-assoc-ty.out b/charon/tests/ui/associated_types/generic-impl-with-defaulted-method-with-clause-with-assoc-ty.out index d5cd9c9c9..b7a671253 100644 --- a/charon/tests/ui/associated_types/generic-impl-with-defaulted-method-with-clause-with-assoc-ty.out +++ b/charon/tests/ui/associated_types/generic-impl-with-defaulted-method-with-clause-with-assoc-ty.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/associated_types/issue-1078-default-assoc-ty-self-ref-clause.out b/charon/tests/ui/associated_types/issue-1078-default-assoc-ty-self-ref-clause.out index 7f5aed886..7a2b8cce9 100644 --- a/charon/tests/ui/associated_types/issue-1078-default-assoc-ty-self-ref-clause.out +++ b/charon/tests/ui/associated_types/issue-1078-default-assoc-ty-self-ref-clause.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/associated_types/mem-discriminant-from-derive.out b/charon/tests/ui/associated_types/mem-discriminant-from-derive.out index f363d38da..07fd30967 100644 --- a/charon/tests/ui/associated_types/mem-discriminant-from-derive.out +++ b/charon/tests/ui/associated_types/mem-discriminant-from-derive.out @@ -1,7 +1,6 @@ # Final LLBC before serialization: // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq diff --git a/charon/tests/ui/associated_types/pointee_metadata.out b/charon/tests/ui/associated_types/pointee_metadata.out index ac30d032c..db3b6657f 100644 --- a/charon/tests/ui/associated_types/pointee_metadata.out +++ b/charon/tests/ui/associated_types/pointee_metadata.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -36,7 +34,6 @@ pub trait PartialEq } // Full name: core::cmp::Eq -#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -53,7 +50,6 @@ pub enum Ordering { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -65,7 +61,6 @@ where } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -76,7 +71,6 @@ pub trait PartialOrd } // Full name: core::cmp::Ord -#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -96,7 +90,6 @@ pub trait Hasher } // Full name: core::hash::Hash -#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -105,12 +98,10 @@ pub trait Hash } // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -121,7 +112,6 @@ pub trait Copy } // Full name: core::marker::Sync -#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync diff --git a/charon/tests/ui/borrowck-statements.out b/charon/tests/ui/borrowck-statements.out index b36329a6f..b5fb30422 100644 --- a/charon/tests/ui/borrowck-statements.out +++ b/charon/tests/ui/borrowck-statements.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -37,7 +36,6 @@ impl "impl_Clone_for_u32" Clone for u32 { } // Full name: core::clone::impls::{impl Clone for &'_0 T}::clone -#[rustc_diagnostic_item = "noop_method_clone"] #[diagnostic_item("noop_method_clone")] pub fn {impl Clone for &'_0 T}::clone<'_0, '_1, T>(_1: &'_1 &'_0 T) -> &'_0 T where @@ -56,7 +54,6 @@ where } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/call-to-known-trait-method.out b/charon/tests/ui/call-to-known-trait-method.out index f27cb2a42..62e8bc239 100644 --- a/charon/tests/ui/call-to-known-trait-method.out +++ b/charon/tests/ui/call-to-known-trait-method.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -37,7 +36,6 @@ impl "impl_Clone_for_u8" Clone for u8 { } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -57,7 +55,6 @@ impl "impl_PartialEq_bool_for_bool" PartialEq for bool { } // Full name: core::default::Default -#[rustc_diagnostic_item = "Default"] #[diagnostic_item("Default")] pub trait Default { diff --git a/charon/tests/ui/closures.out b/charon/tests/ui/closures.out index 338d0d729..d97ff1927 100644 --- a/charon/tests/ui/closures.out +++ b/charon/tests/ui/closures.out @@ -70,7 +70,6 @@ where = // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -105,7 +104,6 @@ pub trait Fn } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/comments.out b/charon/tests/ui/comments.out index ec8fcce32..c822c3b28 100644 --- a/charon/tests/ui/comments.out +++ b/charon/tests/ui/comments.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::default::Default -#[rustc_diagnostic_item = "Default"] #[diagnostic_item("Default")] pub trait Default { @@ -37,7 +36,6 @@ pub trait Destruct } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/consts/evaluate-consts-recursive-static.out b/charon/tests/ui/consts/evaluate-consts-recursive-static.out index 1d69e1d6b..2efc5dc93 100644 --- a/charon/tests/ui/consts/evaluate-consts-recursive-static.out +++ b/charon/tests/ui/consts/evaluate-consts-recursive-static.out @@ -6,7 +6,6 @@ pub trait MetaSized // Full name: core::cell::Cell -#[rustc_diagnostic_item = "Cell"] #[diagnostic_item("Cell")] pub opaque type Cell where @@ -28,7 +27,6 @@ where = // Full name: core::marker::Sync -#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync diff --git a/charon/tests/ui/consts/ptr-null-constevalval.out b/charon/tests/ui/consts/ptr-null-constevalval.out index 38abec174..fa5dc2338 100644 --- a/charon/tests/ui/consts/ptr-null-constevalval.out +++ b/charon/tests/ui/consts/ptr-null-constevalval.out @@ -21,7 +21,6 @@ pub fn from_raw_parts::(data_pointer: *const (), metadata: ()) -> *const } // Full name: core::ptr::without_provenance_mut::<()> -#[rustc_diagnostic_item = "ptr_without_provenance_mut"] #[diagnostic_item("ptr_without_provenance_mut")] pub fn without_provenance_mut::<()>(addr: usize) -> *mut () { @@ -38,7 +37,6 @@ pub fn without_provenance_mut::<()>(addr: usize) -> *mut () } // Full name: core::ptr::without_provenance::<()> -#[rustc_diagnostic_item = "ptr_without_provenance"] #[diagnostic_item("ptr_without_provenance")] pub fn without_provenance::<()>(addr: usize) -> *const () { @@ -60,7 +58,6 @@ pub fn without_provenance::<()>(addr: usize) -> *const () } // Full name: core::ptr::null:: -#[rustc_diagnostic_item = "ptr_null"] #[diagnostic_item("ptr_null")] pub fn null::() -> *const u8 { diff --git a/charon/tests/ui/consts/string-new-constevalval.out b/charon/tests/ui/consts/string-new-constevalval.out index 43249b58f..097ce6431 100644 --- a/charon/tests/ui/consts/string-new-constevalval.out +++ b/charon/tests/ui/consts/string-new-constevalval.out @@ -1,7 +1,6 @@ # Final LLBC before serialization: // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub struct Vec where @@ -24,7 +23,6 @@ impl "impl_Destruct_for_String" Destruct for String { non-dyn-compatible } -#[rustc_diagnostic_item = "vec_new"] #[diagnostic_item("vec_new")] pub fn alloc::vec::{Vec[TraitClause0, {built_in impl Sized for Global}, {impl#1}]}::new() -> Vec[TraitClause0, {built_in impl Sized for Global}, {impl#1}] where @@ -42,7 +40,6 @@ where return } -#[rustc_diagnostic_item = "string_new"] #[diagnostic_item("string_new")] pub fn alloc::string::{String}::new() -> String { diff --git a/charon/tests/ui/control-flow/issue-1051-missing-loop-jump.out b/charon/tests/ui/control-flow/issue-1051-missing-loop-jump.out index e71c75d1b..92f992300 100644 --- a/charon/tests/ui/control-flow/issue-1051-missing-loop-jump.out +++ b/charon/tests/ui/control-flow/issue-1051-missing-loop-jump.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -37,7 +36,6 @@ impl "impl_Clone_for_i32" Clone for i32 { } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -55,7 +53,6 @@ pub enum Ordering { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -67,7 +64,6 @@ where } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -99,7 +95,6 @@ impl "impl_PartialOrd_i32_for_i32" PartialOrd for i32 { } // Full name: core::iter::range::Step -#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait Step { @@ -158,7 +153,6 @@ where } // Full name: core::iter::traits::iterator::Iterator -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/control-flow/issue-297-cfg.out b/charon/tests/ui/control-flow/issue-297-cfg.out index e08980db2..189e82d1b 100644 --- a/charon/tests/ui/control-flow/issue-297-cfg.out +++ b/charon/tests/ui/control-flow/issue-297-cfg.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -27,7 +26,6 @@ where } // Full name: core::iter::traits::iterator::Iterator -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/control-flow/loops.out b/charon/tests/ui/control-flow/loops.out index 229aa469f..f1b5c4bc4 100644 --- a/charon/tests/ui/control-flow/loops.out +++ b/charon/tests/ui/control-flow/loops.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -59,7 +58,6 @@ impl "impl_Clone_for_u32" Clone for u32 { } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -77,7 +75,6 @@ pub enum Ordering { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -89,7 +86,6 @@ where } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -163,7 +159,6 @@ impl "impl_PartialOrd_u32_for_u32" PartialOrd for u32 { } // Full name: core::iter::range::Step -#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait Step { @@ -288,7 +283,6 @@ where } // Full name: core::iter::traits::iterator::Iterator -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator @@ -329,7 +323,6 @@ where = // Full name: core::slice::index::SliceIndex -#[rustc_diagnostic_item = "SliceIndex"] #[diagnostic_item("SliceIndex")] pub trait SliceIndex { @@ -411,7 +404,6 @@ where pub struct Global {} // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/control-flow/simple-fallthrough.out b/charon/tests/ui/control-flow/simple-fallthrough.out index 10fb9b57b..d53f8d7d6 100644 --- a/charon/tests/ui/control-flow/simple-fallthrough.out +++ b/charon/tests/ui/control-flow/simple-fallthrough.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/control-flow/ullbc-control-flow.out b/charon/tests/ui/control-flow/ullbc-control-flow.out index 9228e3acc..0b1883280 100644 --- a/charon/tests/ui/control-flow/ullbc-control-flow.out +++ b/charon/tests/ui/control-flow/ullbc-control-flow.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -48,7 +47,6 @@ impl "impl_Clone_for_usize" Clone for usize { } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -66,7 +64,6 @@ pub enum Ordering { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -78,7 +75,6 @@ where } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -131,7 +127,6 @@ impl "impl_PartialOrd_usize_for_usize" PartialOrd for usize { } // Full name: core::iter::range::Step -#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait Step { @@ -223,7 +218,6 @@ where } // Full name: core::iter::traits::iterator::Iterator -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/copy_nonoverlapping.out b/charon/tests/ui/copy_nonoverlapping.out index 63a366996..dd27ce78f 100644 --- a/charon/tests/ui/copy_nonoverlapping.out +++ b/charon/tests/ui/copy_nonoverlapping.out @@ -32,7 +32,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -139,7 +138,6 @@ pub fn abort() -> ! = // Full name: core::ptr::non_null::NonNull -#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub struct NonNull { pointer: *const T is !null, @@ -164,7 +162,6 @@ pub fn caller_location() -> &'static Location<'static> = // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -421,7 +418,6 @@ pub struct Alignment { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -782,7 +778,6 @@ fn unwrap_failed() -> ! // Full name: core::option::{Option[TraitClause0]}::unwrap #[track_caller] -#[rustc_diagnostic_item = "option_unwrap"] #[diagnostic_item("option_unwrap")] pub fn unwrap(self: Option[TraitClause0]) -> T where @@ -895,7 +890,6 @@ where non-dyn-compatible } -#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn core::mem::size_of() -> usize where @@ -908,7 +902,6 @@ where return } -#[rustc_diagnostic_item = "mem_align_of"] #[diagnostic_item("mem_align_of")] pub fn core::mem::align_of() -> usize where @@ -926,7 +919,6 @@ fn core::ptr::copy_nonoverlapping::precondition_check(_1: *const (), _2: *mut () = #[track_caller] -#[rustc_diagnostic_item = "ptr_copy_nonoverlapping"] #[diagnostic_item("ptr_copy_nonoverlapping")] pub unsafe fn core::ptr::copy_nonoverlapping(src: *const T, dst: *mut T, count: usize) where diff --git a/charon/tests/ui/cross_compile_32_bit.out b/charon/tests/ui/cross_compile_32_bit.out index a2871c6fd..37185541b 100644 --- a/charon/tests/ui/cross_compile_32_bit.out +++ b/charon/tests/ui/cross_compile_32_bit.out @@ -8,7 +8,6 @@ pub fn MAX() -> usize pub const MAX: usize = MAX() // Full name: core::ptr::non_null::NonNull -#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub opaque type NonNull diff --git a/charon/tests/ui/desugar_drops_to_calls.out b/charon/tests/ui/desugar_drops_to_calls.out index 8ce1e1d6c..3e9909bbb 100644 --- a/charon/tests/ui/desugar_drops_to_calls.out +++ b/charon/tests/ui/desugar_drops_to_calls.out @@ -76,7 +76,6 @@ unsafe fn impl_Destruct_for_String::drop_glue<'_0>(_1: &'_0 mut String) = // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/desugar_drops_to_calls_mono.out b/charon/tests/ui/desugar_drops_to_calls_mono.out index 4570c1915..833e57021 100644 --- a/charon/tests/ui/desugar_drops_to_calls_mono.out +++ b/charon/tests/ui/desugar_drops_to_calls_mono.out @@ -66,7 +66,6 @@ unsafe fn impl_Destruct_for_String::drop_glue<'_0>(_1: &'_0 mut String) = // Full name: alloc::vec::Vec:: -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec:: diff --git a/charon/tests/ui/dyn-trait.out b/charon/tests/ui/dyn-trait.out index cb925b50a..b9b1e0b00 100644 --- a/charon/tests/ui/dyn-trait.out +++ b/charon/tests/ui/dyn-trait.out @@ -3,7 +3,6 @@ opaque type core::cmp::PartialEq::{vtable} // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -78,7 +77,6 @@ pub trait Fn } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/external.out b/charon/tests/ui/external.out index 660caa75a..48ee6973b 100644 --- a/charon/tests/ui/external.out +++ b/charon/tests/ui/external.out @@ -6,7 +6,6 @@ pub trait MetaSized // Full name: core::cell::Cell -#[rustc_diagnostic_item = "Cell"] #[diagnostic_item("Cell")] pub opaque type Cell where @@ -22,7 +21,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -33,7 +31,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -84,7 +81,6 @@ pub trait Destruct non-dyn-compatible } -#[rustc_diagnostic_item = "mem_swap"] #[diagnostic_item("mem_swap")] pub fn core::mem::swap<'_0, '_1, T>(_1: &'_0 mut T, _2: &'_1 mut T) where @@ -136,7 +132,6 @@ impl "impl_ZeroablePrimitive_for_u32" ZeroablePrimitive for u32 { } // Full name: core::num::nonzero::NonZero -#[rustc_diagnostic_item = "NonZero"] #[diagnostic_item("NonZero")] pub opaque type NonZero where @@ -144,7 +139,6 @@ where TraitClause1: (T: ZeroablePrimitive), // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -163,7 +157,6 @@ where // Full name: core::option::{Option[TraitClause0]}::unwrap #[track_caller] -#[rustc_diagnostic_item = "option_unwrap"] #[diagnostic_item("option_unwrap")] pub fn unwrap(_1: Option[TraitClause0]) -> T where @@ -185,7 +178,6 @@ impl "impl_Destruct_for_Global" Destruct for Global { } // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -201,7 +193,6 @@ where TypeOutlives1: A: '_0, = -#[rustc_diagnostic_item = "vec_new"] #[diagnostic_item("vec_new")] pub fn alloc::vec::{Vec[TraitClause0, {built_in impl Sized for Global}]}::new() -> Vec[TraitClause0, {built_in impl Sized for Global}] where diff --git a/charon/tests/ui/filtering/issue-1270-start-from-pub-skip-foreign-pub.out b/charon/tests/ui/filtering/issue-1270-start-from-pub-skip-foreign-pub.out index 7bb8ac7b1..72e4c9c96 100644 --- a/charon/tests/ui/filtering/issue-1270-start-from-pub-skip-foreign-pub.out +++ b/charon/tests/ui/filtering/issue-1270-start-from-pub-skip-foreign-pub.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::convert::From -#[rustc_diagnostic_item = "From"] #[lang_item(From)] #[diagnostic_item("From")] pub trait From @@ -48,7 +47,6 @@ pub enum Infallible { } // Full name: core::ops::control_flow::ControlFlow -#[rustc_diagnostic_item = "ControlFlow"] #[diagnostic_item("ControlFlow")] pub enum ControlFlow where @@ -69,7 +67,6 @@ where = // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/filtering/opacity.out b/charon/tests/ui/filtering/opacity.out index d825bc558..a351090d4 100644 --- a/charon/tests/ui/filtering/opacity.out +++ b/charon/tests/ui/filtering/opacity.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::convert::From -#[rustc_diagnostic_item = "From"] #[lang_item(From)] #[diagnostic_item("From")] pub trait From @@ -136,7 +135,6 @@ impl "impl_From_u32_for_u64" From for u64 { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/filtering/opaque_attribute.out b/charon/tests/ui/filtering/opaque_attribute.out index 40c7209e2..32bfebd63 100644 --- a/charon/tests/ui/filtering/opaque_attribute.out +++ b/charon/tests/ui/filtering/opaque_attribute.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/find-sized-clause.out b/charon/tests/ui/find-sized-clause.out index 5fa291db4..fa131ce95 100644 --- a/charon/tests/ui/find-sized-clause.out +++ b/charon/tests/ui/find-sized-clause.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/foreign-type-alias.out b/charon/tests/ui/foreign-type-alias.out index 5c075ff92..431703189 100644 --- a/charon/tests/ui/foreign-type-alias.out +++ b/charon/tests/ui/foreign-type-alias.out @@ -6,7 +6,6 @@ pub trait MetaSized // Full name: core::borrow::Borrow -#[rustc_diagnostic_item = "Borrow"] #[diagnostic_item("Borrow")] pub trait Borrow { @@ -26,7 +25,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -41,7 +39,6 @@ pub trait Clone pub struct Global {} // Full name: alloc::borrow::ToOwned -#[rustc_diagnostic_item = "ToOwned"] #[diagnostic_item("ToOwned")] pub trait ToOwned { @@ -54,7 +51,6 @@ pub trait ToOwned } // Full name: alloc::borrow::Cow -#[rustc_diagnostic_item = "Cow"] #[diagnostic_item("Cow")] pub enum Cow<'a, B> where @@ -68,7 +64,6 @@ where } // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/gosim-demo.out b/charon/tests/ui/gosim-demo.out index 773530830..278f91cab 100644 --- a/charon/tests/ui/gosim-demo.out +++ b/charon/tests/ui/gosim-demo.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -27,7 +26,6 @@ where } // Full name: core::slice::iter::Iter -#[rustc_diagnostic_item = "SliceIter"] #[diagnostic_item("SliceIter")] pub opaque type Iter<'a, T> where diff --git a/charon/tests/ui/impl-trait.out b/charon/tests/ui/impl-trait.out index c6a48edc2..1d970ba1d 100644 --- a/charon/tests/ui/impl-trait.out +++ b/charon/tests/ui/impl-trait.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -37,7 +36,6 @@ impl "impl_Clone_for_u32" Clone for u32 { } // Full name: core::clone::impls::{impl Clone for &'_0 T}::clone -#[rustc_diagnostic_item = "noop_method_clone"] #[diagnostic_item("noop_method_clone")] pub fn {impl Clone for &'_0 T}::clone<'_0, '_1, T>(_1: &'_1 &'_0 T) -> &'_0 T where diff --git a/charon/tests/ui/issue-114-opaque-bodies.out b/charon/tests/ui/issue-114-opaque-bodies.out index c7597ad96..0626d2970 100644 --- a/charon/tests/ui/issue-114-opaque-bodies.out +++ b/charon/tests/ui/issue-114-opaque-bodies.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -82,7 +81,6 @@ where } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -93,7 +91,6 @@ pub trait PartialEq } // Full name: core::cmp::PartialEq::ne -#[rustc_diagnostic_item = "cmp_partialeq_ne"] #[diagnostic_item("cmp_partialeq_ne")] pub fn ne<'_0, '_1, Self, Rhs>(self: &'_0 Self, other: &'_1 Rhs) -> bool where @@ -280,7 +277,6 @@ pub fn core::num::{usize}::MAX() -> usize pub const core::num::{usize}::MAX: usize = core::num::{usize}::MAX() // Full name: core::ptr::non_null::NonNull -#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub struct NonNull { pointer: *const T is !null, @@ -317,7 +313,6 @@ where } // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub struct Vec where diff --git a/charon/tests/ui/issue-118-generic-copy.out b/charon/tests/ui/issue-118-generic-copy.out index 6e2af2a1d..a04c1377f 100644 --- a/charon/tests/ui/issue-118-generic-copy.out +++ b/charon/tests/ui/issue-118-generic-copy.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -35,7 +34,6 @@ pub trait TrivialClone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/issue-120-bare-discriminant-read.out b/charon/tests/ui/issue-120-bare-discriminant-read.out index 236c4e2f0..d177d7501 100644 --- a/charon/tests/ui/issue-120-bare-discriminant-read.out +++ b/charon/tests/ui/issue-120-bare-discriminant-read.out @@ -23,7 +23,6 @@ pub trait Destruct } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/issue-165-vec-macro.out b/charon/tests/ui/issue-165-vec-macro.out index f1e4df5c4..48a9779a7 100644 --- a/charon/tests/ui/issue-165-vec-macro.out +++ b/charon/tests/ui/issue-165-vec-macro.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -56,7 +55,6 @@ where = // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -80,7 +78,6 @@ where = // Full name: alloc::vec::from_elem -#[rustc_diagnostic_item = "vec_from_elem"] #[diagnostic_item("vec_from_elem")] pub fn from_elem(_1: T, _2: usize) -> Vec[TraitClause0, {built_in impl Sized for Global}] where diff --git a/charon/tests/ui/issue-369-mismatched-genericparams.out b/charon/tests/ui/issue-369-mismatched-genericparams.out index 9e7e8d852..7c49df690 100644 --- a/charon/tests/ui/issue-369-mismatched-genericparams.out +++ b/charon/tests/ui/issue-369-mismatched-genericparams.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/issue-378-ctor-as-fn.out b/charon/tests/ui/issue-378-ctor-as-fn.out index a33eeaf96..5760bfc3f 100644 --- a/charon/tests/ui/issue-378-ctor-as-fn.out +++ b/charon/tests/ui/issue-378-ctor-as-fn.out @@ -23,7 +23,6 @@ pub trait Destruct } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -49,7 +48,6 @@ unsafe fn impl_Destruct_for_String::drop_glue<'_0>(_1: &'_0 mut String) = // Full name: alloc::string::{String}::new -#[rustc_diagnostic_item = "string_new"] #[diagnostic_item("string_new")] pub fn new() -> String = diff --git a/charon/tests/ui/issue-394-rpit-with-lifetime.out b/charon/tests/ui/issue-394-rpit-with-lifetime.out index 5252d51e9..ada45e40b 100644 --- a/charon/tests/ui/issue-394-rpit-with-lifetime.out +++ b/charon/tests/ui/issue-394-rpit-with-lifetime.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/issue-395-failed-to-normalize.out b/charon/tests/ui/issue-395-failed-to-normalize.out index f7218b07e..3769c1138 100644 --- a/charon/tests/ui/issue-395-failed-to-normalize.out +++ b/charon/tests/ui/issue-395-failed-to-normalize.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -27,7 +26,6 @@ where } // Full name: core::iter::traits::iterator::Iterator -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/issue-4-slice-try-into-array.out b/charon/tests/ui/issue-4-slice-try-into-array.out index b12f93374..edcc67958 100644 --- a/charon/tests/ui/issue-4-slice-try-into-array.out +++ b/charon/tests/ui/issue-4-slice-try-into-array.out @@ -23,7 +23,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -34,7 +33,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -45,7 +43,6 @@ pub trait Copy } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -57,7 +54,6 @@ where } // Full name: core::convert::TryFrom -#[rustc_diagnostic_item = "TryFrom"] #[diagnostic_item("TryFrom")] pub trait TryFrom { diff --git a/charon/tests/ui/issue-4-traits.out b/charon/tests/ui/issue-4-traits.out index d083ca0fe..0296ac270 100644 --- a/charon/tests/ui/issue-4-traits.out +++ b/charon/tests/ui/issue-4-traits.out @@ -23,7 +23,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -34,7 +33,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -45,7 +43,6 @@ pub trait Copy } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -57,7 +54,6 @@ where } // Full name: core::convert::TryFrom -#[rustc_diagnostic_item = "TryFrom"] #[diagnostic_item("TryFrom")] pub trait TryFrom { diff --git a/charon/tests/ui/issue-45-misc.out b/charon/tests/ui/issue-45-misc.out index 0be9ac39b..d7f6a1379 100644 --- a/charon/tests/ui/issue-45-misc.out +++ b/charon/tests/ui/issue-45-misc.out @@ -71,7 +71,6 @@ where = // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -93,7 +92,6 @@ impl "impl_Clone_for_u8" Clone for u8 { } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -111,7 +109,6 @@ pub enum Ordering { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -123,7 +120,6 @@ where } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -155,7 +151,6 @@ impl "impl_PartialOrd_u8_for_u8" PartialOrd for u8 { } // Full name: core::iter::range::Step -#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait Step { @@ -214,7 +209,6 @@ where } // Full name: core::iter::traits::iterator::Iterator -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/issue-70-override-provided-method.3.out b/charon/tests/ui/issue-70-override-provided-method.3.out index 329950a8f..00652068d 100644 --- a/charon/tests/ui/issue-70-override-provided-method.3.out +++ b/charon/tests/ui/issue-70-override-provided-method.3.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -36,7 +34,6 @@ pub trait PartialEq } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -55,7 +52,6 @@ pub trait Destruct } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/issue-70-override-provided-method.out b/charon/tests/ui/issue-70-override-provided-method.out index d0878822e..5e13c9c52 100644 --- a/charon/tests/ui/issue-70-override-provided-method.out +++ b/charon/tests/ui/issue-70-override-provided-method.out @@ -1,7 +1,6 @@ # Final LLBC before serialization: // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -33,7 +32,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -45,7 +43,6 @@ where } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd diff --git a/charon/tests/ui/issue-91-enum-to-discriminant-cast.out b/charon/tests/ui/issue-91-enum-to-discriminant-cast.out index 2e7da698f..344b53180 100644 --- a/charon/tests/ui/issue-91-enum-to-discriminant-cast.out +++ b/charon/tests/ui/issue-91-enum-to-discriminant-cast.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -35,7 +34,6 @@ pub trait TrivialClone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/iterator.out b/charon/tests/ui/iterator.out index ee403eca1..aad385202 100644 --- a/charon/tests/ui/iterator.out +++ b/charon/tests/ui/iterator.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::array::iter::IntoIter -#[rustc_diagnostic_item = "ArrayIntoIter"] #[diagnostic_item("ArrayIntoIter")] pub opaque type IntoIter where @@ -35,7 +34,6 @@ where = // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -47,7 +45,6 @@ where } // Full name: core::ops::try_trait::FromResidual -#[rustc_diagnostic_item = "FromResidual"] #[diagnostic_item("FromResidual")] pub trait FromResidual { @@ -58,7 +55,6 @@ pub trait FromResidual } // Full name: core::ops::control_flow::ControlFlow -#[rustc_diagnostic_item = "ControlFlow"] #[diagnostic_item("ControlFlow")] pub enum ControlFlow where @@ -144,7 +140,6 @@ pub trait Destruct } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -156,7 +151,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -167,7 +161,6 @@ pub trait Copy } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -190,7 +183,6 @@ pub trait ZeroablePrimitive } // Full name: core::num::nonzero::NonZero -#[rustc_diagnostic_item = "NonZero"] #[diagnostic_item("NonZero")] pub opaque type NonZero where @@ -341,7 +333,6 @@ where TraitClause1: (P: Sized), // Full name: core::iter::adapters::enumerate::Enumerate -#[rustc_diagnostic_item = "Enumerate"] #[diagnostic_item("Enumerate")] pub opaque type Enumerate where @@ -369,7 +360,6 @@ where TraitClause1: (B: Sized), // Full name: core::default::Default -#[rustc_diagnostic_item = "Default"] #[diagnostic_item("Default")] pub trait Default { @@ -387,7 +377,6 @@ pub enum Ordering { } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -398,7 +387,6 @@ pub trait PartialEq } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -417,7 +405,6 @@ pub trait PartialOrd } // Full name: core::cmp::Eq -#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -428,7 +415,6 @@ pub trait Eq } // Full name: core::cmp::Ord -#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -484,7 +470,6 @@ where TraitClause2: (I: Iterator), // Full name: core::iter::adapters::peekable::Peekable -#[rustc_diagnostic_item = "IterPeekable"] #[diagnostic_item("IterPeekable")] pub opaque type Peekable where @@ -519,7 +504,6 @@ pub trait Product } // Full name: core::iter::traits::collect::FromIterator -#[rustc_diagnostic_item = "FromIterator"] #[diagnostic_item("FromIterator")] pub trait FromIterator { @@ -530,7 +514,6 @@ pub trait FromIterator } // Full name: core::iter::traits::collect::IntoIterator -#[rustc_diagnostic_item = "IntoIterator"] #[diagnostic_item("IntoIterator")] pub trait IntoIterator where @@ -559,7 +542,6 @@ pub trait Extend } // Full name: core::iter::traits::double_ended::DoubleEndedIterator -#[rustc_diagnostic_item = "DoubleEndedIterator"] #[diagnostic_item("DoubleEndedIterator")] pub trait DoubleEndedIterator { @@ -586,7 +568,6 @@ pub trait ExactSizeIterator } // Full name: core::iter::traits::iterator::Iterator -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator @@ -921,7 +902,6 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::cloned -#[rustc_diagnostic_item = "iter_cloned"] #[diagnostic_item("iter_cloned")] pub fn impl_Iterator_for_IntoIter::cloned<'a, T, T, const N : usize>(_1: IntoIter[TraitClause0]) -> Cloned[TraitClause0]>[TraitClause3] where @@ -935,7 +915,6 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::copied -#[rustc_diagnostic_item = "iter_copied"] #[diagnostic_item("iter_copied")] pub fn impl_Iterator_for_IntoIter::copied<'a, T, T, const N : usize>(_1: IntoIter[TraitClause0]) -> Copied[TraitClause0]>[TraitClause3] where @@ -1219,7 +1198,6 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::collect -#[rustc_diagnostic_item = "iterator_collect_fn"] #[diagnostic_item("iterator_collect_fn")] pub fn impl_Iterator_for_IntoIter::collect(_1: IntoIter[TraitClause0]) -> B where @@ -1350,7 +1328,6 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::enumerate -#[rustc_diagnostic_item = "enumerate_method"] #[diagnostic_item("enumerate_method")] pub fn impl_Iterator_for_IntoIter::enumerate(_1: IntoIter[TraitClause0]) -> Enumerate[TraitClause0]>[TraitClause1] where @@ -1370,7 +1347,6 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::filter -#[rustc_diagnostic_item = "iter_filter"] #[diagnostic_item("iter_filter")] pub fn impl_Iterator_for_IntoIter::filter(_1: IntoIter[TraitClause0], _2: P) -> Filter[TraitClause0], P>[TraitClause2, TraitClause1] where @@ -1392,7 +1368,6 @@ where = // Full name: core::array::iter::{impl Iterator for IntoIter[TraitClause0]}::map -#[rustc_diagnostic_item = "IteratorMap"] #[diagnostic_item("IteratorMap")] pub fn impl_Iterator_for_IntoIter::map(_1: IntoIter[TraitClause0], _2: F) -> Map[TraitClause0], F>[TraitClause3, TraitClause2] where @@ -1559,7 +1534,6 @@ where TypeOutlives1: Self: '_1, = -#[rustc_diagnostic_item = "cmp_partialeq_ne"] #[diagnostic_item("cmp_partialeq_ne")] pub fn core::cmp::PartialEq::ne<'_0, '_1, Self, Rhs>(_1: &'_0 Self, _2: &'_1 Rhs) -> bool where @@ -1569,7 +1543,6 @@ where = // Full name: core::cmp::Eq::assert_receiver_is_total_eq -#[rustc_diagnostic_item = "assert_receiver_is_total_eq"] #[deprecated(since = "1.95.0", note = "implementation detail of `#[derive(Eq)]`")] #[diagnostic_item("assert_receiver_is_total_eq")] pub fn assert_receiver_is_total_eq<'_0, Self>(_1: &'_0 Self) @@ -1585,7 +1558,6 @@ where TypeOutlives0: Self: '_0, = -#[rustc_diagnostic_item = "cmp_ord_max"] #[diagnostic_item("cmp_ord_max")] pub fn core::cmp::Ord::max(_1: Self, _2: Self) -> Self where @@ -1594,7 +1566,6 @@ where TraitClause2: (Self: Destruct), = -#[rustc_diagnostic_item = "cmp_ord_min"] #[diagnostic_item("cmp_ord_min")] pub fn core::cmp::Ord::min(_1: Self, _2: Self) -> Self where @@ -1611,7 +1582,6 @@ where TraitClause2: (Self: Destruct), = -#[rustc_diagnostic_item = "cmp_partialord_lt"] #[diagnostic_item("cmp_partialord_lt")] pub fn core::cmp::PartialOrd::lt<'_0, '_1, Self, Rhs>(_1: &'_0 Self, _2: &'_1 Rhs) -> bool where @@ -1620,7 +1590,6 @@ where TypeOutlives1: Rhs: '_1, = -#[rustc_diagnostic_item = "cmp_partialord_le"] #[diagnostic_item("cmp_partialord_le")] pub fn core::cmp::PartialOrd::le<'_0, '_1, Self, Rhs>(_1: &'_0 Self, _2: &'_1 Rhs) -> bool where @@ -1629,7 +1598,6 @@ where TypeOutlives1: Rhs: '_1, = -#[rustc_diagnostic_item = "cmp_partialord_gt"] #[diagnostic_item("cmp_partialord_gt")] pub fn core::cmp::PartialOrd::gt<'_0, '_1, Self, Rhs>(_1: &'_0 Self, _2: &'_1 Rhs) -> bool where @@ -1638,7 +1606,6 @@ where TypeOutlives1: Rhs: '_1, = -#[rustc_diagnostic_item = "cmp_partialord_ge"] #[diagnostic_item("cmp_partialord_ge")] pub fn core::cmp::PartialOrd::ge<'_0, '_1, Self, Rhs>(_1: &'_0 Self, _2: &'_1 Rhs) -> bool where @@ -1877,7 +1844,6 @@ where TypeConstraint0: TraitClause3::ImpliedClause1::Output = TraitClause0::Item, = -#[rustc_diagnostic_item = "IteratorMap"] #[diagnostic_item("IteratorMap")] pub fn core::iter::traits::iterator::Iterator::map(_1: Self, _2: F) -> Map[TraitClause3, TraitClause2] where @@ -1898,7 +1864,6 @@ where TypeConstraint0: TraitClause3::ImpliedClause1::Output = (), = -#[rustc_diagnostic_item = "iter_filter"] #[diagnostic_item("iter_filter")] pub fn core::iter::traits::iterator::Iterator::filter(_1: Self, _2: P) -> Filter[TraitClause2, TraitClause1] where @@ -1919,7 +1884,6 @@ where TypeConstraint0: TraitClause4::ImpliedClause1::Output = Option[TraitClause1], = -#[rustc_diagnostic_item = "enumerate_method"] #[diagnostic_item("enumerate_method")] pub fn core::iter::traits::iterator::Iterator::enumerate(_1: Self) -> Enumerate[TraitClause1] where @@ -2034,7 +1998,6 @@ where TypeOutlives0: Self: '_0, = -#[rustc_diagnostic_item = "iterator_collect_fn"] #[diagnostic_item("iterator_collect_fn")] pub fn core::iter::traits::iterator::Iterator::collect(_1: Self) -> B where @@ -2318,7 +2281,6 @@ where TypeConstraint0: TraitClause0::Item = (A, B), = -#[rustc_diagnostic_item = "iter_copied"] #[diagnostic_item("iter_copied")] pub fn core::iter::traits::iterator::Iterator::copied<'a, Self, T>(_1: Self) -> Copied[TraitClause3] where @@ -2331,7 +2293,6 @@ where TypeConstraint0: TraitClause0::Item = &'a T, = -#[rustc_diagnostic_item = "iter_cloned"] #[diagnostic_item("iter_cloned")] pub fn core::iter::traits::iterator::Iterator::cloned<'a, Self, T>(_1: Self) -> Cloned[TraitClause3] where @@ -2522,7 +2483,6 @@ pub enum AssertKind { } // Full name: core::slice::iter::Iter -#[rustc_diagnostic_item = "SliceIter"] #[diagnostic_item("SliceIter")] pub opaque type Iter<'a, T> where @@ -2901,7 +2861,6 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::cloned -#[rustc_diagnostic_item = "iter_cloned"] #[diagnostic_item("iter_cloned")] pub fn impl_Iterator_for_Iter::cloned<'a, 'a, T, T>(_1: Iter<'a, T>[TraitClause0]) -> Cloned[TraitClause0]>[TraitClause3] where @@ -2916,7 +2875,6 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::copied -#[rustc_diagnostic_item = "iter_copied"] #[diagnostic_item("iter_copied")] pub fn impl_Iterator_for_Iter::copied<'a, 'a, T, T>(_1: Iter<'a, T>[TraitClause0]) -> Copied[TraitClause0]>[TraitClause3] where @@ -3171,7 +3129,6 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::collect -#[rustc_diagnostic_item = "iterator_collect_fn"] #[diagnostic_item("iterator_collect_fn")] pub fn impl_Iterator_for_Iter::collect<'a, T, B>(_1: Iter<'a, T>[TraitClause0]) -> B where @@ -3317,7 +3274,6 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::enumerate -#[rustc_diagnostic_item = "enumerate_method"] #[diagnostic_item("enumerate_method")] pub fn impl_Iterator_for_Iter::enumerate<'a, T>(_1: Iter<'a, T>[TraitClause0]) -> Enumerate[TraitClause0]>[TraitClause1] where @@ -3339,7 +3295,6 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::filter -#[rustc_diagnostic_item = "iter_filter"] #[diagnostic_item("iter_filter")] pub fn impl_Iterator_for_Iter::filter<'a, T, P>(_1: Iter<'a, T>[TraitClause0], _2: P) -> Filter[TraitClause0], P>[TraitClause2, TraitClause1] where @@ -3352,7 +3307,6 @@ where = // Full name: core::slice::iter::{impl Iterator for Iter<'a, T>[TraitClause0]}::map -#[rustc_diagnostic_item = "IteratorMap"] #[diagnostic_item("IteratorMap")] pub fn impl_Iterator_for_Iter::map<'a, T, B, F>(_1: Iter<'a, T>[TraitClause0], _2: F) -> Map[TraitClause0], F>[TraitClause3, TraitClause2] where @@ -3760,7 +3714,6 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::cloned -#[rustc_diagnostic_item = "iter_cloned"] #[diagnostic_item("iter_cloned")] pub fn impl_Iterator_for_Chunks::cloned<'a, 'a, T, T>(_1: Chunks<'a, T>[TraitClause0]) -> Cloned[TraitClause0]>[TraitClause3] where @@ -3775,7 +3728,6 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::copied -#[rustc_diagnostic_item = "iter_copied"] #[diagnostic_item("iter_copied")] pub fn impl_Iterator_for_Chunks::copied<'a, 'a, T, T>(_1: Chunks<'a, T>[TraitClause0]) -> Copied[TraitClause0]>[TraitClause3] where @@ -4125,7 +4077,6 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::collect -#[rustc_diagnostic_item = "iterator_collect_fn"] #[diagnostic_item("iterator_collect_fn")] pub fn impl_Iterator_for_Chunks::collect<'a, T, B>(_1: Chunks<'a, T>[TraitClause0]) -> B where @@ -4271,7 +4222,6 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::enumerate -#[rustc_diagnostic_item = "enumerate_method"] #[diagnostic_item("enumerate_method")] pub fn impl_Iterator_for_Chunks::enumerate<'a, T>(_1: Chunks<'a, T>[TraitClause0]) -> Enumerate[TraitClause0]>[TraitClause1] where @@ -4293,7 +4243,6 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::filter -#[rustc_diagnostic_item = "iter_filter"] #[diagnostic_item("iter_filter")] pub fn impl_Iterator_for_Chunks::filter<'a, T, P>(_1: Chunks<'a, T>[TraitClause0], _2: P) -> Filter[TraitClause0], P>[TraitClause2, TraitClause1] where @@ -4317,7 +4266,6 @@ where = // Full name: core::slice::iter::{impl Iterator for Chunks<'a, T>[TraitClause0]}::map -#[rustc_diagnostic_item = "IteratorMap"] #[diagnostic_item("IteratorMap")] pub fn impl_Iterator_for_Chunks::map<'a, T, B, F>(_1: Chunks<'a, T>[TraitClause0], _2: F) -> Map[TraitClause0], F>[TraitClause3, TraitClause2] where @@ -4744,7 +4692,6 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::cloned -#[rustc_diagnostic_item = "iter_cloned"] #[diagnostic_item("iter_cloned")] pub fn impl_Iterator_for_ChunksExact::cloned<'a, 'a, T, T>(_1: ChunksExact<'a, T>[TraitClause0]) -> Cloned[TraitClause0]>[TraitClause3] where @@ -4759,7 +4706,6 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::copied -#[rustc_diagnostic_item = "iter_copied"] #[diagnostic_item("iter_copied")] pub fn impl_Iterator_for_ChunksExact::copied<'a, 'a, T, T>(_1: ChunksExact<'a, T>[TraitClause0]) -> Copied[TraitClause0]>[TraitClause3] where @@ -5109,7 +5055,6 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::collect -#[rustc_diagnostic_item = "iterator_collect_fn"] #[diagnostic_item("iterator_collect_fn")] pub fn impl_Iterator_for_ChunksExact::collect<'a, T, B>(_1: ChunksExact<'a, T>[TraitClause0]) -> B where @@ -5255,7 +5200,6 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::enumerate -#[rustc_diagnostic_item = "enumerate_method"] #[diagnostic_item("enumerate_method")] pub fn impl_Iterator_for_ChunksExact::enumerate<'a, T>(_1: ChunksExact<'a, T>[TraitClause0]) -> Enumerate[TraitClause0]>[TraitClause1] where @@ -5277,7 +5221,6 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::filter -#[rustc_diagnostic_item = "iter_filter"] #[diagnostic_item("iter_filter")] pub fn impl_Iterator_for_ChunksExact::filter<'a, T, P>(_1: ChunksExact<'a, T>[TraitClause0], _2: P) -> Filter[TraitClause0], P>[TraitClause2, TraitClause1] where @@ -5301,7 +5244,6 @@ where = // Full name: core::slice::iter::{impl Iterator for ChunksExact<'a, T>[TraitClause0]}::map -#[rustc_diagnostic_item = "IteratorMap"] #[diagnostic_item("IteratorMap")] pub fn impl_Iterator_for_ChunksExact::map<'a, T, B, F>(_1: ChunksExact<'a, T>[TraitClause0], _2: F) -> Map[TraitClause0], F>[TraitClause3, TraitClause2] where @@ -5472,7 +5414,6 @@ where } // Full name: core::slice::{[T]}::iter -#[rustc_diagnostic_item = "slice_iter"] #[diagnostic_item("slice_iter")] pub fn iter<'_0, T>(_1: &'_0 [T]) -> Iter<'_0, T>[TraitClause0] where diff --git a/charon/tests/ui/method-impl-generalization.out b/charon/tests/ui/method-impl-generalization.out index 21a338db4..910587a4f 100644 --- a/charon/tests/ui/method-impl-generalization.out +++ b/charon/tests/ui/method-impl-generalization.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/ml-mono-name-matcher-tests.out b/charon/tests/ui/ml-mono-name-matcher-tests.out index 900870fc8..a76919d96 100644 --- a/charon/tests/ui/ml-mono-name-matcher-tests.out +++ b/charon/tests/ui/ml-mono-name-matcher-tests.out @@ -7,7 +7,6 @@ pub struct RangeFrom:: { } // Full name: core::option::Option:: -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option:: { diff --git a/charon/tests/ui/ml-name-matcher-tests.out b/charon/tests/ui/ml-name-matcher-tests.out index 8c10e2a19..2b2c805bf 100644 --- a/charon/tests/ui/ml-name-matcher-tests.out +++ b/charon/tests/ui/ml-name-matcher-tests.out @@ -32,7 +32,6 @@ where } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -51,7 +50,6 @@ where = // Full name: core::slice::index::SliceIndex -#[rustc_diagnostic_item = "SliceIndex"] #[diagnostic_item("SliceIndex")] pub trait SliceIndex { diff --git a/charon/tests/ui/ml-partial-mono-name-matcher-tests.out b/charon/tests/ui/ml-partial-mono-name-matcher-tests.out index d16bff159..508cc64db 100644 --- a/charon/tests/ui/ml-partial-mono-name-matcher-tests.out +++ b/charon/tests/ui/ml-partial-mono-name-matcher-tests.out @@ -54,7 +54,6 @@ pub trait core::marker::Destruct::<&_ mut _><'_0, T0> } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option { diff --git a/charon/tests/ui/monomorphization/adt_proj.out b/charon/tests/ui/monomorphization/adt_proj.out index b32b8a45e..986c670b9 100644 --- a/charon/tests/ui/monomorphization/adt_proj.out +++ b/charon/tests/ui/monomorphization/adt_proj.out @@ -1,7 +1,6 @@ # Final LLBC before serialization: // Full name: core::result::Result:: -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result:: { Ok { _0: u32 }, diff --git a/charon/tests/ui/monomorphization/bound_lifetime.out b/charon/tests/ui/monomorphization/bound_lifetime.out index dce58de3a..8b7c16e04 100644 --- a/charon/tests/ui/monomorphization/bound_lifetime.out +++ b/charon/tests/ui/monomorphization/bound_lifetime.out @@ -1,7 +1,6 @@ # Final LLBC before serialization: // Full name: core::option::Option::<&'_ u32> -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option::<&'_ u32> { diff --git a/charon/tests/ui/monomorphization/closure-fnonce.out b/charon/tests/ui/monomorphization/closure-fnonce.out index 55308754e..b078cd6eb 100644 --- a/charon/tests/ui/monomorphization/closure-fnonce.out +++ b/charon/tests/ui/monomorphization/closure-fnonce.out @@ -37,7 +37,6 @@ pub trait Tuple struct NotCopy {} // Full name: core::mem::drop:: -#[rustc_diagnostic_item = "mem_drop"] #[diagnostic_item("mem_drop")] pub fn drop::(_1: NotCopy) = diff --git a/charon/tests/ui/monomorphization/closures.out b/charon/tests/ui/monomorphization/closures.out index 35a6062fa..8861b72d2 100644 --- a/charon/tests/ui/monomorphization/closures.out +++ b/charon/tests/ui/monomorphization/closures.out @@ -37,7 +37,6 @@ pub trait Tuple struct Thing {} // Full name: core::mem::drop:: -#[rustc_diagnostic_item = "mem_drop"] #[diagnostic_item("mem_drop")] pub fn drop::(_1: Thing) = diff --git a/charon/tests/ui/monomorphization/fn_ptr_generics.out b/charon/tests/ui/monomorphization/fn_ptr_generics.out index 4a3781874..90b1bae00 100644 --- a/charon/tests/ui/monomorphization/fn_ptr_generics.out +++ b/charon/tests/ui/monomorphization/fn_ptr_generics.out @@ -1,7 +1,6 @@ # Final LLBC before serialization: // Full name: core::option::Option:: -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option:: { diff --git a/charon/tests/ui/monomorphization/issue-1159-assoc-const.out b/charon/tests/ui/monomorphization/issue-1159-assoc-const.out index 320f8aaa1..2d063c3fe 100644 --- a/charon/tests/ui/monomorphization/issue-1159-assoc-const.out +++ b/charon/tests/ui/monomorphization/issue-1159-assoc-const.out @@ -23,7 +23,6 @@ opaque type {vtable} pub trait MetaSized // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -35,7 +34,6 @@ where } // Full name: core::option::Option::<&'_ [u64]> -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option::<&'_ [u64]> { diff --git a/charon/tests/ui/monomorphization/issue-922-assoc-const-with-default.out b/charon/tests/ui/monomorphization/issue-922-assoc-const-with-default.out index 754499326..8ec836795 100644 --- a/charon/tests/ui/monomorphization/issue-922-assoc-const-with-default.out +++ b/charon/tests/ui/monomorphization/issue-922-assoc-const-with-default.out @@ -18,7 +18,6 @@ pub trait Sized } // Full name: core::mem::size_of::<()> -#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn size_of::<()>() -> usize = diff --git a/charon/tests/ui/monomorphization/rec-adt.out b/charon/tests/ui/monomorphization/rec-adt.out index f333fa1c1..ff916d3c5 100644 --- a/charon/tests/ui/monomorphization/rec-adt.out +++ b/charon/tests/ui/monomorphization/rec-adt.out @@ -1,12 +1,10 @@ # Final LLBC before serialization: // Full name: core::ptr::non_null::NonNull::> -#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub opaque type NonNull::> // Full name: core::option::Option::>> -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option::>> { diff --git a/charon/tests/ui/monomorphize-mut-no-types.out b/charon/tests/ui/monomorphize-mut-no-types.out index c41bd7891..a976a64ce 100644 --- a/charon/tests/ui/monomorphize-mut-no-types.out +++ b/charon/tests/ui/monomorphize-mut-no-types.out @@ -66,7 +66,6 @@ pub trait core::marker::Destruct::<&_ mut _><'_0, T0> } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option { diff --git a/charon/tests/ui/monomorphize-mut.out b/charon/tests/ui/monomorphize-mut.out index 116841738..c5c3fa21c 100644 --- a/charon/tests/ui/monomorphize-mut.out +++ b/charon/tests/ui/monomorphize-mut.out @@ -149,7 +149,6 @@ pub trait core::marker::Destruct::<&_ mut _><'_0, T0> non-dyn-compatible } -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option::<&_ mut _><'_0, T0> @@ -169,7 +168,6 @@ where non-dyn-compatible } -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option::<_, _>[TraitClause1]><'_0, T0> @@ -233,7 +231,6 @@ pub trait FnOnce } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -244,7 +241,6 @@ where Some { _0: T }, } -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option::<&_ mut &_ mut _><'_0, '_1, T0> @@ -265,7 +261,6 @@ where tail: core::option::Option::<&_ mut _><'a, T>[{built_in impl core::marker::Sized::<&_ mut _><'a> for T}], } -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option::[TraitClause1]><'_0, T0> @@ -287,7 +282,6 @@ where _0: Iter<'a, T>[TraitClause0], } -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option::[TraitClause1]><'_0, T0> diff --git a/charon/tests/ui/multi-target/cstr.out b/charon/tests/ui/multi-target/cstr.out index ea0ddef69..ddc0ff2e7 100644 --- a/charon/tests/ui/multi-target/cstr.out +++ b/charon/tests/ui/multi-target/cstr.out @@ -1,11 +1,9 @@ -#[rustc_diagnostic_item = "cstr_type"] #[lang_item(CStr)] #[diagnostic_item("cstr_type")] pub struct core::ffi::c_str::CStr::x86_64-unknown-linux-gnu { inner: [i8], } -#[rustc_diagnostic_item = "cstr_type"] #[lang_item(CStr)] #[diagnostic_item("cstr_type")] pub struct core::ffi::c_str::CStr::powerpc64-unknown-linux-gnu { diff --git a/charon/tests/ui/multi-target/issue-1213-merge-methods-when-missing.out b/charon/tests/ui/multi-target/issue-1213-merge-methods-when-missing.out index 66c198dd7..b8f2c8636 100644 --- a/charon/tests/ui/multi-target/issue-1213-merge-methods-when-missing.out +++ b/charon/tests/ui/multi-target/issue-1213-merge-methods-when-missing.out @@ -15,7 +15,6 @@ where TraitClause0: (A: core::marker::Sized), TraitClause1: (B: core::marker::Sized), -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option @@ -26,7 +25,6 @@ where Some { _0: T }, } -#[rustc_diagnostic_item = "IntoIterator"] #[diagnostic_item("IntoIterator")] pub trait core::iter::traits::collect::IntoIterator where @@ -42,7 +40,6 @@ where vtable: core::iter::traits::collect::IntoIterator::{vtable} } -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait core::iter::traits::iterator::Iterator @@ -159,7 +156,6 @@ where vtable: core::slice::iter::{impl core::iter::traits::iterator::Iterator for core::slice::iter::IterMut<'a, T>[TraitClause0]}::{vtable}<'a, T>[TraitClause0] } -#[rustc_diagnostic_item = "SliceIter"] #[diagnostic_item("SliceIter")] pub opaque type core::slice::iter::Iter<'a, T> where @@ -198,7 +194,6 @@ where vtable: core::slice::iter::{impl core::iter::traits::iterator::Iterator for core::slice::iter::Iter<'a, T>[TraitClause0]}::{vtable}<'a, T>[TraitClause0] } -#[rustc_diagnostic_item = "slice_iter"] #[diagnostic_item("slice_iter")] pub fn core::slice::{[T]}::iter<'_0, T>(_1: &'_0 [T]) -> core::slice::iter::Iter<'_0, T>[TraitClause0] where diff --git a/charon/tests/ui/multi-target/issue-1307-required-method.out b/charon/tests/ui/multi-target/issue-1307-required-method.out index 7efe7a951..8d81faf3f 100644 --- a/charon/tests/ui/multi-target/issue-1307-required-method.out +++ b/charon/tests/ui/multi-target/issue-1307-required-method.out @@ -10,7 +10,6 @@ pub trait core::marker::Sized non-dyn-compatible } -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait core::clone::Clone diff --git a/charon/tests/ui/multi-target/multi-target-from-symcrypt.out b/charon/tests/ui/multi-target/multi-target-from-symcrypt.out index 96f6b39e4..5dbbe26b4 100644 --- a/charon/tests/ui/multi-target/multi-target-from-symcrypt.out +++ b/charon/tests/ui/multi-target/multi-target-from-symcrypt.out @@ -21,7 +21,6 @@ pub trait core::marker::Sized non-dyn-compatible } -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait core::clone::Clone @@ -31,7 +30,6 @@ pub trait core::clone::Clone non-dyn-compatible } -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait core::marker::Copy @@ -96,7 +94,6 @@ impl core::clone::Clone for usize { non-dyn-compatible } -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait core::cmp::PartialEq @@ -112,7 +109,6 @@ pub enum core::cmp::Ordering { Greater, } -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option @@ -123,7 +119,6 @@ where Some { _0: T }, } -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait core::cmp::PartialOrd @@ -152,7 +147,6 @@ impl core::cmp::PartialOrd for usize { vtable: core::cmp::impls::{impl core::cmp::PartialOrd for usize}::{vtable} } -#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait core::iter::range::Step { @@ -204,7 +198,6 @@ where end: Idx, } -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait core::iter::traits::iterator::Iterator::x86_64-apple-darwin @@ -236,7 +229,6 @@ where vtable: core::iter::range::{impl core::iter::traits::iterator::Iterator::x86_64-apple-darwin for core::ops::range::Range[TraitClause0]}::{vtable}[TraitClause0, TraitClause1] } -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait core::iter::traits::iterator::Iterator::aarch64-apple-darwin diff --git a/charon/tests/ui/multi-target/multi-targets-file-ids.out b/charon/tests/ui/multi-target/multi-targets-file-ids.out index fcd6d302d..a627a97ff 100644 --- a/charon/tests/ui/multi-target/multi-targets-file-ids.out +++ b/charon/tests/ui/multi-target/multi-targets-file-ids.out @@ -21,7 +21,6 @@ pub trait core::marker::Sized non-dyn-compatible } -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait core::clone::Clone @@ -31,7 +30,6 @@ pub trait core::clone::Clone non-dyn-compatible } -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait core::marker::Copy @@ -96,7 +94,6 @@ impl core::clone::Clone for usize { non-dyn-compatible } -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait core::cmp::PartialEq @@ -112,7 +109,6 @@ pub enum core::cmp::Ordering { Greater, } -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum core::option::Option @@ -123,7 +119,6 @@ where Some { _0: T }, } -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait core::cmp::PartialOrd @@ -152,7 +147,6 @@ impl core::cmp::PartialOrd for usize { vtable: core::cmp::impls::{impl core::cmp::PartialOrd for usize}::{vtable} } -#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait core::iter::range::Step { @@ -204,7 +198,6 @@ where end: Idx, } -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait core::iter::traits::iterator::Iterator::x86_64-apple-darwin @@ -236,7 +229,6 @@ where vtable: core::iter::range::{impl core::iter::traits::iterator::Iterator::x86_64-apple-darwin for core::ops::range::Range[TraitClause0]}::{vtable}[TraitClause0, TraitClause1] } -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait core::iter::traits::iterator::Iterator::aarch64-apple-darwin diff --git a/charon/tests/ui/polonius_map.out b/charon/tests/ui/polonius_map.out index 64ae457ff..6089341f2 100644 --- a/charon/tests/ui/polonius_map.out +++ b/charon/tests/ui/polonius_map.out @@ -6,7 +6,6 @@ pub trait MetaSized // Full name: core::borrow::Borrow -#[rustc_diagnostic_item = "Borrow"] #[diagnostic_item("Borrow")] pub trait Borrow { @@ -17,7 +16,6 @@ pub trait Borrow } // Full name: core::borrow::{impl Borrow for T}::borrow -#[rustc_diagnostic_item = "noop_method_borrow"] #[diagnostic_item("noop_method_borrow")] pub fn borrow<'_0, T>(_1: &'_0 T) -> &'_0 T where @@ -37,7 +35,6 @@ where } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -47,7 +44,6 @@ pub trait PartialEq } // Full name: core::cmp::Eq -#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -90,7 +86,6 @@ pub trait Hasher } // Full name: core::hash::Hash -#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -99,7 +94,6 @@ pub trait Hash } // Full name: core::hash::BuildHasher -#[rustc_diagnostic_item = "BuildHasher"] #[diagnostic_item("BuildHasher")] pub trait BuildHasher { @@ -126,7 +120,6 @@ impl "impl_Hash_for_u32" Hash for u32 { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -138,7 +131,6 @@ where } // Full name: std::collections::hash::map::HashMap -#[rustc_diagnostic_item = "HashMap"] #[diagnostic_item("HashMap")] pub opaque type HashMap where @@ -169,7 +161,6 @@ where = // Full name: std::collections::hash::map::{HashMap[TraitClause0, TraitClause1, TraitClause2, TraitClause3]}::insert -#[rustc_diagnostic_item = "hashmap_insert"] #[diagnostic_item("hashmap_insert")] pub fn insert<'_0, K, V, S, A>(_1: &'_0 mut HashMap[TraitClause0, TraitClause1, TraitClause2, TraitClause3], _2: K, _3: V) -> Option[TraitClause1] where diff --git a/charon/tests/ui/predicates-on-late-bound-vars.out b/charon/tests/ui/predicates-on-late-bound-vars.out index 518b492b7..115df423c 100644 --- a/charon/tests/ui/predicates-on-late-bound-vars.out +++ b/charon/tests/ui/predicates-on-late-bound-vars.out @@ -6,7 +6,6 @@ pub trait MetaSized // Full name: core::cell::RefCell -#[rustc_diagnostic_item = "RefCell"] #[diagnostic_item("RefCell")] pub opaque type RefCell where @@ -32,7 +31,6 @@ where = // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -44,7 +42,6 @@ where } // Full name: core::cell::Ref -#[rustc_diagnostic_item = "RefCellRef"] #[diagnostic_item("RefCellRef")] pub opaque type Ref<'b, T> where @@ -59,7 +56,6 @@ where = // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -70,7 +66,6 @@ pub trait Clone } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/ptr-offset.out b/charon/tests/ui/ptr-offset.out index e472c8352..31c21793b 100644 --- a/charon/tests/ui/ptr-offset.out +++ b/charon/tests/ui/ptr-offset.out @@ -19,7 +19,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -123,7 +122,6 @@ fn runtime(this: *const (), count: isize, size: usize) -> bool } // Full name: core::mem::size_of -#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn size_of() -> usize where diff --git a/charon/tests/ui/ptr_no_provenance.out b/charon/tests/ui/ptr_no_provenance.out index 960856c88..6c9c39d6a 100644 --- a/charon/tests/ui/ptr_no_provenance.out +++ b/charon/tests/ui/ptr_no_provenance.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -36,7 +34,6 @@ pub trait PartialEq } // Full name: core::cmp::Eq -#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -53,7 +50,6 @@ pub enum Ordering { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -65,7 +61,6 @@ where } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -76,7 +71,6 @@ pub trait PartialOrd } // Full name: core::cmp::Ord -#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -135,7 +129,6 @@ pub trait Hasher } // Full name: core::hash::Hash -#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -158,12 +151,10 @@ impl "impl_Hash_for_unit" Hash for () { } // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -174,7 +165,6 @@ pub trait Copy } // Full name: core::marker::Sync -#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync @@ -231,7 +221,6 @@ where = // Full name: core::ptr::without_provenance -#[rustc_diagnostic_item = "ptr_without_provenance"] #[diagnostic_item("ptr_without_provenance")] pub fn without_provenance(_1: usize) -> *const T where @@ -239,7 +228,6 @@ where = // Full name: core::ptr::null -#[rustc_diagnostic_item = "ptr_null"] #[diagnostic_item("ptr_null")] pub fn null() -> *const T where diff --git a/charon/tests/ui/quantified-clause.out b/charon/tests/ui/quantified-clause.out index d04b028f0..40a31f71d 100644 --- a/charon/tests/ui/quantified-clause.out +++ b/charon/tests/ui/quantified-clause.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -38,7 +36,6 @@ where } // Full name: core::iter::traits::iterator::Iterator -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator @@ -51,7 +48,6 @@ pub trait Iterator } // Full name: core::iter::traits::collect::IntoIterator -#[rustc_diagnostic_item = "IntoIterator"] #[diagnostic_item("IntoIterator")] pub trait IntoIterator where @@ -68,7 +64,6 @@ where } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -123,7 +118,6 @@ pub trait FnMut } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/raw-boxes.out b/charon/tests/ui/raw-boxes.out index 15009e8d7..431138620 100644 --- a/charon/tests/ui/raw-boxes.out +++ b/charon/tests/ui/raw-boxes.out @@ -4,7 +4,6 @@ pub struct AllocError {} // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -16,7 +15,6 @@ where } // Full name: core::ptr::non_null::NonNull -#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub struct NonNull { pointer: *const T is !null, @@ -394,7 +392,6 @@ where = IS_ZST[TraitClause0]() // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -593,7 +590,6 @@ where non-dyn-compatible } -#[rustc_diagnostic_item = "mem_align_of"] #[diagnostic_item("mem_align_of")] pub fn core::mem::align_of() -> usize where @@ -607,7 +603,6 @@ where } #[track_caller] -#[rustc_diagnostic_item = "ptr_write_bytes"] #[diagnostic_item("ptr_write_bytes")] pub unsafe fn core::ptr::write_bytes(dst: *mut T, val: u8, count: usize) where @@ -709,7 +704,6 @@ where } // Full name: core::ops::control_flow::ControlFlow -#[rustc_diagnostic_item = "ControlFlow"] #[diagnostic_item("ControlFlow")] pub enum ControlFlow where @@ -967,7 +961,6 @@ fn core::ptr::copy_nonoverlapping::precondition_check(src: *const (), dst: *mut return } -#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn core::mem::size_of() -> usize where @@ -981,7 +974,6 @@ where } #[track_caller] -#[rustc_diagnostic_item = "ptr_copy_nonoverlapping"] #[diagnostic_item("ptr_copy_nonoverlapping")] pub unsafe fn core::ptr::copy_nonoverlapping(src: *const T, dst: *mut T, count: usize) where @@ -1530,7 +1522,6 @@ where return } -#[rustc_diagnostic_item = "const_ptr_cast"] #[diagnostic_item("const_ptr_cast")] pub fn core::ptr::const_ptr::{*const T}::cast(self: *const T) -> *const U where @@ -1747,7 +1738,6 @@ where } // Full name: core::mem::forget -#[rustc_diagnostic_item = "mem_forget"] #[diagnostic_item("mem_forget")] pub fn forget(t: T) where @@ -1771,7 +1761,6 @@ where return } -#[rustc_diagnostic_item = "ptr_const_is_null"] #[diagnostic_item("ptr_const_is_null")] pub fn core::ptr::const_ptr::{*const T}::is_null(self: *const T) -> bool { @@ -1802,7 +1791,6 @@ pub fn core::ptr::const_ptr::{*const T}::is_null(self: *const T) -> bool // Full name: core::ptr::read #[track_caller] -#[rustc_diagnostic_item = "ptr_read"] #[diagnostic_item("ptr_read")] pub unsafe fn read(src: *const T) -> T where @@ -1821,7 +1809,6 @@ where } // Full name: core::ptr::mut_ptr::{*mut T}::cast_const -#[rustc_diagnostic_item = "ptr_cast_const"] #[diagnostic_item("ptr_cast_const")] pub fn cast_const(self: *mut T) -> *const T { @@ -1845,7 +1832,6 @@ pub fn cast_const(self: *mut T) -> *const T return } -#[rustc_diagnostic_item = "ptr_is_null"] #[diagnostic_item("ptr_is_null")] pub fn core::ptr::mut_ptr::{*mut T}::is_null(self: *mut T) -> bool { @@ -2241,7 +2227,6 @@ fn box_new_uninit(layout: Layout) -> *mut u8 return } -#[rustc_diagnostic_item = "box_new"] #[track_caller] #[diagnostic_item("box_new")] pub fn alloc::boxed::{Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}, {impl#0}]}::new(x: T) -> Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}, {impl#0}] diff --git a/charon/tests/ui/region-inference-vars.out b/charon/tests/ui/region-inference-vars.out index 9a73677cd..e665fe2aa 100644 --- a/charon/tests/ui/region-inference-vars.out +++ b/charon/tests/ui/region-inference-vars.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/regressions/invalid-reconstruct-assert.out b/charon/tests/ui/regressions/invalid-reconstruct-assert.out index 66729153f..c7dc15c7f 100644 --- a/charon/tests/ui/regressions/invalid-reconstruct-assert.out +++ b/charon/tests/ui/regressions/invalid-reconstruct-assert.out @@ -83,7 +83,6 @@ pub trait FnMut } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/regressions/issue-1067-filename-ice.out b/charon/tests/ui/regressions/issue-1067-filename-ice.out index 83adadf5e..4342abfc1 100644 --- a/charon/tests/ui/regressions/issue-1067-filename-ice.out +++ b/charon/tests/ui/regressions/issue-1067-filename-ice.out @@ -23,7 +23,6 @@ pub trait Sized } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -57,7 +56,6 @@ where pub struct Global {} // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -81,7 +79,6 @@ where = // Full name: alloc::vec::{Vec[TraitClause0, {built_in impl Sized for Global}]}::new -#[rustc_diagnostic_item = "vec_new"] #[diagnostic_item("vec_new")] pub fn new() -> Vec[TraitClause0, {built_in impl Sized for Global}] where diff --git a/charon/tests/ui/regressions/issue-1074-vtable-supertrait.out b/charon/tests/ui/regressions/issue-1074-vtable-supertrait.out index 0d23d7694..625ad304f 100644 --- a/charon/tests/ui/regressions/issue-1074-vtable-supertrait.out +++ b/charon/tests/ui/regressions/issue-1074-vtable-supertrait.out @@ -3,7 +3,6 @@ opaque type core::marker::Send::{vtable} // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send diff --git a/charon/tests/ui/regressions/issue-1294-remove-clause-underflow.out b/charon/tests/ui/regressions/issue-1294-remove-clause-underflow.out index 29d6a3c2a..359a36421 100644 --- a/charon/tests/ui/regressions/issue-1294-remove-clause-underflow.out +++ b/charon/tests/ui/regressions/issue-1294-remove-clause-underflow.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone diff --git a/charon/tests/ui/regressions/issue-1297-box-new-allocator-ty.out b/charon/tests/ui/regressions/issue-1297-box-new-allocator-ty.out index 7f31d460b..b2921dbae 100644 --- a/charon/tests/ui/regressions/issue-1297-box-new-allocator-ty.out +++ b/charon/tests/ui/regressions/issue-1297-box-new-allocator-ty.out @@ -34,7 +34,6 @@ where = // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/regressions/issue-393-vec-with-control-flow.out b/charon/tests/ui/regressions/issue-393-vec-with-control-flow.out index 3a9459c1a..60d6f2ebe 100644 --- a/charon/tests/ui/regressions/issue-393-vec-with-control-flow.out +++ b/charon/tests/ui/regressions/issue-393-vec-with-control-flow.out @@ -21,7 +21,6 @@ where TraitClause0: (T: Sized), // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -60,7 +59,6 @@ where = // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/result-unwrap.out b/charon/tests/ui/result-unwrap.out index 5e911ef1e..f3f5a8f97 100644 --- a/charon/tests/ui/result-unwrap.out +++ b/charon/tests/ui/result-unwrap.out @@ -23,7 +23,6 @@ pub trait Destruct } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/rust-name-matcher-tests.out b/charon/tests/ui/rust-name-matcher-tests.out index fa79c0e71..77b92de14 100644 --- a/charon/tests/ui/rust-name-matcher-tests.out +++ b/charon/tests/ui/rust-name-matcher-tests.out @@ -23,7 +23,6 @@ pub trait Destruct } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/rvalues.out b/charon/tests/ui/rvalues.out index 27d93f896..d5b3c7403 100644 --- a/charon/tests/ui/rvalues.out +++ b/charon/tests/ui/rvalues.out @@ -32,7 +32,6 @@ pub trait Tuple } // Full name: core::mem::size_of -#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn size_of() -> usize where @@ -40,7 +39,6 @@ where = // Full name: core::mem::align_of -#[rustc_diagnostic_item = "mem_align_of"] #[diagnostic_item("mem_align_of")] pub fn align_of() -> usize where diff --git a/charon/tests/ui/send_bound.out b/charon/tests/ui/send_bound.out index 6703aed55..c56ad3f31 100644 --- a/charon/tests/ui/send_bound.out +++ b/charon/tests/ui/send_bound.out @@ -1,7 +1,6 @@ # Final LLBC before serialization: // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send diff --git a/charon/tests/ui/simple/additions.out b/charon/tests/ui/simple/additions.out index 33bb01ac2..2896ee8dc 100644 --- a/charon/tests/ui/simple/additions.out +++ b/charon/tests/ui/simple/additions.out @@ -23,7 +23,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -125,7 +124,6 @@ impl "impl_Clone_for_u8" Clone for u8 { } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/simple/assoc-const-with-self-clause.out b/charon/tests/ui/simple/assoc-const-with-self-clause.out index ca9950359..a83aaf153 100644 --- a/charon/tests/ui/simple/assoc-const-with-self-clause.out +++ b/charon/tests/ui/simple/assoc-const-with-self-clause.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/simple/box-dyn-fnonce-raw.out b/charon/tests/ui/simple/box-dyn-fnonce-raw.out index f19d0c8e6..135a11b2c 100644 --- a/charon/tests/ui/simple/box-dyn-fnonce-raw.out +++ b/charon/tests/ui/simple/box-dyn-fnonce-raw.out @@ -34,7 +34,6 @@ pub trait Sized } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -46,7 +45,6 @@ where } // Full name: core::ptr::non_null::NonNull -#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub opaque type NonNull @@ -458,7 +456,6 @@ fn box_new_uninit(layout: Layout) -> *mut u8 } // Full name: alloc::boxed::{Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}, impl_Allocator_for_Global]}::new -#[rustc_diagnostic_item = "box_new"] #[track_caller] #[diagnostic_item("box_new")] pub fn new(x: T) -> Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}, impl_Allocator_for_Global] diff --git a/charon/tests/ui/simple/box-new.out b/charon/tests/ui/simple/box-new.out index 6061792e1..5ffdc955b 100644 --- a/charon/tests/ui/simple/box-new.out +++ b/charon/tests/ui/simple/box-new.out @@ -22,7 +22,6 @@ pub trait Sized } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where @@ -34,7 +33,6 @@ where } // Full name: core::ptr::non_null::NonNull -#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub opaque type NonNull @@ -89,7 +87,6 @@ where = // Full name: alloc::boxed::{Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}, impl_Allocator_for_Global]}::new -#[rustc_diagnostic_item = "box_new"] #[track_caller] #[diagnostic_item("box_new")] pub fn new(_1: T) -> Box[TraitClause0::ImpliedClause0, {built_in impl Sized for Global}, impl_Allocator_for_Global] diff --git a/charon/tests/ui/simple/catch-unwind.out b/charon/tests/ui/simple/catch-unwind.out index ed61a2990..ea9393985 100644 --- a/charon/tests/ui/simple/catch-unwind.out +++ b/charon/tests/ui/simple/catch-unwind.out @@ -12,7 +12,6 @@ pub trait MetaSized pub opaque type TypeId // Full name: core::any::Any -#[rustc_diagnostic_item = "Any"] #[diagnostic_item("Any")] pub trait Any where @@ -24,7 +23,6 @@ where } // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send @@ -61,12 +59,10 @@ pub trait FnOnce } // Full name: core::panic::unwind_safe::UnwindSafe -#[rustc_diagnostic_item = "unwind_safe_trait"] #[diagnostic_item("unwind_safe_trait")] pub trait UnwindSafe // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/simple/closure-fnonce.out b/charon/tests/ui/simple/closure-fnonce.out index 9f63c411d..c7cfeede8 100644 --- a/charon/tests/ui/simple/closure-fnonce.out +++ b/charon/tests/ui/simple/closure-fnonce.out @@ -32,7 +32,6 @@ pub trait Tuple } // Full name: core::mem::drop -#[rustc_diagnostic_item = "mem_drop"] #[diagnostic_item("mem_drop")] pub fn drop(_1: T) where diff --git a/charon/tests/ui/simple/closure-inside-inline-const.out b/charon/tests/ui/simple/closure-inside-inline-const.out index a36da7860..4fd1985ae 100644 --- a/charon/tests/ui/simple/closure-inside-inline-const.out +++ b/charon/tests/ui/simple/closure-inside-inline-const.out @@ -32,7 +32,6 @@ pub trait Tuple } // Full name: core::mem::size_of -#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn size_of() -> usize where diff --git a/charon/tests/ui/simple/closure-with-drops.out b/charon/tests/ui/simple/closure-with-drops.out index b63e7263c..a92aac947 100644 --- a/charon/tests/ui/simple/closure-with-drops.out +++ b/charon/tests/ui/simple/closure-with-drops.out @@ -32,7 +32,6 @@ pub trait Tuple } // Full name: core::mem::drop -#[rustc_diagnostic_item = "mem_drop"] #[diagnostic_item("mem_drop")] pub fn drop(_1: T) where diff --git a/charon/tests/ui/simple/closure-with-remove-adt-clauses.out b/charon/tests/ui/simple/closure-with-remove-adt-clauses.out index 98bd158d5..440a656ca 100644 --- a/charon/tests/ui/simple/closure-with-remove-adt-clauses.out +++ b/charon/tests/ui/simple/closure-with-remove-adt-clauses.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/simple/defaulted-rpitit.3.out b/charon/tests/ui/simple/defaulted-rpitit.3.out index dbbddfbba..23d9a452c 100644 --- a/charon/tests/ui/simple/defaulted-rpitit.3.out +++ b/charon/tests/ui/simple/defaulted-rpitit.3.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::iter::sources::empty::Empty -#[rustc_diagnostic_item = "IterEmpty"] #[diagnostic_item("IterEmpty")] pub opaque type Empty where @@ -28,7 +27,6 @@ where = // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -40,7 +38,6 @@ where } // Full name: core::iter::traits::iterator::Iterator -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/simple/drop-cow.out b/charon/tests/ui/simple/drop-cow.out index dea4aba8b..4a1cab71b 100644 --- a/charon/tests/ui/simple/drop-cow.out +++ b/charon/tests/ui/simple/drop-cow.out @@ -14,7 +14,6 @@ pub trait Destruct pub trait MetaSized // Full name: core::borrow::Borrow -#[rustc_diagnostic_item = "Borrow"] #[diagnostic_item("Borrow")] pub trait Borrow { @@ -36,7 +35,6 @@ pub trait Sized } // Full name: alloc::borrow::ToOwned -#[rustc_diagnostic_item = "ToOwned"] #[diagnostic_item("ToOwned")] pub trait ToOwned { diff --git a/charon/tests/ui/simple/drop-string-desugar.out b/charon/tests/ui/simple/drop-string-desugar.out index 318156b90..9e9e37cfa 100644 --- a/charon/tests/ui/simple/drop-string-desugar.out +++ b/charon/tests/ui/simple/drop-string-desugar.out @@ -37,7 +37,6 @@ impl "impl_Destruct_for_Global" Destruct for Global { } // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -86,7 +85,6 @@ unsafe fn impl_Destruct_for_String::drop_glue<'_0>(_1: &'_0 mut String) } // Full name: alloc::string::{String}::new -#[rustc_diagnostic_item = "string_new"] #[diagnostic_item("string_new")] pub fn new() -> String = diff --git a/charon/tests/ui/simple/drop-string.out b/charon/tests/ui/simple/drop-string.out index 9bdc70b45..7e39b8cfe 100644 --- a/charon/tests/ui/simple/drop-string.out +++ b/charon/tests/ui/simple/drop-string.out @@ -37,7 +37,6 @@ impl "impl_Destruct_for_Global" Destruct for Global { } // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -79,7 +78,6 @@ unsafe fn impl_Destruct_for_String::drop_glue<'_0>(_1: &'_0 mut String) } // Full name: alloc::string::{String}::new -#[rustc_diagnostic_item = "string_new"] #[diagnostic_item("string_new")] pub fn new() -> String = diff --git a/charon/tests/ui/simple/fewer-clauses-in-method-impl.out b/charon/tests/ui/simple/fewer-clauses-in-method-impl.out index dcfbf4e0f..b2698f947 100644 --- a/charon/tests/ui/simple/fewer-clauses-in-method-impl.out +++ b/charon/tests/ui/simple/fewer-clauses-in-method-impl.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/simple/fn_ptr_trait.out b/charon/tests/ui/simple/fn_ptr_trait.out index f9570c691..5208664e6 100644 --- a/charon/tests/ui/simple/fn_ptr_trait.out +++ b/charon/tests/ui/simple/fn_ptr_trait.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/simple/foreign-inline-const.out b/charon/tests/ui/simple/foreign-inline-const.out index 4af5d8e43..90c58b503 100644 --- a/charon/tests/ui/simple/foreign-inline-const.out +++ b/charon/tests/ui/simple/foreign-inline-const.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::mem::size_of -#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn size_of() -> usize where diff --git a/charon/tests/ui/simple/gat-check-binder-levels.out b/charon/tests/ui/simple/gat-check-binder-levels.out index 89615012b..50a83b925 100644 --- a/charon/tests/ui/simple/gat-check-binder-levels.out +++ b/charon/tests/ui/simple/gat-check-binder-levels.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/simple/gat-default.out b/charon/tests/ui/simple/gat-default.out index 4b0ac3f61..ea828cc4d 100644 --- a/charon/tests/ui/simple/gat-default.out +++ b/charon/tests/ui/simple/gat-default.out @@ -19,7 +19,6 @@ pub trait Sized pub struct Global {} // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/simple/gat-implied-clause.out b/charon/tests/ui/simple/gat-implied-clause.out index 9f3b36ff2..35e6e474f 100644 --- a/charon/tests/ui/simple/gat-implied-clause.out +++ b/charon/tests/ui/simple/gat-implied-clause.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone diff --git a/charon/tests/ui/simple/generic-cast-to-dyn.out b/charon/tests/ui/simple/generic-cast-to-dyn.out index 5217105eb..b2ba0c607 100644 --- a/charon/tests/ui/simple/generic-cast-to-dyn.out +++ b/charon/tests/ui/simple/generic-cast-to-dyn.out @@ -12,7 +12,6 @@ pub trait MetaSized pub opaque type TypeId // Full name: core::any::Any -#[rustc_diagnostic_item = "Any"] #[diagnostic_item("Any")] pub trait Any where diff --git a/charon/tests/ui/simple/generic-discriminant.out b/charon/tests/ui/simple/generic-discriminant.out index 018264637..d99727e35 100644 --- a/charon/tests/ui/simple/generic-discriminant.out +++ b/charon/tests/ui/simple/generic-discriminant.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -36,7 +34,6 @@ pub trait PartialEq } // Full name: core::cmp::Eq -#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -54,7 +51,6 @@ pub trait Hasher } // Full name: core::hash::Hash -#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -63,12 +59,10 @@ pub trait Hash } // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -79,7 +73,6 @@ pub trait Copy } // Full name: core::marker::Sync -#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync @@ -113,7 +106,6 @@ where TraitClause0: (T: Sized), // Full name: core::mem::discriminant -#[rustc_diagnostic_item = "mem_discriminant"] #[track_caller] #[diagnostic_item("mem_discriminant")] pub fn discriminant<'_0, T>(v: &'_0 T) -> Discriminant[TraitClause0] diff --git a/charon/tests/ui/simple/generic-impl-with-defaulted-method.out b/charon/tests/ui/simple/generic-impl-with-defaulted-method.out index d0f8e34a1..09d06c869 100644 --- a/charon/tests/ui/simple/generic-impl-with-defaulted-method.out +++ b/charon/tests/ui/simple/generic-impl-with-defaulted-method.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/simple/hide-drops.out b/charon/tests/ui/simple/hide-drops.out index 6eb3103eb..0b419a877 100644 --- a/charon/tests/ui/simple/hide-drops.out +++ b/charon/tests/ui/simple/hide-drops.out @@ -9,7 +9,6 @@ unsafe fn drop_glue<'_0>(_1: &'_0 mut String) = // Full name: alloc::string::{String}::new -#[rustc_diagnostic_item = "string_new"] #[diagnostic_item("string_new")] pub fn new() -> String = diff --git a/charon/tests/ui/simple/intrinsic-same-name-across-modules.out b/charon/tests/ui/simple/intrinsic-same-name-across-modules.out index 7322bf9eb..ca7d56b1b 100644 --- a/charon/tests/ui/simple/intrinsic-same-name-across-modules.out +++ b/charon/tests/ui/simple/intrinsic-same-name-across-modules.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -37,7 +36,6 @@ impl "impl_Clone_for_u8" Clone for u8 { } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/simple/lending-iterator-gat.out b/charon/tests/ui/simple/lending-iterator-gat.out index 26cc274b1..b4409676a 100644 --- a/charon/tests/ui/simple/lending-iterator-gat.out +++ b/charon/tests/ui/simple/lending-iterator-gat.out @@ -59,7 +59,6 @@ pub trait FnMut } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/simple/lifetime-unification-from-trait-impl.out b/charon/tests/ui/simple/lifetime-unification-from-trait-impl.out index 4f17464a9..0e6da313b 100644 --- a/charon/tests/ui/simple/lifetime-unification-from-trait-impl.out +++ b/charon/tests/ui/simple/lifetime-unification-from-trait-impl.out @@ -23,7 +23,6 @@ pub trait Destruct } // Full name: core::ptr::const_ptr::{*const T}::cast -#[rustc_diagnostic_item = "const_ptr_cast"] #[diagnostic_item("const_ptr_cast")] pub fn cast(_1: *const T) -> *const U where diff --git a/charon/tests/ui/simple/manual-drop-impl.out b/charon/tests/ui/simple/manual-drop-impl.out index a58836a8c..a809140a8 100644 --- a/charon/tests/ui/simple/manual-drop-impl.out +++ b/charon/tests/ui/simple/manual-drop-impl.out @@ -42,7 +42,6 @@ where pub struct Global {} // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/simple/metadata-without-marker-trait.out b/charon/tests/ui/simple/metadata-without-marker-trait.out index 2e9c5fa92..079b9c2ed 100644 --- a/charon/tests/ui/simple/metadata-without-marker-trait.out +++ b/charon/tests/ui/simple/metadata-without-marker-trait.out @@ -1,7 +1,6 @@ # Final LLBC before serialization: // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option { diff --git a/charon/tests/ui/simple/min.out b/charon/tests/ui/simple/min.out index bfd64dbf4..8e181d505 100644 --- a/charon/tests/ui/simple/min.out +++ b/charon/tests/ui/simple/min.out @@ -23,7 +23,6 @@ pub trait Sized } // Full name: core::cmp::impls::{impl Ord for u64}::min -#[rustc_diagnostic_item = "cmp_ord_min"] #[diagnostic_item("cmp_ord_min")] pub fn impl_Ord_for_u64::min(_1: u64, _2: u64) -> u64 where diff --git a/charon/tests/ui/simple/nested-closure-lifetime.out b/charon/tests/ui/simple/nested-closure-lifetime.out index fcdcf7e7c..992ecc829 100644 --- a/charon/tests/ui/simple/nested-closure-lifetime.out +++ b/charon/tests/ui/simple/nested-closure-lifetime.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone diff --git a/charon/tests/ui/simple/nested-closure-trait-ref.out b/charon/tests/ui/simple/nested-closure-trait-ref.out index d9afdd451..56230ea03 100644 --- a/charon/tests/ui/simple/nested-closure-trait-ref.out +++ b/charon/tests/ui/simple/nested-closure-trait-ref.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone diff --git a/charon/tests/ui/simple/nested-closure.out b/charon/tests/ui/simple/nested-closure.out index a45388fa9..6837efcc4 100644 --- a/charon/tests/ui/simple/nested-closure.out +++ b/charon/tests/ui/simple/nested-closure.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone diff --git a/charon/tests/ui/simple/non-lifetime-gats.out b/charon/tests/ui/simple/non-lifetime-gats.out index e6f1747b8..46db63510 100644 --- a/charon/tests/ui/simple/non-lifetime-gats.out +++ b/charon/tests/ui/simple/non-lifetime-gats.out @@ -23,7 +23,6 @@ pub trait Destruct } // Full name: core::ops::deref::Deref -#[rustc_diagnostic_item = "Deref"] #[lang_item(Deref)] #[diagnostic_item("Deref")] pub trait Deref diff --git a/charon/tests/ui/simple/partial-drop.out b/charon/tests/ui/simple/partial-drop.out index 858dfdf12..08a5b53aa 100644 --- a/charon/tests/ui/simple/partial-drop.out +++ b/charon/tests/ui/simple/partial-drop.out @@ -9,7 +9,6 @@ pub trait Destruct } // Full name: core::mem::drop -#[rustc_diagnostic_item = "mem_drop"] #[diagnostic_item("mem_drop")] pub fn drop(_1: T) where diff --git a/charon/tests/ui/simple/promoted-in-generic-fn.out b/charon/tests/ui/simple/promoted-in-generic-fn.out index e289eb116..255aed20d 100644 --- a/charon/tests/ui/simple/promoted-in-generic-fn.out +++ b/charon/tests/ui/simple/promoted-in-generic-fn.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::mem::size_of -#[rustc_diagnostic_item = "mem_size_of"] #[diagnostic_item("mem_size_of")] pub fn size_of() -> usize where diff --git a/charon/tests/ui/simple/ptr-from-raw-parts.out b/charon/tests/ui/simple/ptr-from-raw-parts.out index 92421786c..5c4009bf6 100644 --- a/charon/tests/ui/simple/ptr-from-raw-parts.out +++ b/charon/tests/ui/simple/ptr-from-raw-parts.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -36,7 +34,6 @@ pub trait PartialEq } // Full name: core::cmp::Eq -#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -53,7 +50,6 @@ pub enum Ordering { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -65,7 +61,6 @@ where } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -76,7 +71,6 @@ pub trait PartialOrd } // Full name: core::cmp::Ord -#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -135,7 +129,6 @@ pub trait Hasher } // Full name: core::hash::Hash -#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -158,12 +151,10 @@ impl "impl_Hash_for_unit" Hash for () { } // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -174,7 +165,6 @@ pub trait Copy } // Full name: core::marker::Sync -#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync diff --git a/charon/tests/ui/simple/ptr_metadata.out b/charon/tests/ui/simple/ptr_metadata.out index 336617035..6dcb49029 100644 --- a/charon/tests/ui/simple/ptr_metadata.out +++ b/charon/tests/ui/simple/ptr_metadata.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -36,7 +34,6 @@ pub trait PartialEq } // Full name: core::cmp::Eq -#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -53,7 +50,6 @@ pub enum Ordering { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -65,7 +61,6 @@ where } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -76,7 +71,6 @@ pub trait PartialOrd } // Full name: core::cmp::Ord -#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -135,7 +129,6 @@ pub trait Hasher } // Full name: core::hash::Hash -#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -158,12 +151,10 @@ impl "impl_Hash_for_unit" Hash for () { } // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -174,7 +165,6 @@ pub trait Copy } // Full name: core::marker::Sync -#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync @@ -224,7 +214,6 @@ where } // Full name: core::ptr::null -#[rustc_diagnostic_item = "ptr_null"] #[diagnostic_item("ptr_null")] pub fn null() -> *const T where diff --git a/charon/tests/ui/simple/range-iter.out b/charon/tests/ui/simple/range-iter.out index 35aee5cab..21d6497fb 100644 --- a/charon/tests/ui/simple/range-iter.out +++ b/charon/tests/ui/simple/range-iter.out @@ -1,7 +1,6 @@ # Final LLBC before serialization: // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -21,7 +20,6 @@ impl "impl_Clone_for_usize" Clone for usize { } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -39,7 +37,6 @@ pub enum Ordering { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option { @@ -48,7 +45,6 @@ pub enum Option { } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -80,7 +76,6 @@ impl "impl_PartialOrd_usize_for_usize" PartialOrd for usize { } // Full name: core::iter::range::Step -#[rustc_diagnostic_item = "range_step"] #[diagnostic_item("range_step")] pub trait Step { @@ -134,7 +129,6 @@ pub struct Range { } // Full name: core::iter::traits::iterator::Iterator -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/simple/rpitit-with-lifetime.out b/charon/tests/ui/simple/rpitit-with-lifetime.out index 38bc42e27..27c0957ad 100644 --- a/charon/tests/ui/simple/rpitit-with-lifetime.out +++ b/charon/tests/ui/simple/rpitit-with-lifetime.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -27,7 +26,6 @@ where } // Full name: core::iter::traits::iterator::Iterator -#[rustc_diagnostic_item = "Iterator"] #[lang_item(Iterator)] #[diagnostic_item("Iterator")] pub trait Iterator diff --git a/charon/tests/ui/simple/slice_index_range.out b/charon/tests/ui/simple/slice_index_range.out index 0ba9bbf74..3fce4b40c 100644 --- a/charon/tests/ui/simple/slice_index_range.out +++ b/charon/tests/ui/simple/slice_index_range.out @@ -421,7 +421,6 @@ fn core::slice::index::slice_index_fail::do_panic#3::runtime(end: usize, len: us } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -537,7 +536,6 @@ fn core::slice::index::slice_index_fail::do_panic#3(end: usize, len: usize) -> ! } // Full name: core::slice::index::SliceIndex -#[rustc_diagnostic_item = "SliceIndex"] #[diagnostic_item("SliceIndex")] pub trait SliceIndex { diff --git a/charon/tests/ui/simple/thread-local.out b/charon/tests/ui/simple/thread-local.out index c8afa643c..6b688bb4e 100644 --- a/charon/tests/ui/simple/thread-local.out +++ b/charon/tests/ui/simple/thread-local.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -37,7 +36,6 @@ impl Clone for ! { } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -72,7 +70,6 @@ pub trait Tuple } // Full name: core::mem::needs_drop -#[rustc_diagnostic_item = "needs_drop"] #[diagnostic_item("needs_drop")] pub fn needs_drop() -> bool where @@ -120,7 +117,6 @@ pub trait Fn } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -198,7 +194,6 @@ where = // Full name: std::thread::local::LocalKey -#[rustc_diagnostic_item = "LocalKey"] #[diagnostic_item("LocalKey")] pub opaque type LocalKey where diff --git a/charon/tests/ui/simple/trait-alias.out b/charon/tests/ui/simple/trait-alias.out index 511ce68ba..4a53228a0 100644 --- a/charon/tests/ui/simple/trait-alias.out +++ b/charon/tests/ui/simple/trait-alias.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -34,7 +33,6 @@ pub trait Destruct } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/simple/vec-push.out b/charon/tests/ui/simple/vec-push.out index 86801b9af..b22d2e7e3 100644 --- a/charon/tests/ui/simple/vec-push.out +++ b/charon/tests/ui/simple/vec-push.out @@ -137,7 +137,6 @@ where pub opaque type UsizeNoHighBit // Full name: core::ptr::non_null::NonNull -#[rustc_diagnostic_item = "NonNull"] #[diagnostic_item("NonNull")] pub opaque type NonNull @@ -180,7 +179,6 @@ where = // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub struct Vec where diff --git a/charon/tests/ui/simple/vec-with-capacity.out b/charon/tests/ui/simple/vec-with-capacity.out index 767e73641..ae0f1404d 100644 --- a/charon/tests/ui/simple/vec-with-capacity.out +++ b/charon/tests/ui/simple/vec-with-capacity.out @@ -80,7 +80,6 @@ where = // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub struct Vec where @@ -332,7 +331,6 @@ where } // Full name: alloc::vec::{Vec[TraitClause0, {built_in impl Sized for Global}]}::with_capacity -#[rustc_diagnostic_item = "vec_with_capacity"] #[diagnostic_item("vec_with_capacity")] pub fn with_capacity(capacity: usize) -> Vec[TraitClause0, {built_in impl Sized for Global}] where diff --git a/charon/tests/ui/simple/well-formedness-bound.out b/charon/tests/ui/simple/well-formedness-bound.out index d693fdf03..1342e6b7b 100644 --- a/charon/tests/ui/simple/well-formedness-bound.out +++ b/charon/tests/ui/simple/well-formedness-bound.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/slice-index-range.out b/charon/tests/ui/slice-index-range.out index be3489de0..29e411396 100644 --- a/charon/tests/ui/slice-index-range.out +++ b/charon/tests/ui/slice-index-range.out @@ -458,7 +458,6 @@ fn core::slice::index::slice_index_fail::do_panic#3::runtime(end: usize, len: us } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -603,7 +602,6 @@ where = // Full name: core::slice::index::SliceIndex -#[rustc_diagnostic_item = "SliceIndex"] #[diagnostic_item("SliceIndex")] pub trait SliceIndex { diff --git a/charon/tests/ui/traits.out b/charon/tests/ui/traits.out index d61dd4982..091bd3e00 100644 --- a/charon/tests/ui/traits.out +++ b/charon/tests/ui/traits.out @@ -72,7 +72,6 @@ pub trait Fn } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -91,7 +90,6 @@ where = // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/traits/default-method-with-item-bound.out b/charon/tests/ui/traits/default-method-with-item-bound.out index de533045b..155cee4de 100644 --- a/charon/tests/ui/traits/default-method-with-item-bound.out +++ b/charon/tests/ui/traits/default-method-with-item-bound.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -37,7 +35,6 @@ pub trait Copy } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option diff --git a/charon/tests/ui/traits/issue-1242-dyn-send-supertrait.out b/charon/tests/ui/traits/issue-1242-dyn-send-supertrait.out index b9928cb64..61dcc8148 100644 --- a/charon/tests/ui/traits/issue-1242-dyn-send-supertrait.out +++ b/charon/tests/ui/traits/issue-1242-dyn-send-supertrait.out @@ -3,7 +3,6 @@ opaque type core::marker::Send::{vtable} // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send diff --git a/charon/tests/ui/traits/issue-513-gat-clause-mismatch-use-clause.out b/charon/tests/ui/traits/issue-513-gat-clause-mismatch-use-clause.out index f620bb32a..fb4b3eb13 100644 --- a/charon/tests/ui/traits/issue-513-gat-clause-mismatch-use-clause.out +++ b/charon/tests/ui/traits/issue-513-gat-clause-mismatch-use-clause.out @@ -1,7 +1,6 @@ # Final LLBC before serialization: // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq diff --git a/charon/tests/ui/traits/issue-513-gat-clause-mismatch.out b/charon/tests/ui/traits/issue-513-gat-clause-mismatch.out index 16feb800e..1bd428f75 100644 --- a/charon/tests/ui/traits/issue-513-gat-clause-mismatch.out +++ b/charon/tests/ui/traits/issue-513-gat-clause-mismatch.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/traits/issue-513-method-clause-mismatch-and-default-call.out b/charon/tests/ui/traits/issue-513-method-clause-mismatch-and-default-call.out index be6c57912..8650d9c15 100644 --- a/charon/tests/ui/traits/issue-513-method-clause-mismatch-and-default-call.out +++ b/charon/tests/ui/traits/issue-513-method-clause-mismatch-and-default-call.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/traits/issue-513-method-clause-mismatch.out b/charon/tests/ui/traits/issue-513-method-clause-mismatch.out index 354af88bf..37c4cbe8a 100644 --- a/charon/tests/ui/traits/issue-513-method-clause-mismatch.out +++ b/charon/tests/ui/traits/issue-513-method-clause-mismatch.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy diff --git a/charon/tests/ui/traits/pointee-metadata-bounds.out b/charon/tests/ui/traits/pointee-metadata-bounds.out index e162a94db..fa344b74a 100644 --- a/charon/tests/ui/traits/pointee-metadata-bounds.out +++ b/charon/tests/ui/traits/pointee-metadata-bounds.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -36,7 +34,6 @@ pub trait PartialEq } // Full name: core::cmp::Eq -#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -53,7 +50,6 @@ pub enum Ordering { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -65,7 +61,6 @@ where } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -76,7 +71,6 @@ pub trait PartialOrd } // Full name: core::cmp::Ord -#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -96,7 +90,6 @@ pub trait Hasher } // Full name: core::hash::Hash -#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -105,12 +98,10 @@ pub trait Hash } // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -121,7 +112,6 @@ pub trait Copy } // Full name: core::marker::Sync -#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync diff --git a/charon/tests/ui/traits_special.out b/charon/tests/ui/traits_special.out index 48f2d3f4b..00e13e78b 100644 --- a/charon/tests/ui/traits_special.out +++ b/charon/tests/ui/traits_special.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::result::Result -#[rustc_diagnostic_item = "Result"] #[diagnostic_item("Result")] pub enum Result where diff --git a/charon/tests/ui/type_alias.out b/charon/tests/ui/type_alias.out index 0c22e3607..562ecaf34 100644 --- a/charon/tests/ui/type_alias.out +++ b/charon/tests/ui/type_alias.out @@ -6,7 +6,6 @@ pub trait MetaSized // Full name: core::borrow::Borrow -#[rustc_diagnostic_item = "Borrow"] #[diagnostic_item("Borrow")] pub trait Borrow { @@ -26,7 +25,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -41,7 +39,6 @@ pub trait Clone pub struct Global {} // Full name: alloc::borrow::ToOwned -#[rustc_diagnostic_item = "ToOwned"] #[diagnostic_item("ToOwned")] pub trait ToOwned { @@ -54,7 +51,6 @@ pub trait ToOwned } // Full name: alloc::borrow::Cow -#[rustc_diagnostic_item = "Cow"] #[diagnostic_item("Cow")] pub enum Cow<'a, B> where @@ -68,7 +64,6 @@ where } // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/type_inference_is_order_dependent.out b/charon/tests/ui/type_inference_is_order_dependent.out index d6c202f8c..f16f1d1dd 100644 --- a/charon/tests/ui/type_inference_is_order_dependent.out +++ b/charon/tests/ui/type_inference_is_order_dependent.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::default::Default -#[rustc_diagnostic_item = "Default"] #[diagnostic_item("Default")] pub trait Default { diff --git a/charon/tests/ui/unsafe-impl-send.out b/charon/tests/ui/unsafe-impl-send.out index a5be50e8f..14f95f9e0 100644 --- a/charon/tests/ui/unsafe-impl-send.out +++ b/charon/tests/ui/unsafe-impl-send.out @@ -1,7 +1,6 @@ # Final LLBC before serialization: // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send diff --git a/charon/tests/ui/unsafe.out b/charon/tests/ui/unsafe.out index 8164f9544..7819f1bc7 100644 --- a/charon/tests/ui/unsafe.out +++ b/charon/tests/ui/unsafe.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -26,7 +25,6 @@ pub trait Clone } // Full name: core::cmp::PartialEq -#[rustc_diagnostic_item = "PartialEq"] #[lang_item(PartialEq)] #[diagnostic_item("PartialEq")] pub trait PartialEq @@ -36,7 +34,6 @@ pub trait PartialEq } // Full name: core::cmp::Eq -#[rustc_diagnostic_item = "Eq"] #[diagnostic_item("Eq")] pub trait Eq { @@ -53,7 +50,6 @@ pub enum Ordering { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -65,7 +61,6 @@ where } // Full name: core::cmp::PartialOrd -#[rustc_diagnostic_item = "PartialOrd"] #[lang_item(PartialOrd)] #[diagnostic_item("PartialOrd")] pub trait PartialOrd @@ -76,7 +71,6 @@ pub trait PartialOrd } // Full name: core::cmp::Ord -#[rustc_diagnostic_item = "Ord"] #[diagnostic_item("Ord")] pub trait Ord { @@ -135,7 +129,6 @@ pub trait Hasher } // Full name: core::hash::Hash -#[rustc_diagnostic_item = "Hash"] #[diagnostic_item("Hash")] pub trait Hash { @@ -162,12 +155,10 @@ pub unsafe fn core::intrinsics::assume(b_1: bool) = // Full name: core::marker::Send -#[rustc_diagnostic_item = "Send"] #[diagnostic_item("Send")] pub trait Send // Full name: core::marker::Copy -#[rustc_diagnostic_item = "Copy"] #[lang_item(Copy)] #[diagnostic_item("Copy")] pub trait Copy @@ -178,7 +169,6 @@ pub trait Copy } // Full name: core::marker::Sync -#[rustc_diagnostic_item = "Sync"] #[lang_item(Sync)] #[diagnostic_item("Sync")] pub trait Sync @@ -216,7 +206,6 @@ pub trait Pointee } // Full name: core::ptr::null -#[rustc_diagnostic_item = "ptr_null"] #[diagnostic_item("ptr_null")] pub fn null() -> *const T where diff --git a/charon/tests/ui/unsize.out b/charon/tests/ui/unsize.out index be07afdb5..7a1e4fb52 100644 --- a/charon/tests/ui/unsize.out +++ b/charon/tests/ui/unsize.out @@ -28,7 +28,6 @@ where = // Full name: alloc::rc::Rc -#[rustc_diagnostic_item = "Rc"] #[diagnostic_item("Rc")] pub opaque type Rc where @@ -57,7 +56,6 @@ pub opaque type String unsafe fn impl_Destruct_for_String::drop_glue<'_0>(_1: &'_0 mut String) = -#[rustc_diagnostic_item = "string_new"] #[diagnostic_item("string_new")] pub fn alloc::string::{String}::new() -> String = diff --git a/charon/tests/ui/unsupported/issue-79-bound-regions.out b/charon/tests/ui/unsupported/issue-79-bound-regions.out index 4082afa5b..ff1bde86d 100644 --- a/charon/tests/ui/unsupported/issue-79-bound-regions.out +++ b/charon/tests/ui/unsupported/issue-79-bound-regions.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option @@ -27,7 +26,6 @@ where } // Full name: core::slice::iter::Iter -#[rustc_diagnostic_item = "SliceIter"] #[diagnostic_item("SliceIter")] pub opaque type Iter<'a, T> where @@ -45,7 +43,6 @@ where = // Full name: core::slice::{[T]}::iter -#[rustc_diagnostic_item = "slice_iter"] #[diagnostic_item("slice_iter")] pub fn iter<'_0, T>(_1: &'_0 [T]) -> Iter<'_0, T>[TraitClause0] where diff --git a/charon/tests/ui/vec-reconstruct-move-values.out b/charon/tests/ui/vec-reconstruct-move-values.out index 16273733d..ff5ac4185 100644 --- a/charon/tests/ui/vec-reconstruct-move-values.out +++ b/charon/tests/ui/vec-reconstruct-move-values.out @@ -34,7 +34,6 @@ where = // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/vec-reconstruct-multiple-adjacent.out b/charon/tests/ui/vec-reconstruct-multiple-adjacent.out index c22841757..5eeccdab9 100644 --- a/charon/tests/ui/vec-reconstruct-multiple-adjacent.out +++ b/charon/tests/ui/vec-reconstruct-multiple-adjacent.out @@ -15,7 +15,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -56,7 +55,6 @@ where = // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where @@ -80,7 +78,6 @@ where = // Full name: alloc::vec::from_elem -#[rustc_diagnostic_item = "vec_from_elem"] #[diagnostic_item("vec_from_elem")] pub fn from_elem(_1: T, _2: usize) -> Vec[TraitClause0, {built_in impl Sized for Global}] where diff --git a/charon/tests/ui/vec-reconstruct-nested.out b/charon/tests/ui/vec-reconstruct-nested.out index 9781ea68f..f25cc8113 100644 --- a/charon/tests/ui/vec-reconstruct-nested.out +++ b/charon/tests/ui/vec-reconstruct-nested.out @@ -34,7 +34,6 @@ where = // Full name: alloc::vec::Vec -#[rustc_diagnostic_item = "Vec"] #[diagnostic_item("Vec")] pub opaque type Vec where diff --git a/charon/tests/ui/vtable-simple.out b/charon/tests/ui/vtable-simple.out index 4188dc810..6cf347c67 100644 --- a/charon/tests/ui/vtable-simple.out +++ b/charon/tests/ui/vtable-simple.out @@ -17,7 +17,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone diff --git a/charon/tests/ui/vtable_drop.out b/charon/tests/ui/vtable_drop.out index bcd961c4f..3bdedff7b 100644 --- a/charon/tests/ui/vtable_drop.out +++ b/charon/tests/ui/vtable_drop.out @@ -25,7 +25,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone diff --git a/charon/tests/ui/vtables.out b/charon/tests/ui/vtables.out index 9463703d6..3335feda2 100644 --- a/charon/tests/ui/vtables.out +++ b/charon/tests/ui/vtables.out @@ -17,7 +17,6 @@ pub trait Sized } // Full name: core::clone::Clone -#[rustc_diagnostic_item = "Clone"] #[lang_item(Clone)] #[diagnostic_item("Clone")] pub trait Clone @@ -39,7 +38,6 @@ impl "impl_Clone_for_i32" Clone for i32 { } // Full name: core::option::Option -#[rustc_diagnostic_item = "Option"] #[lang_item(Option)] #[diagnostic_item("Option")] pub enum Option