@@ -63,71 +63,101 @@ pub(crate) struct WorkspaceInfo<'a> {
6363 pub ( crate ) submodules : & ' a [ & ' a str ] ,
6464}
6565
66- impl < ' a > WorkspaceInfo < ' a > {
67- const fn new (
68- path : & ' a str ,
69- exceptions : ExceptionList ,
70- crates_and_deps : Option < ( & ' a [ & str ] , & ' a [ & str ] , ListLocation ) > ,
71- submodules : & ' a [ & str ] ,
72- ) -> Self {
73- Self { path, exceptions, crates_and_deps, submodules }
74- }
75- }
76-
7766/// The workspaces to check for licensing and optionally permitted dependencies.
7867// FIXME auto detect all cargo workspaces
7968pub ( crate ) const WORKSPACES : & [ WorkspaceInfo < ' static > ] = & [
8069 // The root workspace has to be first for check_rustfix to work.
81- WorkspaceInfo :: new (
82- "." ,
83- EXCEPTIONS ,
84- Some ( ( & [ "rustc-main" ] , PERMITTED_RUSTC_DEPENDENCIES , PERMITTED_RUSTC_DEPS_LOCATION ) ) ,
85- & [ ] ,
86- ) ,
87- WorkspaceInfo :: new (
88- "library" ,
89- EXCEPTIONS_STDLIB ,
90- Some ( ( & [ "sysroot" ] , PERMITTED_STDLIB_DEPENDENCIES , PERMITTED_STDLIB_DEPS_LOCATION ) ) ,
91- & [ ] ,
92- ) ,
93- // Outside of the alphabetical section because rustfmt formats it using multiple lines.
94- WorkspaceInfo :: new (
95- "compiler/rustc_codegen_cranelift" ,
96- EXCEPTIONS_CRANELIFT ,
97- Some ( (
98- & [ "rustc_codegen_cranelift" ] ,
99- PERMITTED_CRANELIFT_DEPENDENCIES ,
100- PERMITTED_CRANELIFT_DEPS_LOCATION ,
70+ WorkspaceInfo {
71+ path : "." ,
72+ exceptions : EXCEPTIONS ,
73+ crates_and_deps : Some ( (
74+ & [ "rustc-main" ] ,
75+ PERMITTED_RUSTC_DEPENDENCIES ,
76+ PERMITTED_RUSTC_DEPS_LOCATION ,
10177 ) ) ,
102- & [ ] ,
103- ) ,
104- // tidy-alphabetical-start
105- WorkspaceInfo :: new ( "compiler/rustc_codegen_gcc" , EXCEPTIONS_GCC , None , & [ ] ) ,
106- WorkspaceInfo :: new ( "src/bootstrap" , EXCEPTIONS_BOOTSTRAP , None , & [ ] ) ,
107- WorkspaceInfo :: new ( "src/tools/cargo" , EXCEPTIONS_CARGO , None , & [ "src/tools/cargo" ] ) ,
108- //WorkspaceInfo::new("src/tools/miri/test-cargo-miri", &[], None), // FIXME uncomment once all deps are vendored
109- //WorkspaceInfo::new("src/tools/miri/test_dependencies", &[], None), // FIXME uncomment once all deps are vendored
110- WorkspaceInfo :: new ( "src/tools/rust-analyzer" , EXCEPTIONS_RUST_ANALYZER , None , & [ ] ) ,
111- WorkspaceInfo :: new (
112- "src/tools/rustbook" ,
113- EXCEPTIONS_RUSTBOOK ,
114- None ,
115- & [ "src/doc/book" , "src/doc/reference" ] ,
116- ) ,
117- WorkspaceInfo :: new (
118- "src/tools/rustc-perf" ,
119- EXCEPTIONS_RUSTC_PERF ,
120- None ,
121- & [ "src/tools/rustc-perf" ] ,
122- ) ,
123- WorkspaceInfo :: new ( "src/tools/test-float-parse" , EXCEPTIONS , None , & [ ] ) ,
124- WorkspaceInfo :: new (
125- "tests/run-make-cargo/uefi-qemu/uefi_qemu_test" ,
126- EXCEPTIONS_UEFI_QEMU_TEST ,
127- None ,
128- & [ ] ,
129- ) ,
130- // tidy-alphabetical-end
78+ submodules : & [ ] ,
79+ } ,
80+ WorkspaceInfo {
81+ path : "library" ,
82+ exceptions : EXCEPTIONS_STDLIB ,
83+ crates_and_deps : Some ( (
84+ & [ "sysroot" ] ,
85+ PERMITTED_STDLIB_DEPENDENCIES ,
86+ PERMITTED_STDLIB_DEPS_LOCATION ,
87+ ) ) ,
88+ submodules : & [ ] ,
89+ } ,
90+ {
91+ WorkspaceInfo {
92+ path : "compiler/rustc_codegen_cranelift" ,
93+ exceptions : EXCEPTIONS_CRANELIFT ,
94+ crates_and_deps : Some ( (
95+ & [ "rustc_codegen_cranelift" ] ,
96+ PERMITTED_CRANELIFT_DEPENDENCIES ,
97+ PERMITTED_CRANELIFT_DEPS_LOCATION ,
98+ ) ) ,
99+ submodules : & [ ] ,
100+ }
101+ } ,
102+ WorkspaceInfo {
103+ path : "compiler/rustc_codegen_gcc" ,
104+ exceptions : EXCEPTIONS_GCC ,
105+ crates_and_deps : None ,
106+ submodules : & [ ] ,
107+ } ,
108+ WorkspaceInfo {
109+ path : "src/bootstrap" ,
110+ exceptions : EXCEPTIONS_BOOTSTRAP ,
111+ crates_and_deps : None ,
112+ submodules : & [ ] ,
113+ } ,
114+ WorkspaceInfo {
115+ path : "src/tools/cargo" ,
116+ exceptions : EXCEPTIONS_CARGO ,
117+ crates_and_deps : None ,
118+ submodules : & [ "src/tools/cargo" ] ,
119+ } ,
120+ // FIXME uncomment once all deps are vendored
121+ // WorkspaceInfo {
122+ // path: "src/tools/miri/test-cargo-miri",
123+ // crates_and_deps: None
124+ // submodules: &[],
125+ // },
126+ // WorkspaceInfo {
127+ // path: "src/tools/miri/test_dependencies",
128+ // crates_and_deps: None,
129+ // submodules: &[],
130+ // }
131+ WorkspaceInfo {
132+ path : "src/tools/rust-analyzer" ,
133+ exceptions : EXCEPTIONS_RUST_ANALYZER ,
134+ crates_and_deps : None ,
135+ submodules : & [ ] ,
136+ } ,
137+ WorkspaceInfo {
138+ path : "src/tools/rustbook" ,
139+ exceptions : EXCEPTIONS_RUSTBOOK ,
140+ crates_and_deps : None ,
141+ submodules : & [ "src/doc/book" , "src/doc/reference" ] ,
142+ } ,
143+ WorkspaceInfo {
144+ path : "src/tools/rustc-perf" ,
145+ exceptions : EXCEPTIONS_RUSTC_PERF ,
146+ crates_and_deps : None ,
147+ submodules : & [ "src/tools/rustc-perf" ] ,
148+ } ,
149+ WorkspaceInfo {
150+ path : "src/tools/test-float-parse" ,
151+ exceptions : EXCEPTIONS ,
152+ crates_and_deps : None ,
153+ submodules : & [ ] ,
154+ } ,
155+ WorkspaceInfo {
156+ path : "tests/run-make-cargo/uefi-qemu/uefi_qemu_test" ,
157+ exceptions : EXCEPTIONS_UEFI_QEMU_TEST ,
158+ crates_and_deps : None ,
159+ submodules : & [ ] ,
160+ } ,
131161] ;
132162
133163/// These are exceptions to Rust's permissive licensing policy, and
0 commit comments