Lore
Funny snippets of history
Rust
Load bearing build system nop
This is code from the pre-1.0 version of Rust's build system.
Code available here.
# Copy a dylib or rlib
# $(1) is the filename/libname-glob
#
# XXX: Don't remove the $(nop) command below!
# Yeah, that's right, it's voodoo. Something in the way this macro is being expanded
# causes it to parse incorrectly. Throwing in that empty command seems to fix the
# problem. I'm sorry, just don't remove the $(nop), alright?
define PREPARE_LIB
$(nop)
@$(call E, prepare: $(PREPARE_WORKING_DEST_LIB_DIR)/$(1))
$(Q)LIB_NAME="$(notdir $(lastword $(wildcard $(PREPARE_WORKING_SOURCE_LIB_DIR)/$(1))))"; \
MATCHES="$(filter-out %$(notdir $(lastword $(wildcard $(PREPARE_WORKING_SOURCE_LIB_DIR)/$(1)))),\
$(wildcard $(PREPARE_WORKING_DEST_LIB_DIR)/$(1)))"; \
if [ -n "$$MATCHES" ]; then \
echo "warning: one or libraries matching Rust library '$(1)'" && \
echo " (other than '$$LIB_NAME' itself) already present" && \
echo " at destination $(PREPARE_WORKING_DEST_LIB_DIR):" && \
echo $$MATCHES ; \
fi
$(Q)$(PREPARE_LIB_CMD) `ls -drt1 $(PREPARE_WORKING_SOURCE_LIB_DIR)/$(1) | tail -1` $(PREPARE_WORKING_DEST_LIB_DIR)/
endef
Bastion of the TurboFish
Code available here.
// Bastion of the Turbofish // ------------------------ // Beware travellers, lest you venture into waters callous and unforgiving, // where hope must be abandoned, ere it is cruelly torn from you. For here // stands the bastion of the Turbofish: an impenetrable fortress holding // unshaking against those who would dare suggest the supererogation of the // Turbofish. // // Once I was young and foolish and had the impudence to imagine that I could // shake free from the coils by which that creature had us tightly bound. I // dared to suggest that there was a better way: a brighter future, in which // Rustaceans both new and old could be rid of that vile beast. But alas! In // my foolhardiness my ignorance was unveiled and my dreams were dashed // unforgivingly against the rock of syntactic ambiguity. // // This humble program, small and insignificant though it might seem, // demonstrates that to which we had previously cast a blind eye: an ambiguity // in permitting generic arguments to be provided without the consent of the // Great Turbofish. Should you be so naïve as to try to revolt against its // mighty clutches, here shall its wrath be indomitably displayed. This // program must pass for all eternity, fundamentally at odds with an impetuous // rebellion against the Turbofish. // // My heart aches in sorrow, for I know I am defeated. Let this be a warning // to all those who come after. Here stands the bastion of the Turbofish. // See https://github.com/rust-lang/rust/pull/53562 // and https://github.com/rust-lang/rfcs/pull/2527 // for context. fn main() { let (oh, woe, is, me) = ("the", "Turbofish", "remains", "undefeated"); let _: (bool, bool) = (oh<woe, is>(me)); }