Skip to content

Instantly share code, notes, and snippets.

#!/bin/python
# coding=utf8
import sys
file_objs = [sys.stdin]
prefix = "│ ├─┐─┘"
for file_obj in file_objs:
while True:
line = file_obj.readline()
output_list = []
WEBVTT
1
00:00:05.009 --> 00:00:05.370
Nicholas Matsakis: Okay.
2
00:00:10.200 --> 00:00:10.920
Nicholas Matsakis: So, welcome.

Coherence can be bypassed by an indirect impl for a trait object #57893

Links

Background

// run-pass
#![feature(trait_upcasting)]
trait Foo: PartialEq<i32> {
}
trait Bar1: Foo {
}
; ModuleID = '31e3415mrsire8w'
source_filename = "31e3415mrsire8w"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
@__rustc_debug_gdb_scripts_section__ = linkonce_odr unnamed_addr constant [34 x i8] c"\01gdb_load_rust_pretty_printers.py\00", section ".debug_gdb_scripts", align 1
; Function Attrs: nounwind nonlazybind
define i32 @double_input(i32) unnamed_addr #0 !dbg !5 {
start:
use std::fmt::Formatter;
use std::marker::PhantomData;
async fn foo(_: String) {
}
#[derive(Copy, Clone)]
pub struct Arguments<'a> {
// Format string pieces to print.
pieces: &'a [&'a str],
Row Self Case Stable #61207 Niko's take
1 Foo fn(self: Pin<&mut Self>, f: &u8) -> &u8 f self +
2 Foo fn(self: Pin<&mut Foo>, f: &u8) -> &u8 f self +
3 Foo<'a> fn(self: Pin<&mut Self>, f: &u8) -> &u8 f self +
4 Foo<'a> fn(self: Pin<&mut Foo>, f: &u8) -> &u8 f self +
5 Foo<'a> fn(self: Self, f: &u8) -> &u8 f f ?
6 Foo<'a> fn(self: Foo<'a>, f: &u8) -> &u8 f f ?
7 Foo<'a> fn(self: Box<Foo<'a>>, f: &u8) -> &u8 f f ?
8 Foo&lt;'a&gt; fn(self: Box, f: &amp;u8) -&gt; &amp;u8 X X
Head: issue-56238-multiple-lifetimes-async-fn-region-solver implement `TypeFoldable` for `Arc`
Merge: rust-lang/master Auto merge of #61915 - Centril:rollup-oire3i8, r=Centril
Push: nikomatsakis/issue-56238-multiple-lifetimes-async-fn-region-solver implement `TypeFoldable` for `Arc`
Tag: 1.0.0-beta (54304)
Unstaged changes (2)
modified src/librustc/infer/opaque_types/mod.rs
@@ -425,6 +425,11 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
opaque_defn: &OpaqueTypeDecl<'tcx>,
opaque_type_def_id: DefId,
diff --git a/src/librustc/infer/opaque_types/mod.rs b/src/librustc/infer/opaque_types/mod.rs
index 9bb782e31f2..44ac68c3eab 100644
--- a/src/librustc/infer/opaque_types/mod.rs
+++ b/src/librustc/infer/opaque_types/mod.rs
@@ -425,6 +425,11 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
opaque_defn: &OpaqueTypeDecl<'tcx>,
opaque_type_def_id: DefId,
) {
+ debug!(
+ "generate_member_constraint: definition_span = {:?}",

Salsa In More Depth (2019.01)

#[salsa::query_group(InputsStorage)]
pub trait MyQueryGroup {
  #[salsa::input] // `set_manifest` is auto-generated
  fn manifest(&self) -> Manifest;

  #[salsa::input] // `set_source_text` is auto-generated
  fn source_text(&self, name: String) -> String;