Fix 4086 - use stable command options for rustc (#4087)

This commit is contained in:
Horacio Sanson 2022-02-20 00:01:06 +09:00 committed by GitHub
parent 47470eddc2
commit 5b1044e2ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 8 deletions

View File

@ -1,7 +1,7 @@
" Author: Daniel Schemala <istjanichtzufassen@gmail.com>
" Description: rustc for rust files
call ale#Set('rust_rustc_options', '-Z no-codegen')
call ale#Set('rust_rustc_options', '--emit=mir -o /dev/null')
function! ale_linters#rust#rustc#RustcCommand(buffer) abort
" Try to guess the library search path. If the project is managed by cargo,

View File

@ -38,7 +38,7 @@ Integration Information
let g:ale_linters = {'rust': ['rustc', 'rls']}
<
Also note that rustc 1.12. or later is needed.
Also note that rustc 1.18. or later is needed.
===============================================================================
@ -237,13 +237,13 @@ rustc *ale-rust-rustc*
g:ale_rust_rustc_options *g:ale_rust_rustc_options*
*b:ale_rust_rustc_options*
Type: |String|
Default: `'-Z no-codegen'`
Default: `'--emit=mir -o /dev/null'`
The variable can be used to change the options passed to `rustc`.
`-Z no-codegen` should only work with nightly builds of Rust. Be careful when
setting the options, as running `rustc` could execute code or generate
binary files.
Users of nightly builds of Rust might want to use `-Z no-codegen` instead.
Be careful when setting the options, as running `rustc` could execute code
or generate binary files.
g:ale_rust_ignore_error_codes *g:ale_rust_ignore_error_codes*

View File

@ -5,7 +5,7 @@ After:
call ale#assert#TearDownLinterTest()
Execute(The default command should be correct):
AssertLinter 'rustc', 'rustc --error-format=json -Z no-codegen -'
AssertLinter 'rustc', 'rustc --error-format=json --emit=mir -o /dev/null -'
Execute(The options should be configurable):
let b:ale_rust_rustc_options = '--foo'
@ -15,7 +15,7 @@ Execute(The options should be configurable):
Execute(Some default paths should be included when the project is a Cargo project):
call ale#test#SetFilename('../test-files/cargo/test.rs')
AssertLinter 'rustc', 'rustc --error-format=json -Z no-codegen'
AssertLinter 'rustc', 'rustc --error-format=json --emit=mir -o /dev/null'
\ . ' -L ' . ale#Escape(ale#path#GetAbsPath(g:dir, '../test-files/cargo/target/debug/deps'))
\ . ' -L ' . ale#Escape(ale#path#GetAbsPath(g:dir, '../test-files/cargo/target/release/deps'))
\ . ' -'