Skip to content

Instantly share code, notes, and snippets.

@Nashenas88
Nashenas88 / output.txt
Created January 5, 2020 00:10
Expected coi `cargo test` output
~/projects/coi$ for dir in coi-test*; do pushd $dir; cargo test; popd; done
~/projects/coi/coi-test ~/projects/coi ~/projects/coi/coi-derive ~
Finished test [unoptimized + debuginfo] target(s) in 0.02s
Running /home/pfaria/projects/coi/target/debug/deps/main-8e24f04ce9ec5785
running 1 test
test main ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
@Nashenas88
Nashenas88 / error.log
Created October 4, 2019 18:45
futures mutex guard send error
error[E0277]: `std::sync::MutexGuard<'_, rusoto_s3::generated::S3Client>` cannot be sent between threads safely
--> src/main.rs:604:14
|
604 | .boxed()
| ^^^^^ `std::sync::MutexGuard<'_, rusoto_s3::generated::S3Client>` cannot be sent between threads safely
|
= help: within `impl core::future::future::Future`, the trait `std::marker::Send` is not implemented for `std::sync::MutexGuard<'_, rusoto_s3::generated::S3Client>`
= note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {std::sync::Arc<std::sync::Mutex<rusoto_s3::generated::S3Client>>, &'r str, gcs::Bucket, &'s gcs::GCSCredentialProvider<'t0>, &'t1 str, u64, &'t2 mut indicatif::progress::ProgressBar,
@Nashenas88
Nashenas88 / gist:0f289fda1388829db87594cd0e71642c
Created June 4, 2017 20:41
First integrated version of borrow visualizer in rls
~/programming/rls/test_data/hover > master ●✚ > ../../target/debug/rls .
Initialising (look for `diagnosticsEnd` message)...
> 1: Init(
InitializeResult {
capabilities: ServerCapabilities {
text_document_sync: Some(
Incremental
),
hover_provider: Some(
true
let mut fraginfo_map = this.tcx.fragment_infos.borrow_mut();
let fn_did = this.tcx.hir.local_def_id(id);
let prev = fraginfo_map.insert(fn_did, fragment_infos);
assert!(prev.is_none());
pub fn check_crate<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, save_analysis: bool) -> Option<HashMap<DefId, AnalysisResult<'a, 'tcx>>> {
if save_analysis {
info!("Performing save_analysis borrowck");
let mut map = HashMap::new();
for body_owner_def_id in tcx.body_owners() {
info!("Borrow checking {:?}", body_owner_def_id);
let result = borrowck(tcx, body_owner_def_id, save_analysis).unwrap();
map.insert(body_owner_def_id, result);
}
Some(map)