Looping over unique items in bash

The following is useful when you have a list of items and you need to loop through all the unique pairings:

set -- item0 item1 item2
for outer; do
    shift
    for inner; do
        echo "${outer}-${inner}"
    done
done