#rust-internals

/

      • keeper
        dtolnay: The proc macro derive doctests should be fixed in the next nightly.
      • Manishearth
        brson: btw, you were asking about a tool that autoupdates deps
      • jsgf
        yeah, that's what I'm running into. We use dynamic linking for dev builds because it reduces linking time, but rust can't handle diamond deps
      • Manishearth
      • dtolnay
        keeper: awesome thanks!
      • Manishearth
        nvm, it's not rust
      • acrichto
        jsgf: that wouldn't surprise me yeah
      • Manishearth
        however folks (incl jdm) have been trying to get greenkeeper working for rust
      • jdm
        Manishearth: that's a misleading statement
      • jsgf
        acrichto: Unrelated, I got a forking stream adapter going; I was wondering if it's 1) generally useful, 2) I can put it up for review
      • jdm
        Manishearth: I'm not aware of actually doing anything for that
      • Manishearth
        jdm: er, rephrasing
      • folks, incl jdm, have been interested in this
      • and want it to happen
      • jdm
        someone on the greenkeeper team told skade that they would accept code that made it work for rust
      • Diggsey joined the channel
      • acrichto
        jsgf: sure!
      • jdm
        that's as much information as I have been able to acquire
      • keeper
        dtolnay: Though, doctests can't use the proc macros themselves, so I hope it doesn't break with any current documentation.
      • acrichto
        jsgf: I'd be fine either reviewing externally or in the futures crate itself
      • jsgf
        acrichto: I was going to stick it in a gist for now
      • acrichto
        jsgf: sure
      • jsgf
      • brson
        Manishearth: greenkeepr looks promising yeah
      • acrichto
        jsgf: https://gist.github.com/jsgf/acb074cfbd7aa19a99... -- you'll probably want to unconditionally call push() on both of those, regardless of their return
      • Kingsquee joined the channel
      • and then only continue if both are ready
      • (to push in parallel to the sinks)
      • mmalone has quit
      • jsgf: same right below when calling poll_complete
      • jsgf: other than that looks great!
      • basically exactly how I'd write this :)
      • jsgf
        acrichto: I stole the structure from forward()
      • acrichto
        heh I thought it looked familiar
      • ytain joined the channel
      • jsgf
        acrichto: I wasn't sure about the error handling side; I didn't really want to add a new error type, but I couldn't see an alternative
      • acrichto
        jsgf: oh I missed that
      • I'd just hardwire everything to the same error
      • Quxxy2 joined the channel
      • jsgf
        acrichto: Also I was thinking I could make it a pure Sink rather than a forwarder, rather than duplicate forward's functionality
      • acrichto
        yeah i was originally wondering what this might look like
      • in terms of that
      • now I'm remembering we've talked about this before...
      • and phrased like that there's other various concerns
      • although now I'm forgetting them...
      • jsgf
        acrichto: The predicate needs a separate error, in case it can't make a decision about the item
      • acrichto
        yeah and knowning where the error came from could possible be useful elsewhere
      • aidanhs
        given an assertion in an llvm pass, is there a recommended method for debugging? perhaps there are some previous similar issues which might have suggestions?
      • acrichto
        jsgf: one downside of this approach is that if a sink is ready to receive an item, and another is not ready, then nothing makes progress
      • brinker joined the channel
      • jsgf: whereas the next item may be able to go to the right sink
      • jsgf: but this is something I'm not sure is solvable in general
      • jsgf
        acrichto: which are you referring to as "this" approach: the code I posted, or the pure Sink one?
      • jdm has quit
      • rkruppe
        aidanhs: -C llvm-args=-print-before* will allow you to get the IR that was the input to the faulty pass
      • (that is not the literal option, I just forgot how exactly it's spelled. ask llc -help or something)
      • acrichto
        jsgf: oh "this" in terms of not knowing whether you can dispatch until you have the whole item
      • and otherwise being unable to make progress
      • rkruppe
        aidanhs: huh apparently there is only -print-before-all, nothing targeted at specific passes. oh well, so you'll get a lot more output
      • acrichto
        jsgf: (I think it's an ok restriction imo)
      • jsgf
        @acrichto: You mean that if the next incoming item is for A but A is blocked, then go for the next item for B?
      • oh like streaming cut-through switching?
      • jsgf has quit
      • rkruppe
        aidanhs: once you have that IR it's a matter of minimizing the test case, which the LLVM folks have some tools for I have never worked with, but sometimes it's also possible by hand (if you start with a small enough rust file)
      • aidanhs
        rkruppe: `-C llvm-args="-print-before passname"` seems promising, thanks very much!
      • rkruppe
        ah so that exists? then why did llc not show it to me o.O
      • well, even better
      • nagisa
        llc has a flag to print all the flags :)
      • rkruppe
        -help?
      • or something else?
      • because -help doesn't include that flag
      • imperio|mac has quit
      • brinker has quit
      • arielby has quit
      • rkruppe has quit
      • skeeter1 has quit
      • Noldorin has quit
      • jsgf joined the channel
      • pcwalton joined the channel
      • nagisa
        llc -help-list-hidden
      • rkruppe: ↑
      • brson has quit
      • jsgf has quit
      • jsgf joined the channel
      • eibwen has quit
      • woboats has quit
      • plutoniix joined the channel
      • canaltinova has quit
      • brson joined the channel
      • russ_za|2 joined the channel
      • russ_za has quit
      • KiChjang has quit
      • clementm_ has quit
      • clementm joined the channel
      • cp joined the channel
      • clementm has quit
      • brson has quit
      • brson joined the channel
      • brson_ joined the channel
      • pcwalton has quit
      • brson has quit
      • jsgf has quit
      • SiegeLord joined the channel
      • cynicaldevil has quit
      • brson_ has quit
      • Pierre_M|AFK joined the channel
      • brson joined the channel
      • waffles joined the channel
      • waffles has quit
      • brson has quit
      • zv has quit
      • santiago joined the channel
      • brson joined the channel
      • brson has quit
      • annodomini joined the channel
      • pcwalton joined the channel
      • Ericson2314-Work has quit
      • brson joined the channel
      • russ_za joined the channel
      • russ_za|2 has quit
      • doener has quit
      • brson has quit
      • kimundi has quit
      • kimundi joined the channel