{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":795280217,"defaultBranch":"master","name":"rust","ownerLogin":"Billy-Sheppard","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2024-05-03T00:09:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/39789405?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1714694993.2127721","currentOid":""},"activityList":{"items":[{"before":"cc1bd5b7969465e2dbac057e73a79fd355b3c9a8","after":"f27d1e114c70ff4aca98f3afc2d432b1169b3465","ref":"refs/heads/master","pushedAt":"2024-05-13T03:07:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"Use shared statics for the ArcInner for Arc::default, and for Arc<[T]>::default where alignof(T) <= 16.","shortMessageHtmlLink":"Use shared statics for the ArcInner for Arc<str, CStr>::default, and …"}},{"before":"09074c8c78c8488f7e3e965a063995d480289106","after":"cc1bd5b7969465e2dbac057e73a79fd355b3c9a8","ref":"refs/heads/master","pushedAt":"2024-05-13T01:59:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"added Default impls\n\nreorganised attrs\n\nremoved OsStr impls\n\nadded backticks\n\nAdd note about possible allocation-sharing to Arc/Rc::default.\n\nUse shared statics for the ArcInner for Arc::default, and for Arc<[T]>::default where alignof(T) <= 16.\n\nfixed unsafe block\n\nRevert \"fixed unsafe block\"","shortMessageHtmlLink":"added Default impls"}},{"before":"a2e036fbbad706add544f9b7840795e4a8139f3b","after":"09074c8c78c8488f7e3e965a063995d480289106","ref":"refs/heads/master","pushedAt":"2024-05-13T00:48:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"added Default impls\n\nreorganised attrs\n\nremoved OsStr impls\n\nadded backticks\n\nAdd note about possible allocation-sharing to Arc/Rc::default.\n\nUse shared statics for the ArcInner for Arc::default, and for Arc<[T]>::default where alignof(T) <= 16.\n\nfixed unsafe block\n\nRevert \"fixed unsafe block\"\n\nThis reverts commit 6eb6aee5bc86e884d3d685d06de2a51d7fa826a8.\n\nReturn coherent description for boolean instead of panicking\n\nImprove check-cfg CLI errors with more structured diagnostics\n\nMove various stdlib tests to library/std/tests\n\nRun tidy on tests\n\nRename test for issue 21058\n\nImplement `edition` method on `Rustdoc` type as well\n\nMigrate `run-make/doctests-runtool` to rmake\n\nRename `run-make-support` library `output` method to `command_output`\n\nAdd new `output` method to `Rustc` and `Rustdoc` types\n\nMigrate `run-make/rustdoc-error-lines` to `rmake.rs`\n\nadd f16 associated constants\n\nNaN and infinity are not included as they require arithmetic.\n\nadd f128 associated constants\n\nNaN and infinity are not included as they require arithmetic.\n\nadd constants in std::f16::consts\n\nadd constants in std::f128::consts\n\nupdate error messages in ui tests\n\nDocument that `create_dir_all` calls `mkdir`/`CreateDirW` multiple times\n\nAlso mention that there might be leftover directories in the error case.\n\nPrefer lower vtable candidates in select in new solver\n\nDon't consider candidates with no failing where clauses\n\nUse super_fold in RegionsToStatic visitor\n\nMake check-cfg docs more user-friendly\n\nRecord impl args in the InsepctCandiate rather than rematching during select\n\nUse correct ImplSource for alias bounds\n\nBorrowckInferCtxt: infcx by value\n\nborrowck: more eagerly prepopulate opaques\n\nswitch new solver to directly inject opaque types\n\nUpdate books\n\nAdjust dbg.value/dbg.declare checks for LLVM update\n\nhttps://github.com/llvm/llvm-project/pull/89799 changes llvm.dbg.value/declare intrinsics to be in a different, out-of-instruction-line representation. For example\n call void @llvm.dbg.declare(...)\nbecomes\n #dbg_declare(...)\n\nUpdate tests accordingly to work with both the old and new way.\n\nAdjust 64-bit ARM data layouts for LLVM update\n\nLLVM has updated data layouts to specify `Fn32` on 64-bit ARM to avoid\nC++ accidentally underaligning functions when trying to comply with\nmember function ABIs.\n\nThis should only affect Rust in cases where we had a similar bug (I\ndon't believe we have one), but our data layout must match to generate\ncode.\n\nAs a compatibility adaptatation, if LLVM is not version 19 yet, `Fn32`\ngets voided from the data layout.\n\nSee llvm/llvm-project#90415\n\nUpdate version of cc crate to v1.0.97\n\nReason:\n\nIn order to build the Windows version of the Rust toolchain for the Android platform, the following patch to the cc is crate is required to avoid incorrectly determining that we are building with the Android NDK: https://github.com/rust-lang/cc-rs/commit/57853c4bf8a89a0f4c9137eb367ac580305c6919\n\nThis patch is present in version 1.0.80 and newer versions of the cc crate. The rustc source distribution currently has 3 different versions of cc in the vendor directory, only one of which has the necessary fix.\n\nWe (the Android Rust toolchain) are currently maintaining local patches to upgrade the cc crate dependency versions, which we would like to upstream.\n\nFurthermore, beyond the specific reason, the cc crate in bootstrap is currently pinned at an old version due to problems in the past when trying to update it. It is worthwhile to figure out and resolve these problems so we can keep the dependency up-to-date.\n\nOther fixes:\n\nAs of cc v1.0.78, object files are prefixed with a 16-character hash.\nUpdate src/bootstrap/src/core/build_steps/llvm.rs to account for this to\navoid failures when building libunwind and libcrt. Note that while the hash\nprefix was introduced in v1.0.78, in order to determine the names of the\nobject files without scanning the directory, we rely on the compile_intermediates\nmethod, which was introduced in cc v1.0.86\n\nAs of cc v1.0.86, compilation on MacOS uses the -mmacosx-version-min flag.\nA long-standing bug in the CMake rules for compiler-rt causes compilation\nto fail when this flag is specified. So we add a workaround to suppress this\nflag.\n\nUpdating to cc v1.0.91 and newer requires fixes to bootstrap unit tests.\nThe unit tests use targets named \"A\", \"B\", etc., which fail a validation\ncheck introduced in 1.0.91 of the cc crate.\n\nImplement lldb formattter for \"clang encoded\" enums (LLDB 18.1+)\nSummary:\nI landed a fix last year to enable `DW_TAG_variant_part` encoding in LLDBs (https://reviews.llvm.org/D149213). This PR is a corresponding fix in synthetic formatters to decode that information.\nThis is in no way perfect implementation but at least it improves the status quo. But most types of enums will be visible and debuggable in some way.\nI've also updated most of the existing tests that touch enums and re-enabled test cases based on LLDB for enums.\n\nTest Plan:\nran tests `./x test tests/debuginfo/`. Also tested manually in LLDB CLI and LLDB VSCode\n\nOther Thoughs\nA better approach would probably be adopting [formatters from codelldb](https://github.com/vadimcn/codelldb/blob/master/formatters/rust.py). There is some neat hack that hooks up summary provider via synthetic provider which can ultimately fix more display issues for Rust types and enums too. But getting it to work well might take more time that I have right now.\n\nf16::is_sign_{positive,negative} were feature-gated on f128\n\nCorrect the const stabilization of `last_chunk` for slices\n\n`<[T]>::last_chunk` should have become const stable as part of\n. Update the const\nstability gate to reflect this.\n\nAdd tests\n\nLower never patterns to Unreachable in mir\n\nrustdoc: dedup search form HTML\n\nThis change constructs the search form HTML using JavaScript, instead of plain HTML. It uses a custom element because\n\n- the [parser]'s insert algorithm runs the connected callback synchronously, so we won't get layout jank\n- it requires very little HTML, so it's a real win in size\n\n[parser]: https://html.spec.whatwg.org/multipage/parsing.html#create-an-element-for-the-token\n\nThis shrinks the standard library by about 60MiB, by my test.\n\nrustdoc: allow custom element rustdoc-search\n\ngeneralize hr alias: avoid unconstrainable infer vars\n\nnarrow down visibilities in `rustc_parse::lexer`\n\nreplace another Option by DUMMY_SP\n\nDon't ICE when we cannot eval a const to a valtree in the new solver\n\nDo not ICE on `AnonConst`s in `diagnostic_hir_wf_check`\n\ncoverage: Add branch coverage support for let-else\n\ncoverage: Add branch coverage support for if-let and let-chains\n\nDo not ICE on foreign malformed `diagnostic::on_unimplemented`\n\nFix #124651.\n\nAdd test for #124651\n\nUpdate cargo\n\ncompiler: Privatize `Parser::current_closure`\n\nThis was added as pub in 2021 and remains only privately used in 2024!\n\ncompiler: derive Debug in parser\n\nIt's annoying to debug the parser if you have to stop every five seconds\nto add a Debug impl.\n\ncompiler: add `Parser::debug_lookahead`\n\nI tried debugging a parser-related issue but found it annoying to not be\nable to easily peek into the Parser's token stream.\n\nAdd a convenience fn that offers an opinionated view into the parser,\nbut one that is useful for answering basic questions about parser state.\n\nFuchsia test runner: fixup script\n\nThis commit fixes several issues in the fuchsia-test-runner.py script:\n\n1. Migrate from `pm` to `ffx` for package management, as `pm` is now\ndeprecated. Furthermore, the `pm` calls used in this script no longer\nwork at Fuchsia's HEAD. This is the largest change in this commit, and\nimpacts all steps around repository management (creation and\nregistration of the repo, as well as package publishing).\n\n2. Allow for `libtest` to be either statically or dynamically linked.\nThe script assumed it was dynamically linked, but the current Rust\nbehavior at HEAD is to statically link it.\n\n3. Minor cleanup to use `ffx --machine json` rather than string parsing.\n\n4. Minor cleanup to the docs around the script.\n\nstd::net: Socket::new_raw set to SO_NOSIGPIPE on freebsd/netbsd/dragonfly.\n\nadd note about `AlreadyExists` to `create_new`\n\nApply suggestions from code review\n\nCo-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>\n\niOS/tvOS/watchOS/visionOS: Default to kernel-defined backlog in listen\n\nThis behavior is defined in general for the XNU kernel, not just macOS:\nhttps://github.com/apple-oss-distributions/xnu/blob/rel/xnu-10002/bsd/kern/uipc_socket.c\n\niOS/tvOS/watchOS/visionOS: Set the main thread name\n\nTested in the iOS simulator that the thread name is not set by default,\nand that setting it improves the debugging experience in lldb / Xcode.\n\niOS/tvOS/watchOS: Fix alloc w. large alignment on older versions\n\nTested on an old MacBook and the iOS simulator.\n\niOS/tvOS/watchOS/visionOS: Fix reading large files\n\nTested in the iOS simulator with something like:\n```\nlet mut buf = vec![0; c_int::MAX as usize - 1 + 2];\nlet read_bytes = f.read(&mut buf).unwrap();\n```\n\niOS/tvOS/watchOS/visionOS: Improve File Debug impl\n\nThis uses `libc::fcntl`, which, while not explicitly marked as available\nin the headers, is already used by `File::sync_all` and `File::sync_data`\non these platforms, so should be fine to use here as well.\n\nnext_power_of_two: add a doctest to show what happens on 0\n\nrustc: Change LLVM target for the wasm32-wasip2 Rust target\n\nThis commit changes the LLVM target of for the Rust `wasm32-wasip2`\ntarget to `wasm32-wasip2` as well. LLVM does a bit of detection on the\ntarget string to know when to call `wasm-component-ld` vs `wasm-ld` so\notherwise clang is invoking the wrong linker.\n\nrustc: Don't pass `-fuse-ld=lld` on wasm targets\n\nThis argument isn't necessary for WebAssembly targets since `wasm-ld` is\nthe only linker for the targets. Passing it otherwise interferes with\nClang's linker selection on `wasm32-wasip2` so avoid it altogether.\n\nrustc: Change wasm32-wasip2 to PIC-by-default\n\nThis commit changes the new `wasm32-wasip2` target to being PIC by\ndefault rather than the previous non-PIC by default. This change is\nintended to make it easier for the standard library to be used in a\nshared object in its precompiled form. This comes with a hypothetical\nmodest slowdown but it's expected that this is quite minor in most use\ncases or otherwise wasm compilers and/or optimizing runtimes can elide\nthe cost.\n\nHandle normalization failure in `struct_tail_erasing_lifetimes`\n\nFixes an ICE that occurred when the struct in question has an error\n\nFix insufficient logic when searching for the underlying allocation\n\nin the `invalid_reference_casting` lint, when trying to lint on\nbigger memory layout casts.\n\nrustdoc: use stability, instead of features, to decide what to show\n\nTo decide if internal items should be inlined in a doc page,\ncheck if the crate is itself internal, rather than if it has\nthe rustc_private feature flag. The standard library uses\ninternal items, but is not itself internal and should not show\ninternal items on its docs pages.\n\nAvoid a cast in `ptr::slice_from_raw_parts(_mut)`\n\nCasting to `*const ()` or `*mut ()` just bloats the MIR, so let's not.\n\nIf ACP#362 goes through we can keep calling `ptr::from_raw_parts(_mut)` in these also without the cast, but that hasn't had any libs-api attention yet, so I'm not waiting on it.\n\nadd enum variant field names to make the code clearer\n\nremove redundant flat vs nested distinction to simplify enum\n\nturn all_nested_unused into used_childs\n\nstore the span of the nested part of the use tree in the ast\n\n remove braces when fixing a nested use tree into a single use\n\nUse generic `NonZero` in examples.\n\nSimplify `clippy` lint.\n\nSimplify suggestion.\n\nUse generic `NonZero`.\n\ncrashes: add lastest batch of crash tests\n\nMake sure we don't deny macro vars w keyword names\n\nSimplify `use crate::rustc_foo::bar` occurrences.\n\nThey can just be written as `use rustc_foo::bar`, which is far more\nstandard. (I didn't even know that a `crate::` prefix was valid.)\n\nUpdate cc crate to v1.0.97\n\nIgnore empty RUSTC_WRAPPER in bootstrap\n\nThis change ignores the RUSTC_WRAPPER_REAL environment variable if it's\nset to the empty string. This matches cargo behaviour and allows users\nto easily shadow a globally set RUSTC_WRAPPER (which they might have set\nfor non-rustc projects).\n\nHandle normalization failure in `struct_tail_erasing_lifetimes`\n\nFixes an ICE that occurred when the struct in question has an error\n\nImplement `as_chunks` with `split_at_unchecked`\n\nRemove `macro_use` from `stable_hasher`.\n\nNormal `use` items are nicer.\n\nReorder top-level crate items.\n\n- `use` before `mod`\n- `pub` before `non-pub`\n- Alphabetical order within sections\n\nRemove `extern crate tracing`.\n\n`use` is a nicer way of doing things.\n\nDocument `Pu128`.\n\nAnd move the `repr` line after the `derive` line, where it's harder to\noverlook. (I overlooked it initially, and didn't understand how this\ntype worked.)\n\nRemove `TinyList`.\n\nIt is optimized for lists with a single element, avoiding the need for\nan allocation in that case. But `SmallVec<[T; 1]>` also avoids the\nallocation, and is better in general: more standard, log2 number of\nallocations if the list exceeds one item, and a much more capable API.\n\nThis commit removes `TinyList` and converts the two uses to\n`SmallVec<[T; 1]>`. It also reorders the `use` items in the relevant\nfile so they are in just two sections (`pub` and non-`pub`), ordered\nalphabetically, instead of many sections. (This is a relevant part of\nthe change because I had to decide where to add a `use` item for\n`SmallVec`.)\n\nRemove `vec_linked_list`.\n\nIt provides a way to effectively embed a linked list within an\n`IndexVec` and also iterate over that list. It's written in a very\ngeneric way, involving two traits `Links` and `LinkElem`. But the\n`Links` trait is only impl'd for `IndexVec` and `&IndexVec`, and the\nwhole thing is only used in one module within `rustc_borrowck`. So I\nthink it's over-engineered and hard to read. Plus it has no comments.\n\nThis commit removes it, and adds a (non-generic) local iterator for the\nuse within `rustc_borrowck`. Much simpler.\n\nRemove `enum_from_u32`.\n\nIt's a macro that just creates an enum with a `from_u32` method. It has\ntwo arms. One is unused and the other has a single use.\n\nThis commit inlines that single use and removes the whole macro. This\nincreases readability because we don't have two different macros\ninteracting (`enum_from_u32` and `language_item_table`).\n\nUpdate Tests\n\nFix Error Messages for `break` Inside Coroutines\n\nPreviously, `break` inside `gen` blocks and functions\nwere incorrectly identified to be enclosed by a closure.\n\nThis PR fixes it by displaying an appropriate error message\nfor async blocks, async closures, async functions, gen blocks,\ngen closures, gen functions, async gen blocks, async gen closures\nand async gen functions.\n\nNote: gen closure and async gen closure are not supported by the\ncompiler yet but I have added an error message here assuming that\nthey might be implemented in the future.\n\nAlso, fixes grammar in a few places by replacing\n`inside of a $coroutine` with `inside a $coroutine`.\n\nMigrate `run-make/rustdoc-map-file` to rmake\n\nAdd more ICEs due to malformed diagnostic::on_unimplemented\n\nFix ICEs in diagnostic::on_unimplemented\n\nHandle field projections like slice indexing in invalid_reference_casting\n\nFix typos\n\nDo not add leading asterisk in the `PartialEq`\n\nAdding leading asterisk can cause compilation failure for\nthe _types_ that don't implement the `Copy`.\n\nUse sum type for `WorkflowRunType`\n\nParse try build CI job name from commit message\n\nMake the regex more robust\n\nAddress review comments\n\nCI: fix auto builds and make sure that we always have at least a single CI job\n\nInclude the line number in tidy's `iter_header`\n\nTidy check for test revisions that are mentioned but not declared\n\nIf a `[revision]` name appears in a test header directive or error annotation,\nbut isn't declared in the `//@ revisions:` header, that is almost always a\nmistake.\n\nIn cases where a revision needs to be temporarily disabled, adding it to an\n`//@ unused-revision-names:` header will suppress these checks for that name.\n\nAdding the wildcard name `*` to the unused list will suppress these checks for\nthe entire file.\n\nFix test problems discovered by the revision check\n\nMost of these changes either add revision names that were apparently missing,\nor explicitly mark a revision name as currently unused.\n\nfix #124714 str.to_lowercase sigma handling\n\nMake a minimal amount of region APIs public\n\nAdd `ErrorGuaranteed` to `Recovered::Yes` and use it more.\n\nThe starting point for this was identical comments on two different\nfields, in `ast::VariantData::Struct` and `hir::VariantData::Struct`:\n```\n // FIXME: investigate making this a `Option`\n recovered: bool\n```\nI tried that, and then found that I needed to add an `ErrorGuaranteed`\nto `Recovered::Yes`. Then I ended up using `Recovered` instead of\n`Option` for these two places and elsewhere, which\nrequired moving `ErrorGuaranteed` from `rustc_parse` to `rustc_ast`.\n\nThis makes things more consistent, because `Recovered` is used in more\nplaces, and there are fewer uses of `bool` and\n`Option`. And safer, because it's difficult/impossible\nto set `recovered` to `Recovered::Yes` without having emitted an error.\n\ninterpret/miri: better errors on failing offset_from\n\nchore: remove repetitive words\n\nMake `#![feature]` suggestion MaybeIncorrect\n\nUpdate Makefiles with explanatory comments\n\ncorrect comments\n\nadd FIXME\n\nUpgrade the version of Clang used in the build, move MSVC builds to Server 2022\n\nRename Generics::params to Generics::own_params\n\nAdd benchmarks for `impl Debug for str`\n\nIn order to inform future perf improvements and prevent regressions,\nlets add some benchmarks that stress `impl Debug for str`.\n\nRemove unused `step_trait` feature.\n\nAlso sort the features.\n\nRemove unused `LinkSelfContainedDefault::is_linker_enabled` method.\n\nCorrect a comment.\n\nI tried simplifying `RegionCtxt`, which led me to finding that the\nfields are printed in `sccs_info`.\n\nFix up `DescriptionCtx::new`.\n\nThe comment mentions that `ReBound` and `ReVar` aren't expected here.\nExperimentation with the full test suite indicates this is true, and\nthat `ReErased` also doesn't occur. So the commit introduces `bug!` for\nthose cases. (If any of them show up later on, at least we'll have a\ntest case.)\n\nThe commit also remove the first sentence in the comment.\n`RePlaceholder` is now handled in the match arm above this comment and\nnothing is printed for it, so that sentence is just wrong. Furthermore,\nissue #13998 was closed some time ago.\n\nFix out-of-date comment.\n\nThe type name has changed.\n\nRemove `TyCtxt::try_normalize_erasing_late_bound_regions`.\n\nIt's unused.\n\nRemove out-of-date comment.\n\nThe use of `Binder` was removed in the recent #123900, but the comment\nwasn't removed at the same time.\n\nDe-tuple two `vtable_trait_first_method_offset` args.\n\nThus eliminating a `FIXME` comment.\n\nopt-dist: use xz2 instead of xz crate\n\nxz crate consist of simple reexport of xz2 crate. Why? Idk.\n\nanalyse visitor: build proof tree in probe\n\nupdate crashes\n\nalways use `GenericArgsRef`\n\nInline and remove unused methods.\n\n`InferCtxt::next_{ty,const,int,float}_var_id` each have a single call\nsite, in `InferCtt::next_{ty,const,int,float}_var` respectively.\n\nThe only remaining method that creates a var_id is\n`InferCtxt::next_ty_var_id_in_universe`, which has one use outside the\ncrate.\n\nUse fewer origins when creating type variables.\n\n`InferCtxt::next_{ty,const}_var*` all take an origin, but the\n`param_def_id` is almost always `None`. This commit changes them to just\ntake a `Span` and build the origin within the method, and adds new\nmethods for the rare cases where `param_def_id` might not be `None`.\nThis avoids a lot of tedious origin building.\n\nSpecifically:\n- next_ty_var{,_id_in_universe,_in_universe}: now take `Span` instead of\n `TypeVariableOrigin`\n- next_ty_var_with_origin: added\n\n- next_const_var{,_in_universe}: takes Span instead of ConstVariableOrigin\n- next_const_var_with_origin: added\n\n- next_region_var, next_region_var_in_universe: these are unchanged,\n still take RegionVariableOrigin\n\nThe API inconsistency (ty/const vs region) seems worth it for the\nlarge conciseness improvements.\n\nprint walltime benchmarks with subnanosecond precision\n\nexample results when benchmarking 1-4 serialized ADD instructions\n\n```\nrunning 4 tests\ntest add ... bench: 0.24 ns/iter (+/- 0.00)\ntest add2 ... bench: 0.48 ns/iter (+/- 0.01)\ntest add3 ... bench: 0.72 ns/iter (+/- 0.01)\ntest add4 ... bench: 0.96 ns/iter (+/- 0.01)\n```\n\nemit fractional benchmark nanoseconds in libtest's JSON output format\n\nbootstrap should also render fractional nanoseconds for benchmarks\n\nfrom_str_radix: outline only the panic function\n\ncodegen: memmove/memset cannot be non-temporal\n\ncoverage: Separately compute the set of BCBs with counter mappings\n\ncoverage: Make the special case for async functions exit early\n\ncoverage: Don't recompute the number of test vector bitmap bytes\n\nThe code in `extract_mcdc_mappings` that allocates these bytes already knows\nhow many are needed in total, so there's no need to immediately recompute that\nvalue in the calling function.\n\ncoverage: Destructure the mappings struct to make sure we don't miss any\n\ncoverage: Rename `CoverageSpans` to `ExtractedMappings`\n\ncoverage: Tidy imports in `rustc_mir_transform::coverage`\n\nFix parse error message for meta items\n\nRefactor float `Primitive`s to a separate `Float` type\n\nMigrate `run-make/rustdoc-output-path` to rmake\n\nMake builtin_deref just return a Ty\n\nrename some variants in FulfillmentErrorCode\n\nRemove glob imports for ObligationCauseCode\n\nRename some ObligationCauseCode variants\n\nMore rename fallout\n\nName tweaks\n\nAdd a codegen test for transparent aggregates\n\nAggregating arrays can always take the place path\n\nMake SSA aggregates without needing an alloca\n\nLift `Lift`\n\nLift `TraitRef` into `rustc_type_ir`\n\nAlso debug\n\nApply nits, make some bounds into supertraits on inherent traits\n\nAdd `-lmingwex` second time in `mingw_libs`\n\nUpcoming mingw-w64 releases will contain small math functions refactor which moved implementation around.\nAs a result functions like `lgamma`\nnow depend on libraries in this order:\n`libmingwex.a` -> `libmsvcrt.a` -> `libmingwex.a`.\n\nFixes #124221\n\nignore generics args in attribute paths\n\nbootstrap: add comments for the automatic dry run\n\nfix typo\n\nCo-authored-by: jyn \n\nreachable computation: extend explanation of what this does, and why\n\nMake sure we consume a generic arg when checking mistyped turbofish\n\nUpdate cargo\n\nstd::rand: adding solaris/illumos for getrandom support.\n\nTo help solarish support for miri https://rust-lang/miri/issues/3567\n\nUpdate ena to 0.14.3\n\nFix typo in ManuallyDrop's documentation\n\nAdd @saethlin to some triagebot groups\n\nRefactor Apple `target_abi`\n\nThis was bundled together with `Arch`, which complicated a few code\npaths and meant we had to do more string matching than necessary.\n\nMatch ergonomics 2024: let `&` patterns eat `&mut`\n\nVarious fixes:\n\n- Only show error when move-check would not be triggered\n- Add structured suggestion\n\nFix spans when macros are involved\n\nComments and fixes\n\nRename `explicit_ba`\n\nNo more `Option>`\n\nRemove redundant comment\n\nMove all ref pat logic into `check_pat_ref`\n\nAdd comment on `cap_to_weakly_not`\n\nCo-authored-by: Guillaume Boisseau \n\nStabilize `byte_slice_trim_ascii` for `&[u8]`/`&str`\n\nRemove feature from documentation examples\nAdd rustc_const_stable attribute to stabilized functions\nUpdate intra-doc link for `u8::is_ascii_whitespace` on `&[u8]` functions\n\nDocument proper usage of `fmt::Error` and `fmt()`'s `Result`.\n\nDocumentation of these properties previously existed in a lone paragraph\nin the `fmt` module's documentation:\n\nHowever, users looking to implement a formatting trait won't necessarily\nlook there. Therefore, let's add the critical information (that\nformatting per se is infallible) to all the involved items.\n\ncheck if `x test tests` missing any test directory\n\nSigned-off-by: onur-ozkan \n\nremap missing path `tests/crashes` to `tests`\n\nSigned-off-by: onur-ozkan \n\nadd \"tidy-alphabetical\" check on \"tests\" remap list\n\nSigned-off-by: onur-ozkan \n\nHandle Deref expressions in invalid_reference_casting\n\nunix/fs: a bit of cleanup around host-specific code\n\nsolaris support start.\n\nreduce tokio features\n\nremove rand test\n\nthe actual target-specific things we want to test are all in getrandom,\nand rand already tests miri itself\n\ngetrandom: test with and without isolation\n\nalso add some comments for why we keep certain old obscure APIs supported\n\navoid code duplication between realloc and malloc\n\nImplement wcslen\n\norganize libc tests into a proper folder, and run some of them on Windows\n\nREADME: update introduction\n\nremove problems that I do not think we have seen in a while\n\nio::Error handling: keep around the full io::Error for longer so we can give better errors\n\nImplement non-null pointer for malloc(0)\n\nAllow test targets to be set via CLI args\n\nUpdate CI script for the miri-script test changes\n\nUpdate documentation for miri-script test changes\n\nminor tweaks\n\nmake MIRI_TEST_TARGET entirely an internal thing\n\nmake RUSTC_BLESS entirely an internal thing\n\ndo not run symlink tests on Windows hosts\n\nrename 'extern-so' to 'native-lib'\n\nPreparing for merge from rustc\n\nalloc: update comments around malloc() alignment\n\nseparate windows heap functions from C heap shims\n\nAdd windows_i686_gnullvm to the list\n\nPin libc back to 0.2.153\n\nUpdate Cargo.lock\n\nfix few typo in filecheck annotations\n\nConsolidate obligation cause codes for where clauses\n\nClean up users of rust_dbg_call\n\nEnable profiler for armv7-unknown-linux-gnueabihf.\n\nAlways hide private fields in aliased type\n\nMigrate `run-make/rustdoc-shared-flags` to rmake\n\nRelax allocator requirements on some Rc APIs.\n\n* Remove A: Clone bound from Rc::assume_init, Rc::downcast, and Rc::downcast_unchecked.\n* Make From> for Rc<[T]> allocator-aware.\n\nInternal changes:\n\n* Made Arc::internal_into_inner_with_allocator method into Arc::into_inner_with_allocator associated fn.\n* Add private Rc::into_inner_with_allocator (to match Arc), so other fns don't have to juggle ManuallyDrop.\n\nRelax A: Clone requirement on Rc/Arc::unwrap_or_clone.\n\nAdd test for #122775\n\nRefactoring after the `PlaceValue` addition\n\nI added `PlaceValue` in 123775, but kept that one line-by-line simple because it touched so many places.\n\nThis goes through to add more helpers & docs, and change some `PlaceRef` to `PlaceValue` where the type didn't need to be included.\n\nNo behaviour changes.\n\nMake it possible to derive Lift/TypeVisitable/TypeFoldable in rustc_type_ir\n\nUplift `TraitPredicate`\n\nUplift `ExistentialTraitRef`, `ExistentialProjection`, `ProjectionPredicate`\n\nUplift `NormalizesTo`, `CoercePredicate`, and `SubtypePredicate`\n\nApply nits, uplift ExistentialPredicate too\n\nAnd `ImplPolarity` too\n\nExpand on expr_requires_semi_to_be_stmt documentation\n\nMark expr_requires_semi_to_be_stmt call sites\n\nFor each of these, we need to decide whether they need to be using\n`expr_requires_semi_to_be_stmt`, or `expr_requires_comma_to_be_match_arm`,\nwhich are supposed to be 2 different behaviors. Previously they were\nconflated into one, causing either too much or too little\nparenthesization.\n\nMacro call with braces does not require semicolon to be statement\n\nThis commit by itself is supposed to have no effect on behavior. All of\nthe call sites are updated to preserve their previous behavior.\n\nThe behavior changes are in the commits that follow.\n\nAdd ExprKind::MacCall statement boundary tests\n\nFix pretty printer statement boundaries after braced macro call\n\nDelete MacCall case from pretty-printing semicolon after StmtKind::Expr\n\nI didn't figure out how to reach this condition with `expr` containing\n`ExprKind::MacCall`. All the approaches I tried ended up with the macro\ncall ending up in the `StmtKind::MacCall` case below instead.\n\nIn any case, from visual inspection this is a bugfix. If we do end up\nwith a `StmtKind::Expr` containing `ExprKind::MacCall` with brace\ndelimiter, it would not need \";\" printed after it.\n\nAdd test of unused_parens lint involving macro calls\n\nDocument the situation with unused_parens lint and braced macro calls\n\nAdd parser tests for statement boundary insertion\n\nMark Parser::expr_is_complete call sites\n\nDocument MacCall special case in Parser::expr_is_complete\n\nDocument MacCall special case in Parser::parse_arm\n\nAdd macro calls to else-no-if parser test\n\nRemove MacCall special case from recovery after missing 'if' after 'else'\n\nThe change to the test is a little goofy because the compiler was\nguessing \"correctly\" before that `falsy! {}` is the condition as opposed\nto the else body. But I believe this change is fundamentally correct.\nBraced macro invocations in statement position are most often item-like\n(`thread_local! {...}`) as opposed to parenthesized macro invocations\nwhich are condition-like (`cfg!(...)`).\n\nRemove MacCall special cases from Parser::parse_full_stmt\n\nIt is impossible for expr here to be a braced macro call. Expr comes\nfrom `parse_stmt_without_recovery`, in which macro calls are parsed by\n`parse_stmt_mac`. See this part:\n\n let kind = if (style == MacStmtStyle::Braces\n && self.token != token::Dot\n && self.token != token::Question)\n || self.token == token::Semi\n || self.token == token::Eof\n {\n StmtKind::MacCall(P(MacCallStmt { mac, style, attrs, tokens: None }))\n } else {\n // Since none of the above applied, this is an expression statement macro.\n let e = self.mk_expr(lo.to(hi), ExprKind::MacCall(mac));\n let e = self.maybe_recover_from_bad_qpath(e)?;\n let e = self.parse_expr_dot_or_call_with(e, lo, attrs)?;\n let e = self.parse_expr_assoc_with(\n 0,\n LhsExpr::AlreadyParsed { expr: e, starts_statement: false },\n )?;\n StmtKind::Expr(e)\n };\n\nA braced macro call at the head of a statement is always either extended\ninto ExprKind::Field / MethodCall / Await / Try / Binary, or else\nreturned as StmtKind::MacCall. We can never get a StmtKind::Expr\ncontaining ExprKind::MacCall containing brace delimiter.\n\nAdd classify::expr_is_complete\n\nFix redundant parens around braced macro call in match arms\n\nuse key-value format in stage0 file\n\nCurrently, we are working on the python removal task on bootstrap. Which means\nwe have to extract some data from the stage0 file using shell scripts. However,\nparsing values from the stage0.json file is painful because shell scripts don't\nhave a built-in way to parse json files.\n\nThis change simplifies the stage0 file format to key-value pairs, which makes\nit easily readable from any environment.\n\nSigned-off-by: onur-ozkan \n\nawk stage0 file on CI\n\nSigned-off-by: onur-ozkan \n\nuse stage0 file in `bootstrap.py`\n\nSigned-off-by: onur-ozkan \n\nuse shared stage0 parser from `build_helper`\n\nSigned-off-by: onur-ozkan \n\nremove outdated stage0.json parts\n\nSigned-off-by: onur-ozkan \n\nmove comments position in `src/stage0`\n\nSigned-off-by: onur-ozkan \n\nio::Write::write_fmt: panic if the formatter fails when the stream does not fail\n\nstd::alloc: using posix_memalign instead of memalign on solarish.\n\nsimpler code path since small alignments are already taking care of.\nclose GH-124787\n\nRelax slice safety requirements\n\nPer https://github.com/rust-lang/rust/pull/116677#issuecomment-1945495786, the language as written promises too much. This PR relaxes the language to be consistent with current semantics. If and when #117945 is implemented, we can revert to the old language.\n\nReferences must also be non-null\n\nAdd `crate_type` method to `Rustdoc`\n\nAdd `crate_name` method to `Rustdoc` and `Rustc`\n\nAdd `python_command` and `source_path` functions\n\nAdd `extern_` method to `Rustdoc`\n\nMigrate `rustdoc-scrape-examples-ordering` to `rmake`\n\nFix some minor issues from the ui-test auto-porting\n\nsolve: replace all `debug` with `trace`\n\nstructurally important functions to `debug`\n\nfix hidden title in command-line-arguments docs\n\nAssert that MemCategorizationVisitor actually errors when it bails ungracefully\n\nInline MemCategorization into ExprUseVisitor\n\nRemove unncessary mut ref\n\nIntroduce TypeInformationCtxt to abstract over LateCtxt/FnCtxt\n\nMake LateCtxt be a type info delegate for EUV for clippy\n\nTry structurally resolve\n\nApply nits\n\nPropagate errors rather than using return_if_err\n\nMatch ergonomics 2024: migration lint\n\nUnfortunately, we can't always offer a machine-applicable suggestion when there are subpatterns from macro expansion.\n\nCo-Authored-By: Guillaume Boisseau \n\nAdd AST pretty-printer tests for let-else\n\nPretty-print let-else with added parenthesization when needed\n\nrename","shortMessageHtmlLink":"added Default impls"}},{"before":"97d71249120ade651b71c4160906faaeaa9b0fd7","after":"a2e036fbbad706add544f9b7840795e4a8139f3b","ref":"refs/heads/master","pushedAt":"2024-05-13T00:46:05.000Z","pushType":"push","commitsCount":429,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"Merge branch 'rust-lang:master' into master","shortMessageHtmlLink":"Merge branch 'rust-lang:master' into master"}},{"before":"54a2ca2448d09221b83f11530321d917a71287b5","after":"97d71249120ade651b71c4160906faaeaa9b0fd7","ref":"refs/heads/master","pushedAt":"2024-05-13T00:40:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"added Default impls\n\nreorganised attrs\n\nremoved OsStr impls\n\nadded backticks\n\nAdd note about possible allocation-sharing to Arc/Rc::default.\n\nUse shared statics for the ArcInner for Arc::default, and for Arc<[T]>::default where alignof(T) <= 16.\n\nfixed unsafe block\n\nRevert \"fixed unsafe block\"\n\nThis reverts commit 6eb6aee5bc86e884d3d685d06de2a51d7fa826a8.\n\nReturn coherent description for boolean instead of panicking\n\nImprove check-cfg CLI errors with more structured diagnostics\n\nMove various stdlib tests to library/std/tests\n\nRun tidy on tests\n\nRename test for issue 21058\n\nImplement `edition` method on `Rustdoc` type as well\n\nMigrate `run-make/doctests-runtool` to rmake\n\nRename `run-make-support` library `output` method to `command_output`\n\nAdd new `output` method to `Rustc` and `Rustdoc` types\n\nMigrate `run-make/rustdoc-error-lines` to `rmake.rs`\n\nadd f16 associated constants\n\nNaN and infinity are not included as they require arithmetic.\n\nadd f128 associated constants\n\nNaN and infinity are not included as they require arithmetic.\n\nadd constants in std::f16::consts\n\nadd constants in std::f128::consts\n\nupdate error messages in ui tests\n\nDocument that `create_dir_all` calls `mkdir`/`CreateDirW` multiple times\n\nAlso mention that there might be leftover directories in the error case.\n\nPrefer lower vtable candidates in select in new solver\n\nDon't consider candidates with no failing where clauses\n\nUse super_fold in RegionsToStatic visitor\n\nMake check-cfg docs more user-friendly\n\nRecord impl args in the InsepctCandiate rather than rematching during select\n\nUse correct ImplSource for alias bounds\n\nBorrowckInferCtxt: infcx by value\n\nborrowck: more eagerly prepopulate opaques\n\nswitch new solver to directly inject opaque types\n\nUpdate books\n\nAdjust dbg.value/dbg.declare checks for LLVM update\n\nhttps://github.com/llvm/llvm-project/pull/89799 changes llvm.dbg.value/declare intrinsics to be in a different, out-of-instruction-line representation. For example\n call void @llvm.dbg.declare(...)\nbecomes\n #dbg_declare(...)\n\nUpdate tests accordingly to work with both the old and new way.\n\nAdjust 64-bit ARM data layouts for LLVM update\n\nLLVM has updated data layouts to specify `Fn32` on 64-bit ARM to avoid\nC++ accidentally underaligning functions when trying to comply with\nmember function ABIs.\n\nThis should only affect Rust in cases where we had a similar bug (I\ndon't believe we have one), but our data layout must match to generate\ncode.\n\nAs a compatibility adaptatation, if LLVM is not version 19 yet, `Fn32`\ngets voided from the data layout.\n\nSee llvm/llvm-project#90415\n\nUpdate version of cc crate to v1.0.97\n\nReason:\n\nIn order to build the Windows version of the Rust toolchain for the Android platform, the following patch to the cc is crate is required to avoid incorrectly determining that we are building with the Android NDK: https://github.com/rust-lang/cc-rs/commit/57853c4bf8a89a0f4c9137eb367ac580305c6919\n\nThis patch is present in version 1.0.80 and newer versions of the cc crate. The rustc source distribution currently has 3 different versions of cc in the vendor directory, only one of which has the necessary fix.\n\nWe (the Android Rust toolchain) are currently maintaining local patches to upgrade the cc crate dependency versions, which we would like to upstream.\n\nFurthermore, beyond the specific reason, the cc crate in bootstrap is currently pinned at an old version due to problems in the past when trying to update it. It is worthwhile to figure out and resolve these problems so we can keep the dependency up-to-date.\n\nOther fixes:\n\nAs of cc v1.0.78, object files are prefixed with a 16-character hash.\nUpdate src/bootstrap/src/core/build_steps/llvm.rs to account for this to\navoid failures when building libunwind and libcrt. Note that while the hash\nprefix was introduced in v1.0.78, in order to determine the names of the\nobject files without scanning the directory, we rely on the compile_intermediates\nmethod, which was introduced in cc v1.0.86\n\nAs of cc v1.0.86, compilation on MacOS uses the -mmacosx-version-min flag.\nA long-standing bug in the CMake rules for compiler-rt causes compilation\nto fail when this flag is specified. So we add a workaround to suppress this\nflag.\n\nUpdating to cc v1.0.91 and newer requires fixes to bootstrap unit tests.\nThe unit tests use targets named \"A\", \"B\", etc., which fail a validation\ncheck introduced in 1.0.91 of the cc crate.\n\nImplement lldb formattter for \"clang encoded\" enums (LLDB 18.1+)\nSummary:\nI landed a fix last year to enable `DW_TAG_variant_part` encoding in LLDBs (https://reviews.llvm.org/D149213). This PR is a corresponding fix in synthetic formatters to decode that information.\nThis is in no way perfect implementation but at least it improves the status quo. But most types of enums will be visible and debuggable in some way.\nI've also updated most of the existing tests that touch enums and re-enabled test cases based on LLDB for enums.\n\nTest Plan:\nran tests `./x test tests/debuginfo/`. Also tested manually in LLDB CLI and LLDB VSCode\n\nOther Thoughs\nA better approach would probably be adopting [formatters from codelldb](https://github.com/vadimcn/codelldb/blob/master/formatters/rust.py). There is some neat hack that hooks up summary provider via synthetic provider which can ultimately fix more display issues for Rust types and enums too. But getting it to work well might take more time that I have right now.\n\nf16::is_sign_{positive,negative} were feature-gated on f128\n\nCorrect the const stabilization of `last_chunk` for slices\n\n`<[T]>::last_chunk` should have become const stable as part of\n. Update the const\nstability gate to reflect this.\n\nAdd tests\n\nLower never patterns to Unreachable in mir\n\nrustdoc: dedup search form HTML\n\nThis change constructs the search form HTML using JavaScript, instead of plain HTML. It uses a custom element because\n\n- the [parser]'s insert algorithm runs the connected callback synchronously, so we won't get layout jank\n- it requires very little HTML, so it's a real win in size\n\n[parser]: https://html.spec.whatwg.org/multipage/parsing.html#create-an-element-for-the-token\n\nThis shrinks the standard library by about 60MiB, by my test.\n\nrustdoc: allow custom element rustdoc-search\n\ngeneralize hr alias: avoid unconstrainable infer vars\n\nnarrow down visibilities in `rustc_parse::lexer`\n\nreplace another Option by DUMMY_SP\n\nDon't ICE when we cannot eval a const to a valtree in the new solver\n\nDo not ICE on `AnonConst`s in `diagnostic_hir_wf_check`\n\ncoverage: Add branch coverage support for let-else\n\ncoverage: Add branch coverage support for if-let and let-chains\n\nDo not ICE on foreign malformed `diagnostic::on_unimplemented`\n\nFix #124651.\n\nAdd test for #124651\n\nUpdate cargo\n\ncompiler: Privatize `Parser::current_closure`\n\nThis was added as pub in 2021 and remains only privately used in 2024!\n\ncompiler: derive Debug in parser\n\nIt's annoying to debug the parser if you have to stop every five seconds\nto add a Debug impl.\n\ncompiler: add `Parser::debug_lookahead`\n\nI tried debugging a parser-related issue but found it annoying to not be\nable to easily peek into the Parser's token stream.\n\nAdd a convenience fn that offers an opinionated view into the parser,\nbut one that is useful for answering basic questions about parser state.\n\nFuchsia test runner: fixup script\n\nThis commit fixes several issues in the fuchsia-test-runner.py script:\n\n1. Migrate from `pm` to `ffx` for package management, as `pm` is now\ndeprecated. Furthermore, the `pm` calls used in this script no longer\nwork at Fuchsia's HEAD. This is the largest change in this commit, and\nimpacts all steps around repository management (creation and\nregistration of the repo, as well as package publishing).\n\n2. Allow for `libtest` to be either statically or dynamically linked.\nThe script assumed it was dynamically linked, but the current Rust\nbehavior at HEAD is to statically link it.\n\n3. Minor cleanup to use `ffx --machine json` rather than string parsing.\n\n4. Minor cleanup to the docs around the script.\n\nstd::net: Socket::new_raw set to SO_NOSIGPIPE on freebsd/netbsd/dragonfly.\n\nadd note about `AlreadyExists` to `create_new`\n\nApply suggestions from code review\n\nCo-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>\n\niOS/tvOS/watchOS/visionOS: Default to kernel-defined backlog in listen\n\nThis behavior is defined in general for the XNU kernel, not just macOS:\nhttps://github.com/apple-oss-distributions/xnu/blob/rel/xnu-10002/bsd/kern/uipc_socket.c\n\niOS/tvOS/watchOS/visionOS: Set the main thread name\n\nTested in the iOS simulator that the thread name is not set by default,\nand that setting it improves the debugging experience in lldb / Xcode.\n\niOS/tvOS/watchOS: Fix alloc w. large alignment on older versions\n\nTested on an old MacBook and the iOS simulator.\n\niOS/tvOS/watchOS/visionOS: Fix reading large files\n\nTested in the iOS simulator with something like:\n```\nlet mut buf = vec![0; c_int::MAX as usize - 1 + 2];\nlet read_bytes = f.read(&mut buf).unwrap();\n```\n\niOS/tvOS/watchOS/visionOS: Improve File Debug impl\n\nThis uses `libc::fcntl`, which, while not explicitly marked as available\nin the headers, is already used by `File::sync_all` and `File::sync_data`\non these platforms, so should be fine to use here as well.\n\nnext_power_of_two: add a doctest to show what happens on 0\n\nrustc: Change LLVM target for the wasm32-wasip2 Rust target\n\nThis commit changes the LLVM target of for the Rust `wasm32-wasip2`\ntarget to `wasm32-wasip2` as well. LLVM does a bit of detection on the\ntarget string to know when to call `wasm-component-ld` vs `wasm-ld` so\notherwise clang is invoking the wrong linker.\n\nrustc: Don't pass `-fuse-ld=lld` on wasm targets\n\nThis argument isn't necessary for WebAssembly targets since `wasm-ld` is\nthe only linker for the targets. Passing it otherwise interferes with\nClang's linker selection on `wasm32-wasip2` so avoid it altogether.\n\nrustc: Change wasm32-wasip2 to PIC-by-default\n\nThis commit changes the new `wasm32-wasip2` target to being PIC by\ndefault rather than the previous non-PIC by default. This change is\nintended to make it easier for the standard library to be used in a\nshared object in its precompiled form. This comes with a hypothetical\nmodest slowdown but it's expected that this is quite minor in most use\ncases or otherwise wasm compilers and/or optimizing runtimes can elide\nthe cost.\n\nHandle normalization failure in `struct_tail_erasing_lifetimes`\n\nFixes an ICE that occurred when the struct in question has an error\n\nFix insufficient logic when searching for the underlying allocation\n\nin the `invalid_reference_casting` lint, when trying to lint on\nbigger memory layout casts.\n\nrustdoc: use stability, instead of features, to decide what to show\n\nTo decide if internal items should be inlined in a doc page,\ncheck if the crate is itself internal, rather than if it has\nthe rustc_private feature flag. The standard library uses\ninternal items, but is not itself internal and should not show\ninternal items on its docs pages.\n\nAvoid a cast in `ptr::slice_from_raw_parts(_mut)`\n\nCasting to `*const ()` or `*mut ()` just bloats the MIR, so let's not.\n\nIf ACP#362 goes through we can keep calling `ptr::from_raw_parts(_mut)` in these also without the cast, but that hasn't had any libs-api attention yet, so I'm not waiting on it.\n\nadd enum variant field names to make the code clearer\n\nremove redundant flat vs nested distinction to simplify enum\n\nturn all_nested_unused into used_childs\n\nstore the span of the nested part of the use tree in the ast\n\n remove braces when fixing a nested use tree into a single use\n\nUse generic `NonZero` in examples.\n\nSimplify `clippy` lint.\n\nSimplify suggestion.\n\nUse generic `NonZero`.\n\ncrashes: add lastest batch of crash tests\n\nMake sure we don't deny macro vars w keyword names\n\nSimplify `use crate::rustc_foo::bar` occurrences.\n\nThey can just be written as `use rustc_foo::bar`, which is far more\nstandard. (I didn't even know that a `crate::` prefix was valid.)\n\nUpdate cc crate to v1.0.97\n\nIgnore empty RUSTC_WRAPPER in bootstrap\n\nThis change ignores the RUSTC_WRAPPER_REAL environment variable if it's\nset to the empty string. This matches cargo behaviour and allows users\nto easily shadow a globally set RUSTC_WRAPPER (which they might have set\nfor non-rustc projects).\n\nHandle normalization failure in `struct_tail_erasing_lifetimes`\n\nFixes an ICE that occurred when the struct in question has an error\n\nImplement `as_chunks` with `split_at_unchecked`\n\nRemove `macro_use` from `stable_hasher`.\n\nNormal `use` items are nicer.\n\nReorder top-level crate items.\n\n- `use` before `mod`\n- `pub` before `non-pub`\n- Alphabetical order within sections\n\nRemove `extern crate tracing`.\n\n`use` is a nicer way of doing things.\n\nDocument `Pu128`.\n\nAnd move the `repr` line after the `derive` line, where it's harder to\noverlook. (I overlooked it initially, and didn't understand how this\ntype worked.)\n\nRemove `TinyList`.\n\nIt is optimized for lists with a single element, avoiding the need for\nan allocation in that case. But `SmallVec<[T; 1]>` also avoids the\nallocation, and is better in general: more standard, log2 number of\nallocations if the list exceeds one item, and a much more capable API.\n\nThis commit removes `TinyList` and converts the two uses to\n`SmallVec<[T; 1]>`. It also reorders the `use` items in the relevant\nfile so they are in just two sections (`pub` and non-`pub`), ordered\nalphabetically, instead of many sections. (This is a relevant part of\nthe change because I had to decide where to add a `use` item for\n`SmallVec`.)\n\nRemove `vec_linked_list`.\n\nIt provides a way to effectively embed a linked list within an\n`IndexVec` and also iterate over that list. It's written in a very\ngeneric way, involving two traits `Links` and `LinkElem`. But the\n`Links` trait is only impl'd for `IndexVec` and `&IndexVec`, and the\nwhole thing is only used in one module within `rustc_borrowck`. So I\nthink it's over-engineered and hard to read. Plus it has no comments.\n\nThis commit removes it, and adds a (non-generic) local iterator for the\nuse within `rustc_borrowck`. Much simpler.\n\nRemove `enum_from_u32`.\n\nIt's a macro that just creates an enum with a `from_u32` method. It has\ntwo arms. One is unused and the other has a single use.\n\nThis commit inlines that single use and removes the whole macro. This\nincreases readability because we don't have two different macros\ninteracting (`enum_from_u32` and `language_item_table`).\n\nUpdate Tests\n\nFix Error Messages for `break` Inside Coroutines\n\nPreviously, `break` inside `gen` blocks and functions\nwere incorrectly identified to be enclosed by a closure.\n\nThis PR fixes it by displaying an appropriate error message\nfor async blocks, async closures, async functions, gen blocks,\ngen closures, gen functions, async gen blocks, async gen closures\nand async gen functions.\n\nNote: gen closure and async gen closure are not supported by the\ncompiler yet but I have added an error message here assuming that\nthey might be implemented in the future.\n\nAlso, fixes grammar in a few places by replacing\n`inside of a $coroutine` with `inside a $coroutine`.\n\nMigrate `run-make/rustdoc-map-file` to rmake\n\nAdd more ICEs due to malformed diagnostic::on_unimplemented\n\nFix ICEs in diagnostic::on_unimplemented\n\nHandle field projections like slice indexing in invalid_reference_casting\n\nFix typos\n\nDo not add leading asterisk in the `PartialEq`\n\nAdding leading asterisk can cause compilation failure for\nthe _types_ that don't implement the `Copy`.\n\nUse sum type for `WorkflowRunType`\n\nParse try build CI job name from commit message\n\nMake the regex more robust\n\nAddress review comments\n\nCI: fix auto builds and make sure that we always have at least a single CI job\n\nInclude the line number in tidy's `iter_header`\n\nTidy check for test revisions that are mentioned but not declared\n\nIf a `[revision]` name appears in a test header directive or error annotation,\nbut isn't declared in the `//@ revisions:` header, that is almost always a\nmistake.\n\nIn cases where a revision needs to be temporarily disabled, adding it to an\n`//@ unused-revision-names:` header will suppress these checks for that name.\n\nAdding the wildcard name `*` to the unused list will suppress these checks for\nthe entire file.\n\nFix test problems discovered by the revision check\n\nMost of these changes either add revision names that were apparently missing,\nor explicitly mark a revision name as currently unused.\n\nfix #124714 str.to_lowercase sigma handling\n\nMake a minimal amount of region APIs public\n\nAdd `ErrorGuaranteed` to `Recovered::Yes` and use it more.\n\nThe starting point for this was identical comments on two different\nfields, in `ast::VariantData::Struct` and `hir::VariantData::Struct`:\n```\n // FIXME: investigate making this a `Option`\n recovered: bool\n```\nI tried that, and then found that I needed to add an `ErrorGuaranteed`\nto `Recovered::Yes`. Then I ended up using `Recovered` instead of\n`Option` for these two places and elsewhere, which\nrequired moving `ErrorGuaranteed` from `rustc_parse` to `rustc_ast`.\n\nThis makes things more consistent, because `Recovered` is used in more\nplaces, and there are fewer uses of `bool` and\n`Option`. And safer, because it's difficult/impossible\nto set `recovered` to `Recovered::Yes` without having emitted an error.\n\ninterpret/miri: better errors on failing offset_from\n\nchore: remove repetitive words\n\nMake `#![feature]` suggestion MaybeIncorrect\n\nUpdate Makefiles with explanatory comments\n\ncorrect comments\n\nadd FIXME\n\nUpgrade the version of Clang used in the build, move MSVC builds to Server 2022\n\nRename Generics::params to Generics::own_params\n\nAdd benchmarks for `impl Debug for str`\n\nIn order to inform future perf improvements and prevent regressions,\nlets add some benchmarks that stress `impl Debug for str`.\n\nRemove unused `step_trait` feature.\n\nAlso sort the features.\n\nRemove unused `LinkSelfContainedDefault::is_linker_enabled` method.\n\nCorrect a comment.\n\nI tried simplifying `RegionCtxt`, which led me to finding that the\nfields are printed in `sccs_info`.\n\nFix up `DescriptionCtx::new`.\n\nThe comment mentions that `ReBound` and `ReVar` aren't expected here.\nExperimentation with the full test suite indicates this is true, and\nthat `ReErased` also doesn't occur. So the commit introduces `bug!` for\nthose cases. (If any of them show up later on, at least we'll have a\ntest case.)\n\nThe commit also remove the first sentence in the comment.\n`RePlaceholder` is now handled in the match arm above this comment and\nnothing is printed for it, so that sentence is just wrong. Furthermore,\nissue #13998 was closed some time ago.\n\nFix out-of-date comment.\n\nThe type name has changed.\n\nRemove `TyCtxt::try_normalize_erasing_late_bound_regions`.\n\nIt's unused.\n\nRemove out-of-date comment.\n\nThe use of `Binder` was removed in the recent #123900, but the comment\nwasn't removed at the same time.\n\nDe-tuple two `vtable_trait_first_method_offset` args.\n\nThus eliminating a `FIXME` comment.\n\nopt-dist: use xz2 instead of xz crate\n\nxz crate consist of simple reexport of xz2 crate. Why? Idk.\n\nanalyse visitor: build proof tree in probe\n\nupdate crashes\n\nalways use `GenericArgsRef`\n\nInline and remove unused methods.\n\n`InferCtxt::next_{ty,const,int,float}_var_id` each have a single call\nsite, in `InferCtt::next_{ty,const,int,float}_var` respectively.\n\nThe only remaining method that creates a var_id is\n`InferCtxt::next_ty_var_id_in_universe`, which has one use outside the\ncrate.\n\nUse fewer origins when creating type variables.\n\n`InferCtxt::next_{ty,const}_var*` all take an origin, but the\n`param_def_id` is almost always `None`. This commit changes them to just\ntake a `Span` and build the origin within the method, and adds new\nmethods for the rare cases where `param_def_id` might not be `None`.\nThis avoids a lot of tedious origin building.\n\nSpecifically:\n- next_ty_var{,_id_in_universe,_in_universe}: now take `Span` instead of\n `TypeVariableOrigin`\n- next_ty_var_with_origin: added\n\n- next_const_var{,_in_universe}: takes Span instead of ConstVariableOrigin\n- next_const_var_with_origin: added\n\n- next_region_var, next_region_var_in_universe: these are unchanged,\n still take RegionVariableOrigin\n\nThe API inconsistency (ty/const vs region) seems worth it for the\nlarge conciseness improvements.\n\nprint walltime benchmarks with subnanosecond precision\n\nexample results when benchmarking 1-4 serialized ADD instructions\n\n```\nrunning 4 tests\ntest add ... bench: 0.24 ns/iter (+/- 0.00)\ntest add2 ... bench: 0.48 ns/iter (+/- 0.01)\ntest add3 ... bench: 0.72 ns/iter (+/- 0.01)\ntest add4 ... bench: 0.96 ns/iter (+/- 0.01)\n```\n\nemit fractional benchmark nanoseconds in libtest's JSON output format\n\nbootstrap should also render fractional nanoseconds for benchmarks\n\nfrom_str_radix: outline only the panic function\n\ncodegen: memmove/memset cannot be non-temporal\n\ncoverage: Separately compute the set of BCBs with counter mappings\n\ncoverage: Make the special case for async functions exit early\n\ncoverage: Don't recompute the number of test vector bitmap bytes\n\nThe code in `extract_mcdc_mappings` that allocates these bytes already knows\nhow many are needed in total, so there's no need to immediately recompute that\nvalue in the calling function.\n\ncoverage: Destructure the mappings struct to make sure we don't miss any\n\ncoverage: Rename `CoverageSpans` to `ExtractedMappings`\n\ncoverage: Tidy imports in `rustc_mir_transform::coverage`\n\nFix parse error message for meta items\n\nRefactor float `Primitive`s to a separate `Float` type\n\nMigrate `run-make/rustdoc-output-path` to rmake\n\nMake builtin_deref just return a Ty\n\nrename some variants in FulfillmentErrorCode\n\nRemove glob imports for ObligationCauseCode\n\nRename some ObligationCauseCode variants\n\nMore rename fallout\n\nName tweaks\n\nAdd a codegen test for transparent aggregates\n\nAggregating arrays can always take the place path\n\nMake SSA aggregates without needing an alloca\n\nLift `Lift`\n\nLift `TraitRef` into `rustc_type_ir`\n\nAlso debug\n\nApply nits, make some bounds into supertraits on inherent traits\n\nAdd `-lmingwex` second time in `mingw_libs`\n\nUpcoming mingw-w64 releases will contain small math functions refactor which moved implementation around.\nAs a result functions like `lgamma`\nnow depend on libraries in this order:\n`libmingwex.a` -> `libmsvcrt.a` -> `libmingwex.a`.\n\nFixes #124221\n\nignore generics args in attribute paths\n\nbootstrap: add comments for the automatic dry run\n\nfix typo\n\nCo-authored-by: jyn \n\nreachable computation: extend explanation of what this does, and why\n\nMake sure we consume a generic arg when checking mistyped turbofish\n\nUpdate cargo\n\nstd::rand: adding solaris/illumos for getrandom support.\n\nTo help solarish support for miri https://rust-lang/miri/issues/3567\n\nUpdate ena to 0.14.3\n\nFix typo in ManuallyDrop's documentation\n\nAdd @saethlin to some triagebot groups\n\nRefactor Apple `target_abi`\n\nThis was bundled together with `Arch`, which complicated a few code\npaths and meant we had to do more string matching than necessary.\n\nMatch ergonomics 2024: let `&` patterns eat `&mut`\n\nVarious fixes:\n\n- Only show error when move-check would not be triggered\n- Add structured suggestion\n\nFix spans when macros are involved\n\nComments and fixes\n\nRename `explicit_ba`\n\nNo more `Option>`\n\nRemove redundant comment\n\nMove all ref pat logic into `check_pat_ref`\n\nAdd comment on `cap_to_weakly_not`\n\nCo-authored-by: Guillaume Boisseau \n\nStabilize `byte_slice_trim_ascii` for `&[u8]`/`&str`\n\nRemove feature from documentation examples\nAdd rustc_const_stable attribute to stabilized functions\nUpdate intra-doc link for `u8::is_ascii_whitespace` on `&[u8]` functions\n\nDocument proper usage of `fmt::Error` and `fmt()`'s `Result`.\n\nDocumentation of these properties previously existed in a lone paragraph\nin the `fmt` module's documentation:\n\nHowever, users looking to implement a formatting trait won't necessarily\nlook there. Therefore, let's add the critical information (that\nformatting per se is infallible) to all the involved items.\n\ncheck if `x test tests` missing any test directory\n\nSigned-off-by: onur-ozkan \n\nremap missing path `tests/crashes` to `tests`\n\nSigned-off-by: onur-ozkan \n\nadd \"tidy-alphabetical\" check on \"tests\" remap list\n\nSigned-off-by: onur-ozkan \n\nHandle Deref expressions in invalid_reference_casting\n\nunix/fs: a bit of cleanup around host-specific code\n\nsolaris support start.\n\nreduce tokio features\n\nremove rand test\n\nthe actual target-specific things we want to test are all in getrandom,\nand rand already tests miri itself\n\ngetrandom: test with and without isolation\n\nalso add some comments for why we keep certain old obscure APIs supported\n\navoid code duplication between realloc and malloc\n\nImplement wcslen\n\norganize libc tests into a proper folder, and run some of them on Windows\n\nREADME: update introduction\n\nremove problems that I do not think we have seen in a while\n\nio::Error handling: keep around the full io::Error for longer so we can give better errors\n\nImplement non-null pointer for malloc(0)\n\nAllow test targets to be set via CLI args\n\nUpdate CI script for the miri-script test changes\n\nUpdate documentation for miri-script test changes\n\nminor tweaks\n\nmake MIRI_TEST_TARGET entirely an internal thing\n\nmake RUSTC_BLESS entirely an internal thing\n\ndo not run symlink tests on Windows hosts\n\nrename 'extern-so' to 'native-lib'\n\nPreparing for merge from rustc\n\nalloc: update comments around malloc() alignment\n\nseparate windows heap functions from C heap shims\n\nAdd windows_i686_gnullvm to the list\n\nPin libc back to 0.2.153\n\nUpdate Cargo.lock\n\nfix few typo in filecheck annotations\n\nConsolidate obligation cause codes for where clauses\n\nClean up users of rust_dbg_call\n\nEnable profiler for armv7-unknown-linux-gnueabihf.\n\nAlways hide private fields in aliased type\n\nMigrate `run-make/rustdoc-shared-flags` to rmake\n\nRelax allocator requirements on some Rc APIs.\n\n* Remove A: Clone bound from Rc::assume_init, Rc::downcast, and Rc::downcast_unchecked.\n* Make From> for Rc<[T]> allocator-aware.\n\nInternal changes:\n\n* Made Arc::internal_into_inner_with_allocator method into Arc::into_inner_with_allocator associated fn.\n* Add private Rc::into_inner_with_allocator (to match Arc), so other fns don't have to juggle ManuallyDrop.\n\nRelax A: Clone requirement on Rc/Arc::unwrap_or_clone.\n\nAdd test for #122775\n\nRefactoring after the `PlaceValue` addition\n\nI added `PlaceValue` in 123775, but kept that one line-by-line simple because it touched so many places.\n\nThis goes through to add more helpers & docs, and change some `PlaceRef` to `PlaceValue` where the type didn't need to be included.\n\nNo behaviour changes.\n\nMake it possible to derive Lift/TypeVisitable/TypeFoldable in rustc_type_ir\n\nUplift `TraitPredicate`\n\nUplift `ExistentialTraitRef`, `ExistentialProjection`, `ProjectionPredicate`\n\nUplift `NormalizesTo`, `CoercePredicate`, and `SubtypePredicate`\n\nApply nits, uplift ExistentialPredicate too\n\nAnd `ImplPolarity` too\n\nExpand on expr_requires_semi_to_be_stmt documentation\n\nMark expr_requires_semi_to_be_stmt call sites\n\nFor each of these, we need to decide whether they need to be using\n`expr_requires_semi_to_be_stmt`, or `expr_requires_comma_to_be_match_arm`,\nwhich are supposed to be 2 different behaviors. Previously they were\nconflated into one, causing either too much or too little\nparenthesization.\n\nMacro call with braces does not require semicolon to be statement\n\nThis commit by itself is supposed to have no effect on behavior. All of\nthe call sites are updated to preserve their previous behavior.\n\nThe behavior changes are in the commits that follow.\n\nAdd ExprKind::MacCall statement boundary tests\n\nFix pretty printer statement boundaries after braced macro call\n\nDelete MacCall case from pretty-printing semicolon after StmtKind::Expr\n\nI didn't figure out how to reach this condition with `expr` containing\n`ExprKind::MacCall`. All the approaches I tried ended up with the macro\ncall ending up in the `StmtKind::MacCall` case below instead.\n\nIn any case, from visual inspection this is a bugfix. If we do end up\nwith a `StmtKind::Expr` containing `ExprKind::MacCall` with brace\ndelimiter, it would not need \";\" printed after it.\n\nAdd test of unused_parens lint involving macro calls\n\nDocument the situation with unused_parens lint and braced macro calls\n\nAdd parser tests for statement boundary insertion\n\nMark Parser::expr_is_complete call sites\n\nDocument MacCall special case in Parser::expr_is_complete\n\nDocument MacCall special case in Parser::parse_arm\n\nAdd macro calls to else-no-if parser test\n\nRemove MacCall special case from recovery after missing 'if' after 'else'\n\nThe change to the test is a little goofy because the compiler was\nguessing \"correctly\" before that `falsy! {}` is the condition as opposed\nto the else body. But I believe this change is fundamentally correct.\nBraced macro invocations in statement position are most often item-like\n(`thread_local! {...}`) as opposed to parenthesized macro invocations\nwhich are condition-like (`cfg!(...)`).\n\nRemove MacCall special cases from Parser::parse_full_stmt\n\nIt is impossible for expr here to be a braced macro call. Expr comes\nfrom `parse_stmt_without_recovery`, in which macro calls are parsed by\n`parse_stmt_mac`. See this part:\n\n let kind = if (style == MacStmtStyle::Braces\n && self.token != token::Dot\n && self.token != token::Question)\n || self.token == token::Semi\n || self.token == token::Eof\n {\n StmtKind::MacCall(P(MacCallStmt { mac, style, attrs, tokens: None }))\n } else {\n // Since none of the above applied, this is an expression statement macro.\n let e = self.mk_expr(lo.to(hi), ExprKind::MacCall(mac));\n let e = self.maybe_recover_from_bad_qpath(e)?;\n let e = self.parse_expr_dot_or_call_with(e, lo, attrs)?;\n let e = self.parse_expr_assoc_with(\n 0,\n LhsExpr::AlreadyParsed { expr: e, starts_statement: false },\n )?;\n StmtKind::Expr(e)\n };\n\nA braced macro call at the head of a statement is always either extended\ninto ExprKind::Field / MethodCall / Await / Try / Binary, or else\nreturned as StmtKind::MacCall. We can never get a StmtKind::Expr\ncontaining ExprKind::MacCall containing brace delimiter.\n\nAdd classify::expr_is_complete\n\nFix redundant parens around braced macro call in match arms\n\nuse key-value format in stage0 file\n\nCurrently, we are working on the python removal task on bootstrap. Which means\nwe have to extract some data from the stage0 file using shell scripts. However,\nparsing values from the stage0.json file is painful because shell scripts don't\nhave a built-in way to parse json files.\n\nThis change simplifies the stage0 file format to key-value pairs, which makes\nit easily readable from any environment.\n\nSigned-off-by: onur-ozkan \n\nawk stage0 file on CI\n\nSigned-off-by: onur-ozkan \n\nuse stage0 file in `bootstrap.py`\n\nSigned-off-by: onur-ozkan \n\nuse shared stage0 parser from `build_helper`\n\nSigned-off-by: onur-ozkan \n\nremove outdated stage0.json parts\n\nSigned-off-by: onur-ozkan \n\nmove comments position in `src/stage0`\n\nSigned-off-by: onur-ozkan \n\nio::Write::write_fmt: panic if the formatter fails when the stream does not fail\n\nstd::alloc: using posix_memalign instead of memalign on solarish.\n\nsimpler code path since small alignments are already taking care of.\nclose GH-124787\n\nRelax slice safety requirements\n\nPer https://github.com/rust-lang/rust/pull/116677#issuecomment-1945495786, the language as written promises too much. This PR relaxes the language to be consistent with current semantics. If and when #117945 is implemented, we can revert to the old language.\n\nReferences must also be non-null\n\nAdd `crate_type` method to `Rustdoc`\n\nAdd `crate_name` method to `Rustdoc` and `Rustc`\n\nAdd `python_command` and `source_path` functions\n\nAdd `extern_` method to `Rustdoc`\n\nMigrate `rustdoc-scrape-examples-ordering` to `rmake`\n\nFix some minor issues from the ui-test auto-porting\n\nsolve: replace all `debug` with `trace`\n\nstructurally important functions to `debug`\n\nfix hidden title in command-line-arguments docs\n\nAssert that MemCategorizationVisitor actually errors when it bails ungracefully\n\nInline MemCategorization into ExprUseVisitor\n\nRemove unncessary mut ref\n\nIntroduce TypeInformationCtxt to abstract over LateCtxt/FnCtxt\n\nMake LateCtxt be a type info delegate for EUV for clippy\n\nTry structurally resolve\n\nApply nits\n\nPropagate errors rather than using return_if_err\n\nMatch ergonomics 2024: migration lint\n\nUnfortunately, we can't always offer a machine-applicable suggestion when there are subpatterns from macro expansion.\n\nCo-Authored-By: Guillaume Boisseau \n\nAdd AST pretty-printer tests for let-else\n\nPretty-print let-else with added parenthesization when needed\n\nrename","shortMessageHtmlLink":"added Default impls"}},{"before":"7d4909e0f311d53edd4568d5abf8b7f410b3287d","after":"54a2ca2448d09221b83f11530321d917a71287b5","ref":"refs/heads/master","pushedAt":"2024-05-13T00:33:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"rename","shortMessageHtmlLink":"rename"}},{"before":"13863335d70134b6e6893d85aee5932866958b84","after":"7d4909e0f311d53edd4568d5abf8b7f410b3287d","ref":"refs/heads/master","pushedAt":"2024-05-13T00:31:27.000Z","pushType":"push","commitsCount":429,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"Merge branch 'rust-lang:master' into master","shortMessageHtmlLink":"Merge branch 'rust-lang:master' into master"}},{"before":"6eb6aee5bc86e884d3d685d06de2a51d7fa826a8","after":"13863335d70134b6e6893d85aee5932866958b84","ref":"refs/heads/master","pushedAt":"2024-05-13T00:06:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"Revert \"fixed unsafe block\"\n\nThis reverts commit 6eb6aee5bc86e884d3d685d06de2a51d7fa826a8.","shortMessageHtmlLink":"Revert \"fixed unsafe block\""}},{"before":"f453fabefb7a8eb46bcc58f4a295dba59c93789d","after":"6eb6aee5bc86e884d3d685d06de2a51d7fa826a8","ref":"refs/heads/master","pushedAt":"2024-05-12T23:58:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"fixed unsafe block","shortMessageHtmlLink":"fixed unsafe block"}},{"before":"7208c451430b0214ec71e221cb3bcfeb43220f97","after":"f453fabefb7a8eb46bcc58f4a295dba59c93789d","ref":"refs/heads/master","pushedAt":"2024-05-12T23:35:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"added Default impls\n\nreorganised attrs\n\nremoved OsStr impls\n\nadded backticks\n\nAdd note about possible allocation-sharing to Arc/Rc::default.\n\nUse shared statics for the ArcInner for Arc::default, and for Arc<[T]>::default where alignof(T) <= 16.","shortMessageHtmlLink":"added Default impls"}},{"before":"897bfec0dd3e01c26883ea5de87ae4cecb6b13f5","after":"7208c451430b0214ec71e221cb3bcfeb43220f97","ref":"refs/heads/master","pushedAt":"2024-05-12T23:32:05.000Z","pushType":"push","commitsCount":426,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"Merge branch 'rust-lang:master' into master","shortMessageHtmlLink":"Merge branch 'rust-lang:master' into master"}},{"before":"14665959a94c42a552d92a1d0b602a673098435a","after":"897bfec0dd3e01c26883ea5de87ae4cecb6b13f5","ref":"refs/heads/master","pushedAt":"2024-05-12T23:29:58.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"Merge pull request #1 from zachs18/arc-default\n\nMerge in Zachs18 improvements","shortMessageHtmlLink":"Merge pull request #1 from zachs18/arc-default"}},{"before":"09b1611136e330953e68539558689432e1f00a15","after":"14665959a94c42a552d92a1d0b602a673098435a","ref":"refs/heads/master","pushedAt":"2024-05-06T07:54:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"added Default impls\n\nreorganised attrs\n\nremoved OsStr impls\n\nadded backticks","shortMessageHtmlLink":"added Default impls"}},{"before":"fec5b27e31bb07800014e3ddea9573234f18594e","after":"09b1611136e330953e68539558689432e1f00a15","ref":"refs/heads/master","pushedAt":"2024-05-06T07:47:27.000Z","pushType":"push","commitsCount":334,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"Merge branch 'rust-lang:master' into master","shortMessageHtmlLink":"Merge branch 'rust-lang:master' into master"}},{"before":"7375074e473004467120a206c86e3bb7b406564a","after":"fec5b27e31bb07800014e3ddea9573234f18594e","ref":"refs/heads/master","pushedAt":"2024-05-06T07:45:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"added backticks","shortMessageHtmlLink":"added backticks"}},{"before":"fec5b27e31bb07800014e3ddea9573234f18594e","after":"7375074e473004467120a206c86e3bb7b406564a","ref":"refs/heads/master","pushedAt":"2024-05-06T07:45:36.000Z","pushType":"push","commitsCount":334,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"Merge branch 'rust-lang:master' into master","shortMessageHtmlLink":"Merge branch 'rust-lang:master' into master"}},{"before":"bceff0b5c867c2ee1461f47bc256a278f012692d","after":"fec5b27e31bb07800014e3ddea9573234f18594e","ref":"refs/heads/master","pushedAt":"2024-05-06T06:33:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"added backticks","shortMessageHtmlLink":"added backticks"}},{"before":"e6452a00796dea9e2f6db254cb8e60cffaaae941","after":"bceff0b5c867c2ee1461f47bc256a278f012692d","ref":"refs/heads/master","pushedAt":"2024-05-06T06:10:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"removed OsStr impls","shortMessageHtmlLink":"removed OsStr impls"}},{"before":"1a65532c7cc8bc05588746d6dcf41a0401f3cd46","after":"e6452a00796dea9e2f6db254cb8e60cffaaae941","ref":"refs/heads/master","pushedAt":"2024-05-03T02:00:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"reorganised attrs","shortMessageHtmlLink":"reorganised attrs"}},{"before":"81b0331cc7a298f79ced7aec395510379df8fa1b","after":"1a65532c7cc8bc05588746d6dcf41a0401f3cd46","ref":"refs/heads/master","pushedAt":"2024-05-03T00:12:08.000Z","pushType":"push","commitsCount":720,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"Merge branch 'rust-lang:master' into master","shortMessageHtmlLink":"Merge branch 'rust-lang:master' into master"}},{"before":"79734f1db8dbe322192dea32c0f6b80ab14c4c1d","after":"81b0331cc7a298f79ced7aec395510379df8fa1b","ref":"refs/heads/master","pushedAt":"2024-05-03T00:11:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Billy-Sheppard","name":"Billy Sheppard","path":"/Billy-Sheppard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39789405?s=80&v=4"},"commit":{"message":"added Default impls","shortMessageHtmlLink":"added Default impls"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAER_dFswA","startCursor":null,"endCursor":null}},"title":"Activity · Billy-Sheppard/rust"}