rust/.gitignore
bjorn3 1f3be75f56 Move the standard library to a separate workspace
This ensures that the Cargo.lock packaged for it in the rust-src
component is up-to-date, allowing rust-analyzer to run cargo metadata on
the standard library even when the rust-src component is stored in a
read-only location as is necessary for loading crates.io dependencies of
the standard library.

This also simplifies tidy's license check for runtime dependencies as it
can now look at all entries in library/Cargo.lock without having to
filter for just the dependencies of runtime crates. In addition this
allows removing an exception in check_runtime_license_exceptions that
was necessary due to the compiler enabling a feature on the object crate
which pulls in a dependency not allowed for the standard library.

While cargo workspaces normally enable dependencies of multiple targets
to be reused, for the standard library we do not want this reusing to
prevent conflicts between dependencies of the sysroot and of tools that
are built using this sysroot. For this reason we already use an unstable
cargo feature to ensure that any dependencies which would otherwise be
shared get a different -Cmetadata argument as well as using separate
build dirs.

This doesn't change the situation around vendoring. We already have
several cargo workspaces that need to be vendored. Adding another one
doesn't change much.

There are also no cargo profiles that are shared between the root
workspace and the library workspace anyway, so it doesn't add any extra
work when changing cargo profiles.
2024-08-02 10:48:12 +00:00

84 lines
1.3 KiB
Plaintext

# This file should only ignore things that are generated during a `x.py` build,
# generated by common IDEs, and optional files controlled by the user that
# affect the build (such as config.toml).
# In particular, things like `mir_dump` should not be listed here; they are only
# created during manual debugging and many people like to clean up instead of
# having git ignore such leftovers. You can use `.git/info/exclude` to
# configure your local ignore list.
## File system
.DS_Store
desktop.ini
## Editor
*.swp
*.swo
Session.vim
.cproject
.idea
*.iml
.vscode
.project
.favorites.json
.settings/
.vs/
## Tool
.valgrindrc
.cargo
# Included because it is part of the test case
!/tests/run-make/thumb-none-qemu/example/.cargo
## Configuration
/config.toml
/Makefile
config.mk
config.stamp
no_llvm_build
## Build
/dl/
/doc/
/inst/
/llvm/
/mingw-build/
build/
!/compiler/rustc_mir_build/src/build/
/build-rust-analyzer/
/dist/
/unicode-downloads
/target
/library/target
/src/bootstrap/target
/src/tools/x/target
# Created by default with `src/ci/docker/run.sh`
/obj/
/rustc-ice*
## Temporary files
*~
\#*
\#*\#
.#*
## Tags
tags
tags.*
TAGS
TAGS.*
## Python
__pycache__/
*.py[cod]
*$py.class
## Node
node_modules
package-lock.json
package.json
## Rustdoc GUI tests
tests/rustdoc-gui/src/**.lock
# Before adding new lines, see the comment at the top.